.text-tertiary {
  color: var(--color-text-tertiary) !important;
}

.tabular-nums {
  font-variant-numeric: tabular-nums;
}

.ui-spin {
  display: inline-block;
  animation: ui-spin 1s linear infinite;
}

@keyframes ui-spin {
  to { transform: rotate(360deg); }
}

.segmented {
  display: inline-flex;
  max-width: 100%;
  gap: 2px;
  padding: 2px;
  overflow-x: auto;
  scrollbar-width: none;
  background-color: var(--color-fill-secondary);
  border-radius: var(--radius);
}

.segmented::-webkit-scrollbar {
  display: none;
}

.segmented-item {
  display: inline-flex;
  flex: none;
  align-items: center;
  gap: var(--space-xs);
  min-height: calc(var(--control-height) - 4px);
  padding: 0 var(--space-sm);
  color: var(--color-text-secondary);
  white-space: nowrap;
  border-radius: var(--radius-sm);
  transition: color var(--motion-duration-mid) var(--motion-ease-in-out),
              background-color var(--motion-duration-mid) var(--motion-ease-in-out);
}

.segmented-item:hover {
  color: var(--color-text);
  background-color: var(--color-fill-secondary);
}

.segmented-item.active,
.segmented-item[aria-current],
.segmented-item[aria-pressed="true"] {
  color: var(--color-text);
  background-color: var(--color-bg-elevated);
  box-shadow: var(--shadow-tertiary);
}

.segmented-count {
  color: var(--color-text-tertiary);
  font-variant-numeric: tabular-nums;
}

.list-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-xs);
  margin-bottom: var(--space);
}

.list-toolbar-search {
  width: 16rem;
}

.list-toolbar-end {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  margin-inline-start: auto;
}

.list-toolbar-error {
  margin: calc(var(--space-xs) * -1) 0 var(--space);
}

.list-chips {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-xs);
  margin-bottom: var(--space);
}

@media (max-width: 767.98px) {
  .list-toolbar-search {
    flex: 1 1 100%;
    width: auto;
  }
}

.statistic-group {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  background-color: var(--color-border-secondary);
  border-radius: inherit;
}

.statistic {
  padding: var(--space) var(--card-padding);
  background-color: var(--color-bg-container);
}

.statistic-title {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  margin-bottom: var(--space-xxs);
  color: var(--color-text-secondary);
}

.statistic-value {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0 var(--space-xs);
  font-size: var(--font-size-heading-1);
  line-height: var(--line-height-heading-1);
  font-weight: var(--font-weight-strong);
  color: var(--color-text);
  font-variant-numeric: tabular-nums;
}

.statistic-affix {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight);
  color: var(--color-text-secondary);
}

.statistic-trend {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  font-size: var(--font-size);
  font-weight: var(--font-weight);
}

.statistic-trend-up {
  color: var(--color-success-text);
}

.statistic-trend-down {
  color: var(--color-error-text);
}

.statistic-desc {
  margin-top: var(--space-xxs);
  color: var(--color-text-secondary);
}

@media (max-width: 991.98px) {
  .statistic-group {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.plate {
  --plate-height: 22px;
  --plate-band-bg: var(--color-plate-band);
  --plate-band-size: 8px;
  display: inline-flex;
  flex: none;
  align-items: stretch;
  height: var(--plate-height);
  overflow: hidden;
  color: var(--color-text);
  white-space: nowrap;
  vertical-align: middle;
  background-color: var(--color-bg-container);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  font-variant-numeric: tabular-nums;
}

a.plate:hover {
  color: var(--color-text);
  border-color: var(--color-primary-hover);
}

.plate-band {
  display: flex;
  align-items: flex-end;
  padding: 0 3px 2px;
  font-size: var(--plate-band-size);
  font-weight: var(--font-weight-strong);
  line-height: 1;
  color: var(--color-text-light);
  background-color: var(--plate-band-bg);
}

.plate-number {
  display: flex;
  align-items: center;
  padding: 0 var(--space-xs);
  font-weight: var(--font-weight-medium);
  letter-spacing: 0.02em;
}

.plate-lg {
  --plate-height: 32px;
  --plate-band-size: 9px;
}

.plate-lg .plate-band {
  padding: 0 4px 3px;
}

.plate-lg .plate-number {
  padding: 0 var(--space-sm);
  font-size: var(--font-size-xl);
}

.row-actions {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-end;
  gap: var(--space-xxs);
}

@media (hover: hover) and (pointer: fine) {
  .row-actions > :not(.dropdown) {
    opacity: 0;
    transition: opacity var(--motion-duration-fast) var(--motion-ease-out);
  }

  tr:hover .row-actions > *,
  tr:focus-within .row-actions > *,
  .row-actions:has(.show) > * {
    opacity: 1;
  }
}

@media (max-width: 767.98px) {
  .table-cards thead {
    display: none;
  }

  .table-cards,
  .table-cards tbody,
  .table-cards td {
    display: block;
    width: auto;
  }

  .table-cards tbody tr {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: var(--space-sm);
    row-gap: var(--space-xxs);
    padding: var(--space-sm) var(--card-padding);
    border-bottom: 1px solid var(--color-border-secondary);
  }

  .table-cards tbody tr:last-child {
    border-bottom: 0;
  }

  .table-cards.table tr > td:is(:first-child, :last-child, *) {
    padding: 0;
    border: 0;
    box-shadow: none;
    background: transparent;
  }

  .table-cards td:not([data-slot], [data-label]),
  .table-cards td[data-slot="subtitle"],
  .table-cards td[data-slot="actions"] {
    grid-column: 1 / -1;
  }

  .table-cards td[data-slot="title"] {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
  }

  .table-cards td[data-slot="aside"] {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    text-align: end;
  }

  .table-cards td[data-label] {
    display: flex;
    grid-column: 1 / -1;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--space-sm);
    text-align: end;
  }

  .table-cards td[data-label]::before {
    flex: none;
    color: var(--color-text-secondary);
    text-align: start;
    content: attr(data-label);
  }

  .table-cards td[data-slot="actions"] {
    padding-top: var(--space-xxs);
  }

  .table-cards td[data-slot="actions"] .row-actions {
    justify-content: flex-start;
  }

  .table-cards td[data-slot="hide"] {
    display: none;
  }
}

.action-bar {
  display: none;
}

@media (max-width: 991.98px) {
  .action-bar {
    position: fixed;
    inset-inline: 0;
    bottom: 0;
    z-index: var(--z-action-bar);
    display: flex;
    gap: var(--space-xs);
    padding: var(--space-xs) var(--page-gutter) calc(var(--space-xs) + env(safe-area-inset-bottom));
    background-color: var(--color-bg-container);
    box-shadow: var(--shadow-up);
  }

  .action-bar > .btn,
  .action-bar > form,
  .action-bar > span {
    display: flex;
    flex: 1 1 0;
    min-width: 0;
  }

  .action-bar .btn {
    min-height: var(--touch-target);
  }

  .action-bar > form > .btn,
  .action-bar > span > .btn {
    flex: 1 1 0;
    width: 100%;
  }

  .action-bar > .dropup {
    flex: none;
  }

  .action-bar > .dropup > .btn {
    min-width: var(--touch-target);
  }

  .page-wrapper:has(.action-bar) {
    padding-bottom: calc(var(--action-bar-height) + var(--page-top));
    scroll-padding-bottom: var(--action-bar-height);
  }
}

.form-actions {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  margin-top: var(--space-lg);
  padding-top: var(--space);
  border-top: 1px solid var(--color-border-secondary);
}

.form-actions-end {
  display: flex;
  gap: var(--space-xs);
  margin-inline-start: auto;
}

@media (max-width: 991.98px) {
  .form-actions {
    position: sticky;
    bottom: 0;
    z-index: var(--z-action-bar);
    margin-inline: calc(var(--page-gutter) * -1);
    padding: var(--space-xs) var(--page-gutter) calc(var(--space-xs) + env(safe-area-inset-bottom));
    background-color: var(--color-bg-container);
    border-top: 0;
    box-shadow: var(--shadow-up);
  }

  .form-actions-note {
    display: none;
  }

  .form-actions-end {
    flex: 1;
    margin-inline-start: 0;
  }

  .form-actions-end > .btn {
    flex: 1 1 0;
    min-height: var(--touch-target);
  }
}

@media (max-width: 767.98px) {
  .offcanvas-end.offcanvas-sheet-sm {
    top: auto;
    right: 0;
    left: 0;
    width: 100%;
    height: auto;
    max-height: 90dvh;
    padding-bottom: env(safe-area-inset-bottom);
    border-left: 0;
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
    box-shadow: var(--shadow-up);
    transform: translateY(100%);
  }

  .offcanvas-end.offcanvas-full-sm {
    top: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    padding-top: env(safe-area-inset-top);
    padding-bottom: env(safe-area-inset-bottom);
    border-left: 0;
    border-radius: 0;
    box-shadow: none;
  }

  .offcanvas-full-sm .offcanvas-footer {
    position: sticky;
    bottom: 0;
    background-color: var(--color-bg-container);
    box-shadow: var(--shadow-up);
  }
}

.offcanvas-head {
  padding: var(--space-xs) var(--space-lg) var(--space-sm);
  border-bottom: 1px solid var(--color-border-secondary);
}

.offcanvas-footer {
  display: flex;
  gap: var(--space-xs);
  justify-content: flex-end;
  padding: var(--space-sm) var(--space-lg);
  border-top: 1px solid var(--color-border-secondary);
}

@media (max-width: 767.98px) {
  .offcanvas-footer > .btn {
    flex: 1 1 0;
    min-height: var(--touch-target);
  }
}

.popconfirm {
  width: 18rem;
  padding: var(--space-sm);
}

.popconfirm-title {
  display: flex;
  gap: var(--space-xs);
  font-weight: var(--font-weight-strong);
  color: var(--color-text);
  white-space: normal;
}

.popconfirm-title .ti {
  flex: none;
  color: var(--color-warning);
  font-size: var(--font-size-lg);
  line-height: var(--control-line-height);
}

.popconfirm-description {
  margin: var(--space-xxs) 0 0 calc(var(--font-size-lg) + var(--space-xs));
  color: var(--color-text-secondary);
  white-space: normal;
}

.popconfirm-actions {
  display: flex;
  justify-content: flex-end;
  gap: var(--space-xs);
  margin-top: var(--space-sm);
}

.toast-message {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--tblr-toast-padding-y) var(--tblr-toast-padding-x);
  width: max-content;
  margin-inline: auto;
}

.toast-message > .ti {
  flex: none;
  font-size: var(--font-size-lg);
}

.toast-message .btn-link {
  margin-inline-start: var(--space-xs);
}

.skip-link:focus {
  position: fixed;
  top: var(--space-xs);
  left: var(--space-xs);
  z-index: 2000;
  padding: var(--space-xs) var(--space-sm);
  background-color: var(--color-bg-container);
  border-radius: var(--radius);
  box-shadow: var(--shadow-popup);
}

.meta-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-xxs) 0;
  margin: 0;
  padding: 0;
  list-style: none;
  color: var(--color-text-secondary);
}

.meta-list > li {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xxs);
}

.meta-list > li + li::before {
  margin: 0 var(--space-xs);
  color: var(--color-text-tertiary);
  content: "·";
}

.object-header {
  margin-bottom: var(--space);
}

.object-header-top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-xs) var(--space-sm);
}

.object-header-identity {
  display: flex;
  flex: 1 1 auto;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-xs) var(--space-sm);
  min-width: 0;
}

.object-header-title {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-sm);
  margin: 0;
  font-size: var(--font-size-heading-2);
  line-height: var(--line-height-heading-2);
}

.object-header-states {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xxs) var(--space);
}

.object-header-actions {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  margin-inline-start: auto;
}

.object-header-subtitle {
  margin: var(--space-xxs) 0 0;
  color: var(--color-text-secondary);
}

.object-header .meta-list {
  margin-top: var(--space-xs);
  color: var(--color-text);
}

.object-header .blockers {
  margin-top: var(--space-sm);
}

.blockers {
  display: grid;
  gap: var(--space-xs);
}

.blockers .alert {
  align-items: center;
  margin: 0;
}

.blockers .alert > :last-child:not(:nth-child(2)) {
  margin-inline-start: auto;
}

.section-nav {
  position: sticky;
  top: var(--topbar-height);
  z-index: 1010;
  display: flex;
  gap: var(--space-lg);
  margin: 0 calc(var(--page-gutter) * -1) var(--space);
  padding: 0 var(--page-gutter);
  overflow-x: auto;
  scrollbar-width: none;
  background-color: var(--color-bg-layout);
  border-bottom: 1px solid var(--color-border-secondary);
}

.section-nav::-webkit-scrollbar {
  display: none;
}

.section-nav-link {
  display: inline-flex;
  flex: none;
  align-items: center;
  gap: var(--space-xxs);
  margin-bottom: -1px;
  padding: var(--space-sm) 0;
  font-weight: var(--font-weight-medium);
  color: var(--color-text-secondary);
  white-space: nowrap;
  border-bottom: 2px solid transparent;
}

.section-nav-link:hover {
  color: var(--color-text);
}

.section-nav-link.active,
.section-nav-link[aria-current] {
  color: var(--color-text);
  border-bottom-color: var(--color-primary);
}

.section {
  scroll-margin-top: calc(var(--topbar-height) + var(--control-height) + var(--space-xl));
}

.section + .section {
  margin-top: var(--space);
}

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

.checklist-item {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  min-height: var(--control-height);
  padding: var(--space-xxs) 0;
}

.checklist-item + .checklist-item {
  border-top: 1px solid var(--color-border-secondary);
}

.checklist-icon {
  flex: none;
  font-size: var(--font-size-lg);
  color: var(--color-text-tertiary);
}

.checklist-item[data-state="done"] .checklist-icon {
  color: var(--color-success);
}

.checklist-item[data-state="blocked"] .checklist-icon {
  color: var(--color-error);
}

.checklist-item[data-state="warning"] .checklist-icon,
.checklist-item[data-state="todo"] .checklist-icon {
  color: var(--color-warning);
}

.checklist-item[data-state="info"] {
  color: var(--color-text-secondary);
}

.checklist-text {
  flex: 1;
  min-width: 0;
}

@media (min-width: 992px) {
  .summary-panel {
    position: sticky;
    top: calc(var(--topbar-height) + var(--space-lg));
  }
}

.summary-strip {
  display: flex;
  gap: var(--space-xs);
  margin-bottom: var(--space);
  overflow-x: auto;
  scrollbar-width: none;
}

.summary-strip::-webkit-scrollbar {
  display: none;
}

.summary-strip-item {
  display: inline-flex;
  flex: none;
  align-items: baseline;
  gap: var(--space-xs);
  padding: var(--space-xs) var(--space-sm);
  color: var(--color-text-secondary);
  white-space: nowrap;
  background-color: var(--color-bg-container);
  border: 1px solid var(--color-border-secondary);
  border-radius: var(--radius-lg);
}

a.summary-strip-item:hover {
  color: var(--color-text);
  border-color: var(--color-primary-border);
}

.summary-strip-value {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-strong);
  color: var(--color-text);
  font-variant-numeric: tabular-nums;
}

.summary-strip-item[data-tone="red"] .summary-strip-value {
  color: var(--color-error-text);
}

.summary-strip-item[data-tone="yellow"] .summary-strip-value {
  color: var(--color-warning-text);
}

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

.timeline-list-item {
  position: relative;
  padding: 0 0 var(--space) var(--space-lg);
}

.timeline-list-item::before {
  position: absolute;
  top: 12px;
  bottom: -4px;
  left: 3px;
  border-left: 1px solid var(--color-border-secondary);
  content: "";
}

.timeline-list-item:last-child {
  padding-bottom: 0;
}

.timeline-list-item:last-child::before {
  display: none;
}

.timeline-list-item > .status {
  position: absolute;
  top: 0;
  left: 0;
}

.timeline-list-meta {
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
  color: var(--color-text-secondary);
}

.amount-summary {
  margin: 0;
}

.amount-summary-row {
  display: flex;
  justify-content: space-between;
  gap: var(--space);
  padding: var(--space-xxs) 0;
  font-variant-numeric: tabular-nums;
}

.amount-summary-row dt {
  font-weight: var(--font-weight);
  color: var(--color-text-secondary);
}

.amount-summary-row dd {
  margin: 0;
  text-align: end;
}

.amount-summary-total {
  margin-top: var(--space-xxs);
  padding-top: var(--space-xs);
  font-size: var(--font-size-lg);
  border-top: 1px solid var(--color-border-secondary);
}

.amount-summary-total dt,
.amount-summary-total dd {
  font-weight: var(--font-weight-strong);
  color: var(--color-text);
}

.payment-line {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
  align-items: start;
  gap: var(--space-xs);
}

.payment-line + .payment-line {
  margin-top: var(--space-xs);
}

.offcanvas-end {
  --tblr-offcanvas-width: min(640px, 92vw);
}

@media (min-width: 768px) {
  .offcanvas-end.offcanvas-wide {
    --tblr-offcanvas-width: min(960px, 92vw);
  }
}

.offcanvas-context {
  margin-top: 2px;
  color: var(--color-text-secondary);
}

.offcanvas-form {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
}

.offcanvas-form > .offcanvas-body {
  flex: 1 1 auto;
  overflow-y: auto;
}

.form-section + .form-section {
  margin-top: var(--space-lg);
  padding-top: var(--space-lg);
  border-top: 1px solid var(--color-border-secondary);
}

.form-section-title {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  margin: 0 0 var(--space-sm);
  font-size: var(--font-size);
  font-weight: var(--font-weight-strong);
  line-height: var(--line-height);
}

.form-section-number {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  font-size: var(--font-size-sm);
  color: var(--color-primary-text);
  background-color: var(--color-primary-bg);
  border-radius: var(--radius-full);
}

[aria-busy="true"]:not(.btn) {
  opacity: 0.6;
  transition: opacity var(--motion-duration-mid) var(--motion-ease-in-out);
}

.picker {
  position: relative;
}

.picker-results {
  position: absolute;
  inset-inline: 0;
  top: calc(100% + var(--space-xxs));
  z-index: 1030;
  max-height: 20rem;
  overflow-y: auto;
  background-color: var(--color-bg-elevated);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-popup);
}

.live-steps {
  display: grid;
  gap: var(--space-sm);
}

.live-step {
  display: grid;
  grid-template-columns: 9rem minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-xs) var(--space-sm);
}

.live-step-label {
  color: var(--color-text-secondary);
}

@media (max-width: 767.98px) {
  .live-step {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .live-step-label {
    grid-column: 1 / -1;
  }
}

.text-money {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.dl-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr));
  gap: var(--space) var(--space-lg);
  margin: 0;
}

.dl-grid > div {
  min-width: 0;
}

.dl-grid dt {
  margin-bottom: 2px;
  font-weight: var(--font-weight);
  color: var(--color-text-secondary);
}

.dl-grid dd {
  margin: 0;
  overflow-wrap: anywhere;
  font-variant-numeric: tabular-nums;
}

.subsection + .subsection {
  margin-top: var(--space-lg);
  padding-top: var(--space-lg);
  border-top: 1px solid var(--color-border-secondary);
}

.subsection-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  margin-bottom: var(--space-sm);
}

.subsection-title {
  margin: 0;
  font-size: var(--font-size);
  font-weight: var(--font-weight-strong);
}

@media print {
  .page-body {
    margin: 0;
  }

  .print-sheet .card {
    border: 0;
  }
}

.form-suggest {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-xxs) var(--space-xs);
  margin-top: var(--space-xxs);
  color: var(--color-text-secondary);
  font-variant-numeric: tabular-nums;
}

.form-suggest .btn-link {
  padding: 0;
  line-height: var(--line-height);
}

.form-suggest .btn-link[aria-pressed="true"] {
  color: var(--color-success-text);
  pointer-events: none;
}

.masked {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 var(--space-xs);
  font-variant-numeric: tabular-nums;
}

.masked .btn-link {
  padding: 0;
  line-height: var(--line-height);
}

.dl-grid-1 {
  grid-template-columns: minmax(0, 1fr);
}

.dl-grid dd .btn-icon {
  --tblr-btn-padding-y: 0px;
  height: var(--control-height-sm);
  min-width: var(--control-height-sm);
  vertical-align: middle;
  margin-inline-start: var(--space-xxs);
}

.dl-grid-sub {
  display: block;
  color: var(--color-text-secondary);
}

.result {
  padding: var(--space-xl) var(--space);
}

.result .empty-icon {
  font-size: var(--font-size-heading-1);
}

.result-rows {
  max-width: 11rem;
  margin: 0 auto var(--space-lg);
  text-align: start;
}

.result-rows .checklist-item {
  min-height: 0;
  padding: var(--space-xxs) 0;
}

.result-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-xxs) var(--space);
  margin-top: var(--space-sm);
}

.result-links .btn-link {
  padding: 0;
}

@media (max-width: 767.98px) {
  .result .empty-action {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    max-width: 28rem;
    margin-inline: auto;
  }

  .result .empty-action > .btn,
  .result .empty-action > form,
  .result .empty-action > span,
  .result .empty-action > form > .btn,
  .result .empty-action > span > .btn {
    display: flex;
    justify-content: center;
    width: 100%;
    min-height: var(--touch-target);
  }
}

.flow-steps {
  position: sticky;
  top: 0;
  z-index: 2;
  margin: calc(var(--space) * -1) calc(var(--space-lg) * -1) var(--space);
  padding: var(--space-sm) var(--space-lg);
  background-color: var(--color-bg-container);
  border-bottom: 1px solid var(--color-border-secondary);
}

.flow-steps .steps {
  margin: 0;
}

.flow-step + .flow-step {
  margin-top: var(--space);
  padding-top: var(--space);
  border-top: 1px solid var(--color-border-secondary);
}

.flow-step-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-xxs) var(--space-sm);
  min-height: var(--control-height);
}

.flow-step-title {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  margin: 0;
  font-size: var(--font-size);
  font-weight: var(--font-weight-strong);
  line-height: var(--line-height);
}

.flow-step-number {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  background-color: var(--color-fill-secondary);
  border-radius: var(--radius-full);
}

.flow-step[data-state="current"] .flow-step-number {
  color: var(--color-text-light);
  background-color: var(--color-primary);
}

.flow-step[data-state="done"] .flow-step-number {
  color: var(--color-success-text);
  background-color: var(--color-success-bg);
}

.flow-step-summary {
  flex: 1 1 auto;
  min-width: 0;
  color: var(--color-text-secondary);
  overflow-wrap: anywhere;
  font-variant-numeric: tabular-nums;
}

.flow-step-edit {
  margin-inline-start: auto;
}

.flow-step-body {
  margin-top: var(--space-sm);
}

.flow-ready .flow-step[data-state="todo"] .flow-step-body,
.flow-ready .flow-step[data-state="done"] .flow-step-body,
.flow-ready .flow-step[data-state="todo"] .flow-step-summary,
.flow-ready .flow-step[data-state="current"] .flow-step-summary,
.flow-ready .flow-step[data-state="todo"] .flow-step-edit,
.flow-ready .flow-step[data-state="current"] .flow-step-edit,
.flow-step-summary:empty {
  display: none;
}

.flow-ready .flow-step[data-state="todo"] .flow-step-title {
  color: var(--color-text-tertiary);
}

.flow-nav {
  display: none;
}

.flow-ready .flow-nav {
  display: inline-flex;
}

.flow-ready .flow-nav[hidden],
.flow-ready .flow-submit[hidden] {
  display: none;
}

.offcanvas-footer .flow-cancel {
  margin-inline-end: auto;
}

@media (max-width: 767.98px) {
  .flow-steps {
    margin-inline: calc(var(--space) * -1);
    padding-inline: var(--space);
  }

  .offcanvas-footer .flow-cancel {
    margin-inline-end: 0;
  }
}

.fuel {
  display: flex;
  align-items: stretch;
  gap: 3px;
  max-width: 24rem;
}

.fuel-seg {
  position: relative;
  flex: 1 1 0;
  min-width: 0;
  margin: 0;
  cursor: pointer;
}

.fuel-seg-empty {
  flex: 0 0 auto;
  width: 2.25rem;
}

.fuel-seg input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

.fuel-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  height: var(--control-height);
  font-size: var(--font-size-sm);
  color: var(--color-text-tertiary);
  background-color: var(--color-fill-tertiary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  transition: background-color var(--motion-duration-fast) var(--motion-ease-out),
              border-color var(--motion-duration-fast) var(--motion-ease-out);
}

.fuel-seg:hover .fuel-bar {
  border-color: var(--color-primary-hover);
}

.fuel-seg input:focus-visible + .fuel-bar {
  box-shadow: var(--focus-outline);
}

.fuel-seg input:checked + .fuel-bar,
.fuel-seg:has(~ .fuel-seg input:checked) .fuel-bar {
  color: var(--color-text-light);
  background-color: var(--color-primary);
  border-color: var(--color-primary);
}

.fuel-seg-empty input:checked + .fuel-bar {
  color: var(--color-text);
  background-color: var(--color-bg-container);
  border-color: var(--color-primary);
}

.fuel-seg input:disabled + .fuel-bar {
  cursor: not-allowed;
  opacity: 0.6;
}

.fuel.is-invalid .fuel-bar {
  border-color: var(--color-error);
}

.fuel-ref {
  position: absolute;
  inset-inline: 0;
  top: calc(100% + 2px);
  height: 3px;
  background-color: var(--color-warning);
  border-radius: var(--radius-full);
}

.fuel-meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xxs) var(--space-sm);
  margin-top: var(--space-xs);
  color: var(--color-text-secondary);
  font-variant-numeric: tabular-nums;
}

.fuel-meta .fuel-value {
  color: var(--color-text);
  font-weight: var(--font-weight-strong);
}

.fuel-ref-text::before {
  display: inline-block;
  width: 10px;
  height: 3px;
  margin-inline-end: var(--space-xxs);
  vertical-align: middle;
  content: "";
  background-color: var(--color-warning);
  border-radius: var(--radius-full);
}

@media (pointer: coarse) {
  .fuel-bar {
    height: var(--touch-target);
  }
}

.collapse-section {
  border: 1px solid var(--color-border-secondary);
  border-radius: var(--radius-lg);
}

.collapse-section + .collapse-section {
  margin-top: var(--space-xs);
}

.collapse-section > summary {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  min-height: var(--touch-target);
  padding: var(--space-xs) var(--space);
  list-style: none;
  cursor: pointer;
  border-radius: var(--radius-lg);
}

.collapse-section > summary::-webkit-details-marker {
  display: none;
}

.collapse-section > summary:hover {
  background-color: var(--color-fill-quaternary);
}

.collapse-section > summary:focus-visible {
  outline: 0;
  box-shadow: var(--focus-outline);
}

.collapse-section > summary .ti {
  flex: none;
  color: var(--color-text-tertiary);
  transition: transform var(--motion-duration-mid) var(--motion-ease-in-out);
}

.collapse-section[open] > summary .ti {
  transform: rotate(90deg);
}

.collapse-section-title {
  font-weight: var(--font-weight-strong);
}

.collapse-section-summary {
  color: var(--color-text-secondary);
}

.collapse-section-count {
  margin-inline-start: auto;
  color: var(--color-text-secondary);
  font-variant-numeric: tabular-nums;
}

.collapse-section-body {
  padding: var(--space-xs) var(--space) var(--space);
}

.tag-group-set + .tag-group-set {
  margin-top: var(--space-sm);
}

.tag-group-label {
  margin-bottom: var(--space-xs);
  color: var(--color-text-secondary);
}

.tag-group-set[data-tone="negative"] .form-selectgroup-input:checked + .form-selectgroup-label {
  color: var(--color-error-text);
  background-color: var(--color-error-bg);
  border-color: var(--color-error);
}

.tag-group-set[data-tone="positive"] .form-selectgroup-input:checked + .form-selectgroup-label {
  color: var(--color-success-text);
  background-color: var(--color-success-bg);
  border-color: var(--color-success);
}

.tag-group .form-selectgroup-pills .form-selectgroup-label {
  min-height: var(--control-height);
  border-radius: var(--radius-full);
}

.tag-group-note {
  margin-top: var(--space-sm);
}

.photos-ready .photos-input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.photos-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(5.5rem, 1fr));
  gap: var(--space-xs);
  margin-top: var(--space-xs);
}

.photos-grid:empty {
  display: none;
}

.photos-item {
  position: relative;
  aspect-ratio: 1;
  overflow: hidden;
  background-color: var(--color-fill-tertiary);
  border-radius: var(--radius);
}

.photos-item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.photos-item .btn {
  position: absolute;
  top: var(--space-xxs);
  right: var(--space-xxs);
  --tblr-btn-bg: var(--color-bg-container);
  --tblr-btn-color: var(--color-text);
  --tblr-btn-border-color: transparent;
  box-shadow: var(--shadow-tertiary);
}

.photos-caption {
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  padding: 2px var(--space-xxs);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
  color: var(--color-text-light);
  background-color: var(--color-bg-mask);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.photos-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-xxs) var(--space-sm);
  margin-top: var(--space-xs);
  color: var(--color-text-secondary);
}

.photos-meta[data-over="true"] {
  color: var(--color-error-text);
}

.override {
  padding: var(--space-sm) var(--space);
  background-color: var(--color-warning-bg);
  border: 1px solid var(--color-warning-border);
  border-radius: var(--radius-lg);
}

.override-head {
  display: flex;
  align-items: flex-start;
  gap: var(--space-xs);
}

.override-head .ti {
  flex: none;
  font-size: var(--font-size-lg);
  line-height: var(--control-line-height);
  color: var(--color-warning);
}

.override-title {
  font-weight: var(--font-weight-strong);
}

.override-text {
  color: var(--color-text-secondary);
}

.override-body {
  margin-top: var(--space-xs);
}

.override-locked {
  color: var(--color-text-secondary);
}

.override-locked .ti {
  color: var(--color-text-tertiary);
}

.amount-summary-row {
  align-items: baseline;
}

.amount-summary-row dt {
  flex: 1 1 auto;
  min-width: 0;
}

.amount-summary-row dd {
  flex: none;
}

.amount-summary-qty,
.amount-summary-note {
  display: block;
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
  color: var(--color-text-tertiary);
}

.amount-summary-row .input-group {
  width: 9rem;
  margin-inline-start: auto;
}

.amount-summary-row .form-control {
  text-align: end;
}

.amount-summary-row .form-selectgroup {
  justify-content: flex-end;
}

.amount-summary-row .form-selectgroup-label {
  min-height: var(--control-height-sm);
  padding-inline: var(--space-xs);
  font-size: var(--font-size-sm);
  border-radius: var(--radius-sm);
}

.amount-summary-reason {
  padding: 0 0 var(--space-xs);
}

.amount-summary-reason .form-control {
  text-align: start;
}

.amount-summary-locked {
  color: var(--color-text-tertiary);
}

.amount-summary-subtotal {
  margin-top: var(--space-xxs);
  padding-top: var(--space-xs);
  border-top: 1px dashed var(--color-border-secondary);
}

.amount-summary-total dd {
  font-size: var(--font-size-lg);
}

@media (max-width: 575.98px) {
  .amount-summary-row .input-group {
    width: 8rem;
  }
}

.payment-remaining {
  display: flex;
  justify-content: space-between;
  gap: var(--space);
  margin-top: var(--space-sm);
  padding-top: var(--space-xs);
  font-variant-numeric: tabular-nums;
  border-top: 1px solid var(--color-border-secondary);
}

.payment-remaining strong {
  font-weight: var(--font-weight-strong);
}

.payment-remaining[data-state="over"] strong {
  color: var(--color-error-text);
}

.payment-remaining[data-state="due"] strong {
  color: var(--color-warning-text);
}

.payment-remaining[data-state="zero"] strong {
  color: var(--color-success-text);
}

.payment-extra {
  margin-top: var(--space-sm);
}

.payment-extra + .payment-extra {
  margin-top: var(--space-xs);
}

.payment-deposit {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: var(--space-xs);
  margin-top: var(--space-sm);
  padding-top: var(--space-sm);
  border-top: 1px solid var(--color-border-secondary);
}

.payment-deposit-label {
  color: var(--color-text-secondary);
}

.payment-deposit-label strong {
  color: var(--color-text);
  font-variant-numeric: tabular-nums;
}

.fuel-seg-empty:has(~ .fuel-seg input:checked) .fuel-bar {
  color: var(--color-text-tertiary);
  background-color: var(--color-fill-tertiary);
  border-color: var(--color-border);
}

.payment-line-note {
  grid-column: 1 / -1;
}

.list-range {
  width: 18rem;
  padding: var(--space-sm);
}

.list-range-title {
  margin: 0 0 var(--space-sm);
  font-weight: var(--font-weight-medium);
}

.list-range .form-control {
  margin-bottom: var(--space-sm);
}

.list-range-actions {
  display: flex;
  justify-content: flex-end;
  gap: var(--space-xs);
}

.photo-strip {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(8rem, 1fr));
  gap: var(--space-xs);
}

.photo-strip-item {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background-color: var(--color-fill-tertiary);
  border-radius: var(--radius);
}

.photo-strip-item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.photo-strip-badge {
  position: absolute;
  bottom: var(--space-xxs);
  left: var(--space-xxs);
}

.photo-strip-actions {
  position: absolute;
  top: var(--space-xxs);
  right: var(--space-xxs);
}

.photo-strip-actions .btn {
  --tblr-btn-bg: var(--color-bg-container);
  box-shadow: var(--shadow-tertiary);
}

.meta-list > li > span > .ti,
.meta-list > li > a > .ti {
  margin-inline-end: var(--space-xxs);
}

.picker-results:not([hidden]) + .picker-create {
  display: none;
}

.print-page {
  background-color: var(--color-bg-layout);
}

.print-sheet {
  max-width: 52rem;
  margin: 0 auto;
  padding: var(--space-lg) var(--page-gutter);
  background-color: var(--color-bg-container);
}

.print-head {
  display: flex;
  justify-content: space-between;
  gap: var(--space);
  padding-bottom: var(--space);
  margin-bottom: var(--space);
  border-bottom: 1px solid var(--color-border-secondary);
}

.print-title {
  margin: var(--space-xxs) 0 0;
  font-size: var(--font-size-heading-3);
}

.print-section {
  margin-bottom: var(--space-lg);
}

.print-section-title {
  margin-bottom: var(--space-sm);
  font-size: var(--font-size-lg);
}

.print-signatures {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-xl);
  margin-top: var(--space-xl);
}

.print-signature {
  min-height: 6rem;
  padding-top: var(--space-xs);
  border-top: 1px solid var(--color-border);
}

@media print {
  .print-page {
    background-color: transparent;
  }

  .print-sheet {
    max-width: none;
    padding: 0;
  }
}

.app {
  display: flex;
  min-height: 100vh;
  min-height: 100dvh;
}

.app-sidebar-inner {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  background-color: var(--color-bg-sidebar);
  --color-text: var(--color-text-sidebar-strong);
  --color-text-secondary: var(--color-text-sidebar);
  --color-text-tertiary: var(--color-text-sidebar-muted);
  --color-nav-text: var(--color-text-sidebar);
  --color-fill-secondary: var(--color-fill-sidebar);
  --focus-outline: 0 0 0 2px var(--color-bg-sidebar), 0 0 0 4px var(--color-primary-border);
}

.app-sidebar-brand {
  display: flex;
  flex: none;
  align-items: center;
  justify-content: space-between;
  height: var(--head-height);
  padding-inline: calc(var(--sidebar-padding) + var(--nav-item-padding) + 4px) var(--sidebar-padding);
  border-bottom: 1px solid var(--color-border-sidebar);
}

.app-sidebar-logo {
  display: block;
}

.app-sidebar-logo:focus-visible {
  outline: 0;
  box-shadow: var(--focus-outline);
}

.app-sidebar-brand img {
  display: block;
  height: 23px;
  width: auto;
}

.app-nav-link[aria-current="page"] {
  font-weight: var(--font-weight-strong);
  color: var(--color-text-sidebar-strong);
  background-color: var(--color-fill-sidebar-active);
}

.app-nav-link[aria-current="page"]::before {
  content: "";
  position: absolute;
  inset-block-start: 10px;
  inset-inline-start: 0;
  width: 6px;
  height: 14px;
  background-color: var(--color-primary);
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}

.app-nav-link[aria-current="page"] > .ti {
  color: var(--color-primary);
}

@media (min-width: 992px) {
  .app-sidebar {
    position: sticky;
    top: 0;
    flex: none;
    width: calc(var(--sidebar-width) + 1px);
    height: 100vh;
    height: 100dvh;
    border-right: 1px solid var(--color-border-sidebar);
  }
}

@media (max-width: 991.98px) {
  .app-sidebar {
    --tblr-offcanvas-width: min(var(--sidebar-width), 85vw);
  }

  .app-sidebar-inner {
    padding-top: calc(var(--space-sm) + env(safe-area-inset-top));
    padding-bottom: calc(var(--space-sm) + env(safe-area-inset-bottom));
  }
}

.app-avatar {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: var(--avatar-size);
  height: var(--avatar-size);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  line-height: 1;
  color: var(--color-text-light);
  background-color: var(--color-avatar);
  border-radius: var(--radius-full);
}

.app-avatar-square {
  border-radius: var(--radius-sm);
}

.app-search {
  display: flex;
  flex: none;
  align-items: center;
  gap: var(--space-xs);
  height: var(--control-height-sm);
  margin: var(--space) var(--sidebar-padding) 0;
  padding-inline: var(--space-sm) var(--space-xs);
  color: var(--color-text-sidebar);
  background-color: var(--color-fill-sidebar);
  border: 1px solid transparent;
  border-radius: var(--radius);
  transition: border-color var(--motion-duration-mid) var(--motion-ease-in-out),
              box-shadow var(--motion-duration-mid) var(--motion-ease-in-out);
}

.app-search:focus-within {
  border-color: var(--color-primary);
  box-shadow: var(--focus-ring);
}

.app-search > .ti {
  font-size: var(--font-size-lg);
}

.app-search-input {
  flex: 1;
  min-width: 0;
  height: 100%;
  padding: 0;
  font-size: var(--font-size-input);
  color: var(--color-text);
  background: transparent;
  border: 0;
  outline: 0;
}

.app-search-input::placeholder {
  color: var(--color-text-secondary);
}

.app-kbd {
  padding: 0 var(--space-xs);
  font-family: inherit;
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight);
  line-height: var(--control-line-height);
  color: var(--color-text-secondary);
  background-color: var(--color-fill-secondary);
  border: 0;
  border-radius: var(--radius-sm);
  box-shadow: none;
}

@media (pointer: coarse) {
  .app-kbd {
    display: none;
  }
}

.app-nav {
  margin: 0;
  padding-inline: var(--sidebar-padding);
}

.app-nav-main {
  flex: 1 1 auto;
  min-height: 0;
  padding-block: var(--space) var(--space-sm);
  overflow-y: auto;
  scrollbar-width: none;
}

.app-nav-main::-webkit-scrollbar {
  display: none;
}

.app-nav-foot {
  flex: none;
  padding-block: var(--space-sm);
  border-top: 1px solid var(--color-border-sidebar);
}

.app-nav-title {
  margin: var(--space-md) 0 var(--space-xs);
  padding-inline: calc(var(--nav-item-padding) + 4px);
  font-family: var(--font-family-display);
  font-size: 11px;
  font-weight: var(--font-weight-strong);
  line-height: 16px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-text-tertiary);
}

.app-nav-main > .app-nav-list:first-child {
  margin-top: 0;
}

.app-nav-list {
  display: grid;
  gap: var(--nav-item-gap);
  margin: 0;
  padding: 0;
  list-style: none;
}

.app-nav-link {
  position: relative;
  display: flex;
  align-items: center;
  gap: var(--nav-item-padding);
  height: var(--nav-item-height);
  padding-inline: calc(var(--nav-item-padding) + 4px);
  color: var(--color-nav-text);
  border-radius: var(--radius);
  transition: background-color var(--motion-duration-fast) var(--motion-ease-in-out),
              color var(--motion-duration-fast) var(--motion-ease-in-out);
}

.app-nav-link > .ti {
  flex: none;
  font-size: var(--icon-size);
}

.app-nav-link:hover {
  color: var(--color-text-sidebar-strong);
  background-color: var(--color-fill-sidebar-hover);
}

.app-nav-link:focus-visible,
.app-user:focus-visible {
  outline: 0;
  box-shadow: var(--focus-outline);
}

.app-nav-label {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-main {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-width: 0;
}

.app-topbar {
  position: sticky;
  top: 0;
  z-index: var(--z-topbar);
  display: flex;
  flex: none;
  align-items: center;
  gap: var(--space-xs);
  height: var(--topbar-height);
  padding-inline: var(--topbar-padding);
  background-color: var(--color-bg-container);
  border-bottom: 1px solid var(--color-border-secondary);
}

.app-crumbs {
  flex: 1;
  min-width: 0;
}

.app-crumbs ol {
  display: flex;
  align-items: center;
  min-width: 0;
  margin: 0;
  padding: 0;
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-strong);
  color: var(--color-text);
  list-style: none;
}

.app-crumbs li {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-crumbs li + li::before {
  content: "/";
  margin-inline: var(--space-sm);
  font-weight: var(--font-weight);
  color: var(--color-border);
}

.app-crumbs-parent {
  flex: none;
}

.app-crumbs a {
  color: var(--color-text);
}

.app-crumbs a:hover {
  color: var(--color-text-secondary);
}

.app-topbar-tools {
  display: flex;
  flex: none;
  align-items: center;
  gap: var(--space-sm);
  margin-inline-start: auto;
}

.app-topbar-icon {
  --tblr-btn-color: var(--color-text-secondary);
  width: var(--nav-item-height);
  height: var(--nav-item-height);
}

.app-topbar-icon .ti {
  font-size: var(--icon-size-lg);
}

.app-user {
  display: inline-flex;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: var(--radius-full);
}

.app-user-card {
  display: grid;
  padding: var(--space-xs) var(--space-sm);
}

.app-user-name {
  font-weight: var(--font-weight-medium);
}

.app-user-meta {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
}

@media (max-width: 991.98px) {
  .app-crumbs-parent {
    display: none;
  }

  .app-crumbs .app-crumbs-parent + li::before {
    content: none;
  }
}

.app-crumbs li.app-crumbs-view {
  flex: none;
  overflow: visible;
}

.app-view-toggle {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  height: var(--control-height-sm);
  margin-inline-start: calc(var(--space-xs) * -1);
  padding-inline: var(--space-xs);
  font-weight: var(--font-weight-medium);
  color: var(--color-text);
  background: transparent;
  border: 0;
  border-radius: var(--radius);
}

.app-view-toggle:hover,
.app-view-toggle[aria-expanded="true"] {
  background-color: var(--color-fill-secondary);
}

.app-view-toggle:focus-visible {
  outline: 0;
  box-shadow: var(--focus-outline);
}

.app-view-toggle .ti {
  font-size: var(--icon-size);
  color: var(--color-text-secondary);
}

.app-view-count {
  font-weight: var(--font-weight);
  color: var(--color-text-tertiary);
  font-variant-numeric: tabular-nums;
}

.dropdown-item .app-view-count {
  margin-inline-start: auto;
  padding-inline-start: var(--space-lg);
}

.btn-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: var(--space-md);
  height: var(--space-md);
  padding-inline: var(--space-xxs);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  line-height: 1;
  color: var(--color-text);
  background-color: var(--color-fill-secondary);
  border-radius: var(--radius-xs);
  font-variant-numeric: tabular-nums;
}

.btn.btn-selected {
  --tblr-btn-bg: var(--color-fill-secondary);
  --tblr-btn-hover-bg: var(--color-fill);
}

.list-surface .table {
  font-size: 13px;
  line-height: 20px;
}

.list-surface .table thead th {
  border-bottom: 1px solid var(--color-border-secondary);
}

.list-surface .card-table tr > :first-child {
  padding-inline-start: var(--table-cell-px);
}

.list-surface .card-table tr > :last-child {
  padding-inline-end: var(--table-cell-px);
}

@media (min-width: 768px) {
  .list-surface .table td {
    white-space: nowrap;
  }
}

.list-empty {
  padding-block: var(--space-xxl);
}

.list-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-xs);
  padding-block: var(--space-sm);
  color: var(--color-text-secondary);
}

.cell-inline {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  white-space: nowrap;
}

.table-link {
  font-weight: var(--font-weight-medium);
  color: var(--color-text);
}

.table-link:hover {
  color: var(--color-text);
  text-decoration: underline;
}

.page-pretitle {
  margin-bottom: var(--space-xxs);
  font-size: var(--font-size);
  color: var(--color-text-secondary);
}

@media (min-width: 768px) {
  .list-surface .table > tbody > tr > td {
    padding-block: var(--space-xs);
  }

  .list-surface .row-actions .btn-sm {
    --tblr-btn-line-height: 26px;
  }

  .cell-truncate {
    display: inline-block;
    max-width: 12rem;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: bottom;
  }
}

@media (max-width: 767.98px) {
  .list-toolbar > .btn,
  .list-toolbar > .dropdown {
    flex: 1 1 0;
    min-width: 0;
  }

  .list-toolbar > .btn,
  .list-toolbar > .dropdown > .btn {
    width: 100%;
    padding-inline: var(--space-xs);
  }

  .list-toolbar > .dropdown > .btn > .btn-count {
    display: none;
  }

  .table-cards td[data-slot="aside"] {
    min-width: 0;
  }

  .table-cards td[data-slot="aside"] .cell-inline {
    flex-wrap: wrap;
    justify-content: flex-end;
    row-gap: 0;
    white-space: normal;
  }
}

.page-wrapper > .page-header {
  margin-top: 0;
}

.modal-form .modal-dialog {
  width: calc(100% - var(--space-xl));
  max-width: var(--modal-form-width);
  margin-block: var(--space-lg);
}

.modal-form .modal-content {
  position: relative;
  display: flex;
  flex-direction: column;
  max-height: calc(100dvh - var(--space-xl) * 2);
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--color-border-secondary);
  border-radius: var(--radius);
  box-shadow: var(--shadow-popup);
}

.modal-form-close {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--head-height);
  height: var(--head-height);
  padding: 0;
  color: var(--color-text-secondary);
  background: transparent;
  border: 0;
  border-radius: 0;
}

.modal-form-close:hover {
  color: var(--color-text);
  background-color: var(--color-fill-tertiary);
}

.modal-form-close .ti {
  font-size: var(--icon-size-lg);
}

.modal-form-close:focus-visible {
  outline: 0;
  box-shadow: var(--focus-outline);
}

.modal-form-head {
  display: flex;
  flex: none;
  flex-direction: column;
  justify-content: center;
  min-height: var(--head-height);
  margin: 0;
  padding: var(--space-xs) var(--head-height) var(--space-xs) var(--space-lg);
  border-bottom: 1px solid var(--color-border-secondary);
}

.modal-form-title {
  margin: 0;
  font-size: var(--font-size-lg);
  line-height: 24px;
  font-weight: var(--font-weight-bold);
}

.modal-form-text {
  margin: 0;
  font-size: 13px;
  line-height: 18px;
  color: var(--color-text-secondary);
}

.modal-form .modal-content > form,
.modal-form .modal-content > .offcanvas-form {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
}

.modal-form .offcanvas-body {
  flex: 1 1 auto;
  min-height: 0;
  padding: var(--space-lg);
  overflow-y: auto;
  overscroll-behavior: contain;
}

.modal-form .offcanvas-footer {
  flex: none;
  padding: var(--space-sm) var(--space-lg);
  background-color: var(--color-bg-subtle);
  border-top: 1px solid var(--color-border-secondary);
}

.modal-form .offcanvas-footer .btn-primary {
  flex: 0 0 auto;
  min-width: 8rem;
}

.modal-form [data-bs-dismiss="offcanvas"] {
  display: none;
}

.modal-form-check {
  margin-top: calc(var(--space-xxs) * -1);
}

.modal-form-check:empty {
  display: none;
}

.modal-dialog.modal-sm {
  max-width: 440px;
}

.offcanvas-body,
.offcanvas-form > .offcanvas-body {
  overscroll-behavior: contain;
}

.offcanvas-footer {
  background-color: var(--color-bg-subtle);
}

@media (max-width: 767.98px) {
  .modal-form .modal-dialog {
    width: 100%;
    max-width: none;
    margin: 0;
  }

  .modal-form .modal-content {
    height: 100dvh;
    max-height: none;
    border: 0;
    padding-bottom: env(safe-area-inset-bottom);
  }

  .modal-form .offcanvas-footer > .btn {
    flex: 1 1 0;
  }
}

.record {
  display: flex;
  align-items: flex-start;
  margin: calc(var(--page-top) * -1) calc(var(--page-gutter) * -1);
}

.record-aside {
  flex: none;
  width: var(--record-aside-width);
  border-right: 1px solid var(--color-border-secondary);
}

@media (min-width: 992px) {
  .record-aside {
    position: sticky;
    top: var(--topbar-height);
    height: calc(100vh - var(--topbar-height));
    height: calc(100dvh - var(--topbar-height));
    overflow-y: auto;
    scrollbar-width: thin;
  }
}

.record-main {
  flex: 1 1 auto;
  min-width: 0;
}

.record-block {
  padding: var(--space-lg);
  border-bottom: 1px solid var(--color-border-secondary);
}

.record-block:last-child {
  border-bottom: 0;
}

.record-block-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-xs);
  min-height: var(--control-height-sm);
  margin-bottom: var(--space-xs);
}

.record-block-title {
  margin: 0;
  font-size: var(--font-size);
  line-height: var(--line-height);
  font-weight: var(--font-weight-medium);
  color: var(--color-nav-text);
}

.record-identity {
  display: grid;
  justify-items: start;
  gap: var(--space-xs);
}

.record-title {
  margin: 0;
}

.record-name {
  margin: var(--space-xxs) 0 0;
  font-size: var(--font-size-heading-1);
  line-height: var(--line-height-heading-1);
  font-weight: var(--font-weight-strong);
}

.record-subtitle,
.record-muted {
  margin: 0;
  color: var(--color-text-secondary);
}

.record-states {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xxs) var(--space-sm);
}

.record-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
  margin-top: var(--space-xs);
}

.record-identity .blockers {
  justify-self: stretch;
  margin-top: var(--space-xs);
}

.record-count {
  font-weight: var(--font-weight);
  color: var(--color-text-tertiary);
}

.person {
  display: flex;
  align-items: flex-start;
  gap: var(--space-sm);
}

.person-main {
  display: grid;
  min-width: 0;
}

.person-meta {
  color: var(--color-text-secondary);
}

.person-meta .btn-icon {
  --tblr-btn-padding-y: 0px;
  height: var(--line-height-heading-4);
  min-width: var(--line-height-heading-4);
  margin-inline-start: var(--space-xxs);
  vertical-align: bottom;
}

.prop-group-toggle {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xxs);
  padding: 0;
  font: inherit;
  font-weight: var(--font-weight-medium);
  color: var(--color-nav-text);
  background: transparent;
  border: 0;
  border-radius: var(--radius-sm);
}

.prop-group-toggle .ti {
  font-size: var(--icon-size);
  transition: transform var(--motion-duration-mid) var(--motion-ease-in-out);
}

.prop-group-toggle[aria-expanded="false"] .ti {
  transform: rotate(180deg);
}

.prop-group-toggle:focus-visible {
  outline: 0;
  box-shadow: var(--focus-outline);
}

.prop-row {
  display: grid;
  grid-template-columns: var(--prop-label-width) minmax(0, 1fr);
  align-items: center;
  column-gap: var(--space-sm);
  min-height: var(--nav-item-height);
}

.prop-label {
  margin: 0;
  color: var(--color-nav-text);
}

.prop-value {
  justify-self: stretch;
  margin-inline: calc(var(--space-xs) * -1);
  padding: var(--space-xxs) var(--space-xs);
  color: var(--color-text);
  overflow-wrap: anywhere;
  border-radius: var(--radius-sm);
}

a.prop-value:hover {
  color: var(--color-text);
  text-decoration: none;
  background-color: var(--color-fill-tertiary);
  cursor: text;
}

a.prop-value:focus-visible {
  outline: 0;
  box-shadow: var(--focus-outline);
}

.prop-value.prop-empty {
  color: var(--color-text-tertiary);
}

.prop-row.is-saved .prop-value::after,
.prop-row.is-saved .form-check-label::after {
  margin-inline-start: var(--space-xs);
  color: var(--color-success);
  content: "✓";
  animation: prop-saved 2.4s var(--motion-ease-out) forwards;
}

@keyframes prop-saved {
  0%, 60% { opacity: 1; }
  100% { opacity: 0; }
}

.prop-row.is-loading {
  opacity: 0.6;
  pointer-events: none;
}

.prop-row.is-editing {
  align-items: start;
  padding-block: var(--space-xxs);
}

.prop-row.is-editing .prop-label {
  padding-top: var(--space-xs);
}

.prop-form {
  display: grid;
  gap: var(--space-xs);
  min-width: 0;
}

.prop-form-actions {
  display: flex;
  justify-content: flex-end;
  gap: var(--space-xxs);
}

@media (hover: hover) and (pointer: fine) {
  .prop-form:not(:has(.prop-field + .prop-field)):not(:has(.is-invalid)) .prop-form-actions {
    display: none;
  }
}

.prop-switch .form-check {
  min-height: 0;
  margin: 0;
}

.prop-edit {
  display: grid;
  gap: var(--space);
}

.prop-edit .row > * {
  flex: 0 0 100%;
  max-width: 100%;
}

.prop-edit-actions {
  display: flex;
  justify-content: flex-end;
  gap: var(--space-xs);
}

.record-tabs {
  position: sticky;
  top: var(--topbar-height);
  z-index: 1010;
  display: flex;
  gap: var(--space-lg);
  padding-inline: var(--space-xl);
  overflow-x: auto;
  scrollbar-width: none;
  background-color: var(--color-bg-container);
  border-bottom: 1px solid var(--color-border-secondary);
}

.record-tabs::-webkit-scrollbar {
  display: none;
}

.record-tab {
  display: inline-flex;
  flex: none;
  align-items: center;
  gap: var(--space-xxs);
  min-height: var(--topbar-height);
  margin-bottom: -1px;
  font-weight: var(--font-weight-medium);
  color: var(--color-text-secondary);
  white-space: nowrap;
  border-bottom: 2px solid transparent;
}

.record-tab:hover {
  color: var(--color-text);
  text-decoration: none;
}

.record-tab[aria-current] {
  color: var(--color-text);
  border-bottom-color: var(--color-primary);
}

.record-tab-count {
  font-weight: var(--font-weight);
  color: var(--color-text-tertiary);
}

.record-body {
  padding: var(--space-xl);
}

.record-section + .record-section {
  margin-top: var(--space-xl);
}

.record-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  min-height: var(--control-height);
  margin-bottom: var(--space-sm);
}

.record-section-title {
  margin: 0;
  font-size: var(--font-size-heading-2);
  line-height: var(--line-height-heading-2);
  font-weight: var(--font-weight-strong);
}

.record-section-summary {
  margin: 0;
  color: var(--color-text-secondary);
}

.record-section-actions {
  display: flex;
  flex: none;
  align-items: center;
  gap: var(--space-xs);
}

.record-section-actions .btn-icon {
  --tblr-btn-bg: var(--color-fill-tertiary);
  --tblr-btn-hover-bg: var(--color-fill-secondary);
}

.record-list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--color-border-secondary);
}

.record-list-item {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  min-height: calc(var(--control-height) + var(--space-xs));
  padding-block: var(--space-xxs);
  border-bottom: 1px solid var(--color-border-subtle);
}

.record-list-main {
  display: flex;
  flex: 1 1 auto;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0 var(--space-sm);
  min-width: 0;
}

.record-list-title {
  font-weight: var(--font-weight-medium);
}

.record-list-meta {
  color: var(--color-text-secondary);
}

.record-empty {
  display: grid;
  justify-items: center;
  gap: var(--space-sm);
  padding: var(--space-xxl) var(--space);
  text-align: center;
  border: 1px solid var(--color-border-secondary);
  border-radius: var(--radius-lg);
}

.record-empty-text {
  margin: 0;
  color: var(--color-text-secondary);
}

.record-box {
  padding: var(--space) var(--space-lg);
  border: 1px solid var(--color-border-secondary);
  border-radius: var(--radius-lg);
}

.record-more {
  margin: var(--space-sm) 0 0;
}

.status.status-pill {
  min-height: calc(var(--control-height-sm) - var(--space-xxs));
  padding-inline: var(--space-sm);
  background-color: color-mix(in srgb, var(--tblr-status-color) 10%, var(--color-bg-container));
  border-radius: var(--radius);
}

@media (max-width: 991.98px) {
  .record {
    display: block;
  }

  .record-aside {
    width: auto;
    border-right: 0;
    border-bottom: 1px solid var(--color-border-secondary);
  }

  .record-block {
    padding-inline: var(--page-gutter);
  }

  .record-tabs {
    padding-inline: var(--page-gutter);
  }

  .record-body {
    padding: var(--space-lg) var(--page-gutter);
  }
}

@media (max-width: 767.98px) {
  .record-list-item {
    flex-wrap: wrap;
  }
}

.drawer-loading {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: center;
  min-height: 240px;
  color: var(--color-primary);
}

.record-person {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  min-width: 0;
}

.record-person-main {
  min-width: 0;
}

.record-person .record-avatar {
  --avatar-size: 48px;
  font-size: var(--font-size-lg);
}

.record-title-text {
  font-size: var(--font-size-heading-1);
  line-height: var(--line-height-heading-1);
  font-weight: var(--font-weight-strong);
  overflow-wrap: anywhere;
}

.record-person .record-subtitle {
  margin: 0;
}

.record-contact {
  display: grid;
  gap: var(--space-xxs);
  margin: 0;
  padding: 0;
  list-style: none;
}

.record-contact li {
  display: flex;
  align-items: center;
  gap: 0 var(--space-xs);
  min-width: 0;
  min-height: var(--control-height-sm);
}

.record-contact-label {
  flex: none;
  width: 6.5rem;
  color: var(--color-text-secondary);
}

@media (max-width: 767.98px) {
  .record-section-head,
  .record-section-actions {
    flex-wrap: wrap;
  }
}

.record-list-text {
  flex-basis: 100%;
  margin: 0;
  white-space: pre-line;
  overflow-wrap: anywhere;
}

.fine-query-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  margin-bottom: var(--space-md);
}

.fine-query-text {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
}

.rz-section-title {
  margin: 0 0 var(--space-sm);
  font-size: var(--font-size-heading-3);
  font-weight: var(--font-weight-strong);
  line-height: var(--line-height-heading-3);
}

.rz-options {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--color-border-secondary);
  border-radius: var(--radius-lg);
}

.rz-options.is-invalid {
  border-color: var(--color-error);
}

.rz-options-empty {
  margin: 0;
  padding: var(--space-sm);
  color: var(--color-text-secondary);
}

.rz-option {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  min-height: var(--touch-target);
  margin: 0;
  padding: var(--space-xs) var(--space-sm);
  cursor: pointer;
  transition: background-color var(--motion-duration-mid) var(--motion-ease-in-out);
}

.rz-option + .rz-option {
  border-top: 1px solid var(--color-border-secondary);
}

.rz-option:hover {
  background-color: var(--color-fill-tertiary);
}

.rz-option:has(input:checked) {
  background-color: var(--color-primary-bg);
}

.rz-option > .form-check-input {
  flex: none;
  margin: 0;
}

.rz-option-main {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-width: 0;
}

.rz-option-head {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  min-width: 0;
}

.rz-option-head .plate {
  flex: none;
}

.rz-option-title {
  min-width: 0;
  overflow: hidden;
  font-weight: var(--font-weight-medium);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.rz-option-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 var(--space-xs);
  margin-top: 2px;
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
}

.rz-option-meta .status {
  font-size: inherit;
}

.rz-option-end {
  flex: none;
  margin-left: auto;
}

.rz-customer {
  padding: var(--space-sm);
  border: 1px solid var(--color-border-secondary);
  border-radius: var(--radius-lg);
}

.rz-customer-head {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}

.rz-customer-states {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-xs) var(--space-sm);
  margin-top: var(--space-xs);
  font-size: var(--font-size-sm);
}

.tl-toolbar .tl-range {
  margin: 0;
  font-size: var(--font-size-heading-3);
  font-weight: var(--font-weight-strong);
  line-height: var(--line-height-heading-3);
  white-space: nowrap;
}

.tl-legend {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-xs) var(--space);
  margin: 0 0 var(--space-sm);
  padding: 0;
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
  list-style: none;
}

.tl-legend li {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xxs);
}

.tl-legend .tl-legend-hint {
  margin-left: auto;
  color: var(--color-text-tertiary);
}

.tl-scroll {
  overflow-x: auto;
  border: 1px solid var(--color-border-secondary);
  border-radius: var(--radius-lg);
}

.tl-grid {
  --tl-label: 220px;
  --tl-col-min: 40px;
  --tl-lane: 26px;
  min-width: calc(var(--tl-label) + var(--tl-cols) * var(--tl-col-min));
}

.tl-cols-7 {
  --tl-cols: 7;
  --tl-col-min: 110px;
}

.tl-cols-24 {
  --tl-cols: 24;
  --tl-col-min: 44px;
}

.tl-cols-28 {
  --tl-cols: 28;
}

.tl-cols-29 {
  --tl-cols: 29;
}

.tl-cols-30 {
  --tl-cols: 30;
}

.tl-cols-31 {
  --tl-cols: 31;
}

.tl-head,
.tl-row {
  display: grid;
  grid-template-columns: var(--tl-label) minmax(0, 1fr);
}

.tl-head {
  border-bottom: 1px solid var(--color-border-secondary);
}

.tl-corner,
.tl-label {
  position: sticky;
  left: 0;
  z-index: 4;
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  min-width: 0;
  padding: 0 var(--space-sm);
  background-color: var(--color-bg-container);
  border-right: 1px solid var(--color-border-secondary);
}

.tl-corner {
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
}

.tl-scale {
  display: grid;
  grid-template-columns: repeat(var(--tl-cols), minmax(0, 1fr));
}

.tl-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: var(--space-xxs) 0;
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
  border-left: 1px solid var(--color-border-subtle);
}

.tl-col.is-weekend {
  background-color: var(--color-fill-quaternary);
}

.tl-col.is-today {
  color: var(--color-primary-text);
  font-weight: var(--font-weight-strong);
  background-color: var(--color-primary-bg);
}

.tl-col-label {
  font-variant-numeric: tabular-nums;
}

.tl-group {
  padding: var(--space-xxs) var(--space-sm);
  background-color: var(--color-bg-subtle);
  border-bottom: 1px solid var(--color-border-secondary);
}

.tl-group-title {
  position: sticky;
  left: var(--space-sm);
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
}

.tl-row {
  min-height: 44px;
  border-bottom: 1px solid var(--color-border-subtle);
}

.tl-row:last-child {
  border-bottom: 0;
}

.tl-lanes-2 {
  min-height: 70px;
}

.tl-lanes-3 {
  min-height: 102px;
}

.tl-status {
  flex: none;
}

.tl-model {
  overflow: hidden;
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tl-track {
  position: relative;
  cursor: crosshair;
  background-image: linear-gradient(to right, var(--color-border-subtle) 1px, transparent 1px);
  background-size: calc(100% / var(--tl-cols)) 100%;
  user-select: none;
}

.tl-now {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 3;
  width: 2px;
  margin-left: -1px;
  background-color: var(--color-error);
  pointer-events: none;
}

.tl-selection {
  position: absolute;
  top: 4px;
  bottom: 4px;
  z-index: 1;
  background-color: var(--color-primary-bg);
  border: 1px dashed var(--color-primary);
  border-radius: var(--radius-sm);
  pointer-events: none;
}

.tl-block {
  position: absolute;
  top: 9px;
  z-index: 2;
  display: flex;
  align-items: center;
  min-width: 6px;
  height: var(--tl-lane);
  padding: 0 var(--space-xs);
  overflow: hidden;
  font-size: var(--font-size-sm);
  line-height: var(--tl-lane);
  white-space: nowrap;
  text-decoration: none;
  border-width: 1px;
  border-style: solid;
  border-radius: var(--radius-sm);
  cursor: pointer;
}

.tl-block:hover {
  z-index: 3;
  text-decoration: none;
}

.tl-block:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 1px;
}

.tl-block[data-move-block] {
  cursor: grab;
  touch-action: none;
}

.tl-block.is-dragging {
  z-index: 6;
  cursor: grabbing;
  opacity: 0.85;
  box-shadow: var(--shadow-tertiary);
}

.tl-block.is-cut-start {
  border-left-style: dashed;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.tl-block.is-cut-end {
  border-right-style: dashed;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.tl-block-text {
  overflow: hidden;
  text-overflow: ellipsis;
}

.tl-block-rental {
  color: var(--blue-8);
  background-color: var(--blue-1);
  border-color: var(--blue-3);
}

.tl-block-returned {
  color: var(--color-text-secondary);
  background-color: var(--color-fill-tertiary);
  border-color: var(--color-border);
}

.tl-block-pending {
  color: var(--purple-8);
  background-color: var(--purple-1);
  border-color: var(--purple-3);
}

.tl-block-internet {
  color: var(--gold-9);
  background-color: var(--gold-1);
  border-color: var(--gold-6);
  border-style: dashed;
}

.tl-block-internet.is-confirmed {
  border-style: solid;
}

.tl-block.is-confirmed {
  font-weight: var(--font-weight-medium);
}

.tl-block.is-no-show {
  color: var(--color-error-text);
  border-color: var(--color-error-border);
}

.tl-block.is-unassigned,
.tl-swatch.is-unassigned {
  border-left-width: 3px;
}

.tl-unassigned {
  min-height: 40px;
  background-color: var(--color-fill-quaternary);
}

.tl-unassigned .tl-label {
  background-color: var(--color-bg-subtle);
}

.tl-unassigned .tl-block {
  top: 6px;
}

.tl-unassigned-title {
  flex: none;
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
}

.tl-tail {
  position: absolute;
  top: 9px;
  z-index: 1;
  height: var(--tl-lane);
  background-image: repeating-linear-gradient(135deg, var(--red-2) 0, var(--red-2) 4px, var(--red-1) 4px, var(--red-1) 8px);
  border: 1px solid var(--red-3);
  border-left: 0;
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  pointer-events: none;
}

.tl-lanes-2 .tl-lane-0,
.tl-lanes-3 .tl-lane-0 {
  top: 6px;
}

.tl-lane-1 {
  top: 38px;
}

.tl-lane-2 {
  top: 70px;
}

.tl-swatch {
  position: static;
  display: inline-block;
  width: 12px;
  height: 12px;
  border-width: 1px;
  border-style: solid;
  border-radius: 0;
}

.tl-mobile-range {
  margin-bottom: var(--space-lg);
}

.tl-mobile-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.tl-mobile-item {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-sm) 0;
  border-bottom: 1px solid var(--color-border-secondary);
}

.tl-mobile-item > .btn {
  flex: none;
}

.tl-mobile-main {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: var(--space-xxs);
  min-width: 0;
}

.tl-mobile-head {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  min-width: 0;
}

.tl-mobile-head .plate {
  flex: none;
}

.tl-mobile-name {
  min-width: 0;
  overflow: hidden;
  font-weight: var(--font-weight-medium);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tl-mobile-meta {
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
}

.tl-mobile-title {
  margin: var(--space-lg) 0 var(--space-xs);
  font-size: var(--font-size-heading-2);
  font-weight: var(--font-weight-strong);
  line-height: var(--line-height-heading-2);
}

.receivable-top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-xs) var(--space-sm);
  margin-bottom: var(--space);
}

.receivable-top-title {
  margin: 0;
  font-size: var(--font-size);
  font-weight: var(--font-weight-medium);
  color: var(--color-text-secondary);
}

.receivable-top-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.receivable-top-list > li {
  min-width: 0;
  max-width: 100%;
}

.receivable-top-item {
  display: inline-flex;
  align-items: baseline;
  gap: var(--space-xs);
  max-width: 100%;
  padding: var(--space-xxs) var(--space-xs);
  color: var(--color-text);
  text-decoration: none;
  border: 1px solid var(--color-border-secondary);
  border-radius: var(--radius);
}

.receivable-top-item:hover {
  color: var(--color-text);
  border-color: var(--color-primary-border);
}

.receivable-top-name {
  min-width: 0;
  max-width: 14rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.receivable-top-export {
  margin-inline-start: auto;
}

.receivable-aging-foot th,
.receivable-aging-foot td {
  font-weight: var(--font-weight-strong);
  background-color: var(--color-fill-secondary);
  border-top: 1px solid var(--color-border-secondary);
}

@media (max-width: 767.98px) {
  .table-cards tfoot.receivable-aging-foot,
  .table-cards tfoot.receivable-aging-foot th,
  .table-cards tfoot.receivable-aging-foot td {
    display: block;
  }

  .table-cards tfoot.receivable-aging-foot tr {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--space-xxs);
    padding: var(--space-sm) var(--card-padding);
    background-color: var(--color-fill-secondary);
  }

  .table-cards.table tfoot.receivable-aging-foot tr > * {
    padding: 0;
    border: 0;
    background: transparent;
  }

  .table-cards tfoot.receivable-aging-foot td[data-label] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--space-sm);
  }

  .table-cards tfoot.receivable-aging-foot td[data-label]::before {
    font-weight: var(--font-weight);
    color: var(--color-text-secondary);
    content: attr(data-label);
  }

  .table-cards tfoot.receivable-aging-foot td:not([data-label]) {
    display: none;
  }
}

.rep-hub-section + .rep-hub-section {
  margin-top: var(--space-xl);
}

.rep-hub-title {
  margin: 0 0 var(--space-sm);
  font-size: var(--font-size-heading-2);
  font-weight: var(--font-weight-strong);
  line-height: var(--line-height-heading-2);
}

.rep-hub {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
  gap: var(--space);
}

.rep-card {
  color: var(--color-text);
  text-decoration: none;
  transition: border-color var(--motion-duration-fast) var(--motion-ease-in-out);
}

.rep-card:hover,
.rep-card:focus-visible {
  color: var(--color-text);
  text-decoration: none;
  border-color: var(--color-primary-border);
}

.rep-card:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

.rep-card .card-body {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  height: 100%;
}

.rep-card-head {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
}

.rep-card-head .ti {
  flex: none;
  color: var(--color-text-secondary);
  font-size: var(--icon-size-lg);
}

.rep-card-title {
  flex: 1 1 auto;
  font-size: var(--font-size-heading-3);
  font-weight: var(--font-weight-strong);
  line-height: var(--line-height-heading-3);
}

.rep-card-text {
  color: var(--color-text-secondary);
}

.rep-card-figure {
  display: block;
  margin-top: auto;
  padding-top: var(--space-xs);
}

.rep-card-figure .statistic-desc {
  display: block;
}

.rep-range {
  margin: 0 0 var(--space);
  color: var(--color-text-secondary);
}

.rep-range-title {
  margin: 0 0 var(--space);
  font-size: var(--font-size-heading-3);
  font-weight: var(--font-weight-strong);
  line-height: var(--line-height-heading-3);
  font-variant-numeric: tabular-nums;
}

.rep-footnote {
  margin: var(--space-sm) 0 0;
  color: var(--color-text-tertiary);
  font-size: var(--font-size-sm);
}

.rep-swatch-today {
  background-color: var(--color-primary-bg);
  border-color: var(--color-primary-border);
}

.rep-swatch-weekend {
  background-color: var(--color-fill-tertiary);
  border-color: var(--color-border-secondary);
}

.rep-scroll {
  overflow-x: auto;
  border: 1px solid var(--color-border-secondary);
  border-radius: var(--radius-lg);
}

.rep-matrix {
  width: 100%;
  margin: 0;
  border-collapse: separate;
  border-spacing: 0;
  font-variant-numeric: tabular-nums;
}

.rep-matrix th,
.rep-matrix td {
  padding: var(--space-xxs);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
  text-align: right;
  white-space: nowrap;
  vertical-align: middle;
  border-bottom: 1px solid var(--color-border-subtle);
  border-left: 1px solid var(--color-border-subtle);
}

.rep-matrix thead th {
  font-weight: var(--font-weight-medium);
  border-bottom-color: var(--color-border-secondary);
}

.rep-matrix-label {
  position: sticky;
  left: 0;
  z-index: 2;
  min-width: 220px;
  max-width: 220px;
  text-align: left;
  background-color: var(--color-bg-container);
}

.rep-matrix th.rep-matrix-label,
.rep-matrix td.rep-matrix-label {
  padding-inline: var(--space-sm);
  text-align: left;
  border-left: 0;
  border-right: 1px solid var(--color-border-secondary);
}

.rep-matrix thead .rep-matrix-label {
  color: var(--color-text-secondary);
}

.rep-matrix tbody .rep-matrix-label {
  font-weight: var(--font-weight);
}

.rep-matrix-vehicle {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  min-width: 0;
}

.rep-matrix-model {
  min-width: 0;
  overflow: hidden;
  color: var(--color-text-secondary);
  text-overflow: ellipsis;
}

.rep-matrix .rep-matrix-day {
  min-width: 52px;
  color: var(--color-text-secondary);
  text-align: center;
}

.rep-matrix-day-number,
.rep-matrix-day-sub {
  display: block;
}

.rep-matrix-day-sub {
  color: var(--color-text-tertiary);
  font-weight: var(--font-weight);
}

.rep-matrix .is-weekend {
  background-color: var(--color-fill-tertiary);
}

.rep-matrix .is-today {
  background-color: var(--color-primary-bg);
}

.rep-matrix thead .is-today,
.rep-matrix thead .is-today .rep-matrix-day-sub {
  color: var(--color-primary-text);
  font-weight: var(--font-weight-strong);
}

.rep-matrix-cell {
  height: 40px;
}

.rep-matrix-link {
  display: block;
  padding: var(--space-xxs);
  color: var(--color-text);
  border-radius: var(--radius-sm);
  text-decoration: none;
}

.rep-matrix-link:hover {
  color: var(--color-primary-text);
  text-decoration: none;
  background-color: var(--color-fill-secondary);
}

.rep-matrix-link:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: -2px;
}

.rep-matrix-link.is-negative {
  color: var(--color-error-text);
}

.rep-matrix .rep-matrix-total {
  min-width: 112px;
  padding-inline: var(--space-sm);
  font-weight: var(--font-weight-strong);
  background-color: var(--color-bg-subtle);
  border-left-color: var(--color-border-secondary);
}

.rep-matrix tfoot th,
.rep-matrix tfoot td {
  font-weight: var(--font-weight-strong);
  background-color: var(--color-bg-subtle);
  border-top: 1px solid var(--color-border-secondary);
  border-bottom: 0;
}

.rep-matrix tbody tr:last-child th,
.rep-matrix tbody tr:last-child td {
  border-bottom: 0;
}

.rep-mobile-total {
  display: flex;
  flex-direction: column;
  margin-bottom: var(--space);
}

.summary-strip-item[aria-current] {
  color: var(--color-text);
  background-color: var(--color-primary-bg);
  border-color: var(--color-primary-border);
}

.rep-payments {
  margin: 0;
  padding: 0;
  list-style: none;
}

.rep-payment {
  display: flex;
  align-items: flex-start;
  gap: var(--space-sm);
  padding: var(--space-sm) 0;
  border-bottom: 1px solid var(--color-border-secondary);
}

.rep-payment-main {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: var(--space-xxs);
  min-width: 0;
}

.rep-payment-head {
  display: flex;
  flex-wrap: wrap;
  gap: 0 var(--space-xs);
  font-weight: var(--font-weight-medium);
}

.rep-payment-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0 var(--space-xs);
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
}

.rep-payment-amount {
  flex: none;
  font-weight: var(--font-weight-strong);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.rep-payment-amount.is-negative {
  color: var(--color-error-text);
}

.rep-payments-total {
  display: flex;
  justify-content: space-between;
  gap: var(--space-sm);
  padding-top: var(--space-sm);
  font-weight: var(--font-weight-strong);
}

@page rep-landscape {
  size: A4 landscape;
  margin: 8mm;
}

@media print {
  .rep-print {
    page: rep-landscape;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }

  .rep-print-title {
    margin: 0 0 4pt;
    font-size: 11pt;
  }

  .rep-range {
    margin-bottom: 4pt;
    font-size: 8pt;
  }

  .rep-scroll {
    overflow: visible;
    border: 0;
    border-radius: 0;
  }

  .rep-matrix th,
  .rep-matrix td {
    padding: 1pt 1.5pt;
    font-size: 6.5pt;
    border-color: var(--color-border-secondary);
  }

  .rep-matrix-label,
  .rep-matrix th.rep-matrix-label {
    position: static;
    min-width: 0;
    max-width: none;
    padding-inline: 2pt;
  }

  .rep-matrix .rep-matrix-day,
  .rep-matrix .rep-matrix-total {
    min-width: 0;
    padding-inline: 1.5pt;
  }

  .rep-matrix-cell {
    height: auto;
  }

  .rep-matrix-model {
    display: none;
  }

  .rep-matrix .plate {
    border: 0;
  }

  .rep-matrix .plate-band {
    display: none;
  }

  .rep-matrix-link {
    padding: 0;
    color: inherit;
  }
}

.record-figures {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-sm);
  margin: 0;
}

.record-figures dt {
  font-weight: var(--font-weight);
  color: var(--color-text-secondary);
}

.record-figures dd {
  margin: 0;
  font-size: var(--font-size-heading-3);
  line-height: var(--line-height-heading-3);
  font-weight: var(--font-weight-strong);
  overflow-wrap: anywhere;
}

.record-list-item > .btn,
.record-list-item > .status {
  flex: none;
}

.record-aside .blockers .alert {
  flex-wrap: wrap;
}

.record-aside .blockers .alert > div:not(.alert-icon) {
  flex: 1 1 0;
  min-width: 0;
}

.record-aside .blockers .alert > .btn {
  flex: none;
}

.form-layout {
  display: flex;
  align-items: flex-start;
  margin: calc(var(--page-top) * -1) calc(var(--page-gutter) * -1);
}

.form-layout-main {
  flex: 1 1 auto;
  min-width: 0;
  padding: var(--space-xl) var(--page-gutter);
}

.form-layout-head,
.form-block {
  max-width: 52rem;
}

.form-layout-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-xxs);
  padding-bottom: var(--space-lg);
}

.form-layout-head .alert {
  margin: var(--space-xs) 0 0;
}

.form-block {
  padding-block: var(--space-lg);
  border-top: 1px solid var(--color-border-secondary);
}

.form-block-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-xxs) var(--space-sm);
  margin-bottom: var(--space);
}

.form-block-title {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  margin: 0;
  font-size: var(--font-size-heading-2);
  line-height: var(--line-height-heading-2);
  font-weight: var(--font-weight-strong);
}

.form-block-summary {
  margin: 0;
  color: var(--color-text-secondary);
}

.form-layout-aside {
  flex: none;
  width: var(--record-aside-width);
  border-left: 1px solid var(--color-border-secondary);
}

.form-layout-aside-body {
  padding: var(--space-lg);
}

.form-layout-head .summary-strip {
  position: relative;
  margin: var(--space-xs) 0 0;
}

.summary-strip-item .ti {
  align-self: center;
  color: var(--color-text-tertiary);
}

.summary-strip-item[data-state="done"] .ti {
  color: var(--color-success);
}

.summary-strip-item[data-state="blocked"] .ti {
  color: var(--color-error);
}

.summary-strip-item[data-state="warning"] .ti,
.summary-strip-item[data-state="todo"] .ti {
  color: var(--color-warning);
}

@media (min-width: 992px) {
  .form-optional[open] {
    border: 0;
  }

  .form-optional[open] > summary {
    display: none;
  }

  .form-optional[open] > .collapse-section-body {
    padding: 0;
  }
}

@media (min-width: 992px) {
  .form-layout-aside {
    position: sticky;
    top: var(--topbar-height);
    height: calc(100vh - var(--topbar-height));
    height: calc(100dvh - var(--topbar-height));
    overflow-y: auto;
    scrollbar-width: thin;
  }
}

@media (max-width: 991.98px) {
  .form-layout {
    display: block;
  }

  .form-layout-main {
    padding: var(--space-lg) var(--page-gutter) 0;
  }

  .form-layout-aside {
    width: auto;
    border-top: 1px solid var(--color-border-secondary);
    border-left: 0;
  }

  .form-layout-aside-body {
    padding: var(--space-lg) var(--page-gutter);
  }
}

.agd-toolbar .agd-range {
  margin: 0;
  font-size: var(--font-size-heading-3);
  font-weight: var(--font-weight-strong);
  line-height: var(--line-height-heading-3);
  white-space: nowrap;
}

@media (min-width: 992px) {
  .segmented-item.is-active-lg {
    color: var(--color-text);
    background-color: var(--color-bg-elevated);
    box-shadow: var(--shadow-tertiary);
  }
}

@media (max-width: 991.98px) {
  .segmented-item.is-active-sm {
    color: var(--color-text);
    background-color: var(--color-bg-elevated);
    box-shadow: var(--shadow-tertiary);
  }

  .agd-toolbar .agd-range {
    order: -1;
    flex: 1 1 100%;
  }
}

.agd-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-xs);
  margin: 0 0 var(--space);
}

.agd-filter {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  min-height: var(--control-height-sm);
  padding: 0 var(--space-sm);
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
  text-decoration: none;
  background-color: var(--color-bg-container);
  border: 1px solid var(--color-border-secondary);
  border-radius: var(--radius-full);
}

.agd-filter:hover {
  color: var(--color-text);
  text-decoration: none;
  border-color: var(--color-border);
}

.agd-filter.is-on {
  color: var(--color-text);
  background-color: var(--color-fill-tertiary);
  border-color: var(--color-border);
}

.agd-filter:not(.is-on) .agd-swatch {
  opacity: 0.35;
}

.agd-swatch {
  display: inline-block;
  flex: none;
  width: 10px;
  height: 10px;
  border-width: 1px;
  border-style: solid;
  border-radius: var(--radius-xs);
}

.agd-tone-rental {
  color: var(--blue-8);
  background-color: var(--blue-1);
  border-color: var(--blue-3);
}

.agd-tone-payment {
  color: var(--gold-9);
  background-color: var(--gold-1);
  border-color: var(--gold-5);
}

.agd-tone-maintenance {
  color: var(--color-text-secondary);
  background-color: var(--color-fill-secondary);
  border-color: var(--color-border);
}

.agd-tone-document {
  color: var(--red-8);
  background-color: var(--red-1);
  border-color: var(--red-3);
}

.agd-tone-task {
  color: var(--brand-8);
  background-color: var(--brand-1);
  border-color: var(--brand-3);
}

.agd-badge {
  display: inline-flex;
  align-items: center;
  padding: 0 var(--space-xs);
  font-size: var(--font-size-sm);
  line-height: 20px;
  border-width: 1px;
  border-style: solid;
  border-radius: var(--radius-full);
}

.agd-empty-hint {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  margin: 0 0 var(--space-sm);
  color: var(--color-text-secondary);
}

.agd-scroll {
  overflow-x: auto;
  border: 1px solid var(--color-border-secondary);
  border-radius: var(--radius-lg);
}

.agd-week-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(120px, 1fr));
  min-width: 840px;
}

.agd-col {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 360px;
  border-left: 1px solid var(--color-border-subtle);
}

.agd-col:first-child {
  border-left: 0;
}

.agd-col.is-weekend {
  background-color: var(--color-fill-quaternary);
}

.agd-col-head {
  display: flex;
  align-items: baseline;
  gap: var(--space-xxs);
  padding: var(--space-xs) var(--space-sm);
  color: var(--color-text-secondary);
  text-decoration: none;
  border-bottom: 1px solid var(--color-border-secondary);
}

.agd-col-head:hover {
  color: var(--color-text);
  text-decoration: none;
}

.agd-col-num {
  color: var(--color-text);
  font-size: var(--font-size-heading-3);
  font-weight: var(--font-weight-strong);
  font-variant-numeric: tabular-nums;
}

.agd-col.is-today .agd-col-head {
  color: var(--color-primary-text);
  background-color: var(--color-primary-bg);
}

.agd-col.is-today .agd-col-num {
  color: var(--color-primary-text);
}

.agd-events {
  display: flex;
  flex-direction: column;
  gap: var(--space-xxs);
  min-width: 0;
  margin: 0;
  padding: var(--space-xs);
  list-style: none;
}

.agd-events:empty {
  padding: 0;
}

.agd-event {
  display: flex;
  align-items: center;
  gap: var(--space-xxs);
  min-width: 0;
  padding: 2px var(--space-xs);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
  text-decoration: none;
  border-width: 1px;
  border-style: solid;
  border-radius: var(--radius-sm);
}

.agd-event:hover {
  text-decoration: none;
  box-shadow: var(--shadow-tertiary);
}

.agd-event:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 1px;
}

.agd-event[draggable="true"] {
  cursor: grab;
}

.agd-event.is-dragging {
  cursor: grabbing;
  opacity: 0.5;
}

.agd-event-time {
  flex: none;
  font-weight: var(--font-weight-medium);
  font-variant-numeric: tabular-nums;
}

.agd-event-text {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.agd-event.is-late {
  box-shadow: inset 3px 0 0 var(--color-error);
}

.agd-event.is-done {
  opacity: 0.6;
}

.agd-event.is-done .agd-event-text {
  text-decoration: line-through;
}

.agd-more {
  padding: 0 var(--space-xs);
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
}

[data-drop-date].is-drop,
[data-drop-at].is-drop {
  background-color: var(--color-primary-bg);
  outline: 1px dashed var(--color-primary);
  outline-offset: -1px;
}

.agd-month {
  overflow: hidden;
  border: 1px solid var(--color-border-secondary);
  border-radius: var(--radius-lg);
}

.agd-month-head,
.agd-month-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.agd-month-head {
  background-color: var(--color-bg-subtle);
  border-bottom: 1px solid var(--color-border-secondary);
}

.agd-month-head span {
  padding: var(--space-xxs) var(--space-sm);
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
}

.agd-cell {
  min-width: 0;
  min-height: 124px;
  border-top: 1px solid var(--color-border-subtle);
  border-left: 1px solid var(--color-border-subtle);
}

.agd-cell:nth-child(7n + 1) {
  border-left: 0;
}

.agd-cell:nth-child(-n + 7) {
  border-top: 0;
}

.agd-cell.is-outside {
  background-color: var(--color-fill-quaternary);
}

.agd-cell-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  height: 24px;
  margin: var(--space-xxs) var(--space-xxs) 0;
  padding: 0 var(--space-xxs);
  color: var(--color-text);
  font-size: var(--font-size-sm);
  font-variant-numeric: tabular-nums;
  text-decoration: none;
  border-radius: var(--radius-full);
}

.agd-cell-num:hover {
  text-decoration: none;
  background-color: var(--color-fill-secondary);
}

.agd-cell.is-outside .agd-cell-num {
  color: var(--color-text-tertiary);
}

.agd-cell.is-today .agd-cell-num {
  color: var(--color-text-light);
  background-color: var(--color-primary);
}

.agd-cell .agd-events {
  padding: var(--space-xxs);
}

@media (max-width: 991.98px) {
  .agd-cell {
    min-height: 64px;
  }

  .agd-month-head span {
    padding: var(--space-xxs);
    text-align: center;
  }

  .agd-cell .agd-events {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 3px;
  }

  .agd-cell .agd-event {
    width: 8px;
    height: 8px;
    padding: 0;
    background-color: currentColor;
    border-radius: var(--radius-full);
  }

  .agd-cell .agd-event-time,
  .agd-cell .agd-event-text,
  .agd-cell .agd-more {
    display: none;
  }
}

.agd-day {
  overflow: hidden;
  border: 1px solid var(--color-border-secondary);
  border-radius: var(--radius-lg);
}

.agd-slot {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  min-height: 44px;
  border-top: 1px solid var(--color-border-subtle);
}

.agd-slot:first-child {
  border-top: 0;
}

.agd-slot-label {
  padding: var(--space-xs) var(--space-sm);
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
  font-variant-numeric: tabular-nums;
  border-right: 1px solid var(--color-border-subtle);
}

.agd-slot-allday {
  background-color: var(--color-bg-subtle);
  border-bottom: 1px solid var(--color-border-secondary);
}

.agd-slot.is-now .agd-slot-label {
  color: var(--color-primary-text);
  font-weight: var(--font-weight-strong);
}

.agd-slot .agd-events {
  flex-direction: row;
  flex-wrap: wrap;
}

.agd-slot .agd-event {
  max-width: 100%;
}

.agd-list-day {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  margin: var(--space-lg) 0 var(--space-xxs);
  font-size: var(--font-size-heading-3);
  font-weight: var(--font-weight-strong);
  line-height: var(--line-height-heading-3);
}

.agd-list-day:first-child {
  margin-top: 0;
}

.agd-list-today {
  padding: 0 var(--space-xs);
  color: var(--color-primary-text);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  background-color: var(--color-primary-bg);
  border-radius: var(--radius-full);
}

.agd-list-items {
  margin: 0;
  padding: 0;
  list-style: none;
}

.agd-list-item {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-sm) 0;
  border-bottom: 1px solid var(--color-border-secondary);
}

.agd-list-time {
  flex: none;
  width: 64px;
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
  font-variant-numeric: tabular-nums;
}

.agd-list-main {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: var(--space-xxs);
  min-width: 0;
}

.agd-list-title {
  overflow: hidden;
  color: var(--color-text);
  font-weight: var(--font-weight-medium);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.agd-list-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-xxs) var(--space-xs);
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
}

.agd-list-item.is-done .agd-list-title {
  color: var(--color-text-tertiary);
  text-decoration: line-through;
}

.agd-list-item > .btn,
.agd-list-item > form {
  flex: none;
}

@media (max-width: 575.98px) {
  .agd-list-time {
    width: 44px;
  }
}

.agd-subject {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-xs) var(--space-sm);
  border: 1px solid var(--color-border-secondary);
  border-radius: var(--radius);
}

.agd-subject .rz-option-main {
  flex: 1 1 auto;
  min-width: 0;
}

.agd-subject-results {
  margin-top: var(--space-xs);
}

.agd-footer-start {
  margin-inline-end: auto;
}

@media (max-width: 767.98px) {
  .agd-footer-start {
    margin-inline-end: 0;
  }
}

@media print {
  .agd-scroll {
    overflow: visible;
  }

  .agd-week-grid {
    min-width: 0;
  }
}

.app-notify {
  position: relative;
}

.app-notify-count {
  position: absolute;
  top: 0;
  right: -2px;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  color: var(--color-text-light);
  font-size: 10px;
  font-weight: var(--font-weight-strong);
  line-height: 16px;
  text-align: center;
  background-color: var(--color-error);
  border-radius: var(--radius-full);
  box-shadow: 0 0 0 2px var(--color-bg-container);
}

.notify-body {
  padding: 0;
}

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

.notify-item + .notify-item {
  border-top: 1px solid var(--color-border-secondary);
}

.notify-link {
  display: flex;
  align-items: flex-start;
  gap: var(--space-sm);
  padding: var(--space-sm) var(--space-lg);
  color: var(--color-text);
  text-decoration: none;
}

.notify-link:hover {
  color: var(--color-text);
  text-decoration: none;
  background-color: var(--color-fill-tertiary);
}

.notify-item.is-unread .notify-link {
  background-color: var(--color-bg-subtle);
}

.notify-icon {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: var(--radius-full);
}

.notify-icon .ti {
  font-size: var(--icon-size-lg);
}

.notify-tone-red {
  color: var(--red-7);
  background-color: var(--red-1);
}

.notify-tone-gold {
  color: var(--gold-8);
  background-color: var(--gold-1);
}

.notify-tone-blue {
  color: var(--blue-7);
  background-color: var(--blue-1);
}

.notify-main {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.notify-title {
  font-weight: var(--font-weight-medium);
}

.notify-item.is-unread .notify-title {
  font-weight: var(--font-weight-strong);
}

.notify-text {
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
  overflow-wrap: anywhere;
}

.notify-time {
  color: var(--color-text-tertiary);
  font-size: var(--font-size-sm);
}

.notify-dot {
  flex: none;
  width: 8px;
  height: 8px;
  margin-top: 6px;
  background-color: var(--color-primary);
  border-radius: var(--radius-full);
}

.list-surface .notify-link {
  padding-inline: var(--space);
}

.income-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-sm);
  margin-bottom: var(--space-md);
}

.income-bar-note {
  font-size: var(--font-size-sm);
}

.income-bar-end {
  margin-left: auto;
}

.income-period-toggle {
  gap: var(--space-xs);
  justify-content: center;
  min-width: 9rem;
  font-variant-numeric: tabular-nums;
}

.income-range {
  display: grid;
  gap: var(--space-xs);
  min-width: 15rem;
  padding: 0 var(--space-sm) var(--space-xs);
}

.summary-strip-item[data-tone="green"] .summary-strip-value {
  color: var(--color-success-text);
}

.income-in {
  color: var(--color-success-text);
}

.income-out {
  color: var(--color-error-text);
}

.income-section-title {
  margin: var(--space-lg) 0 var(--space-sm);
  font-size: var(--font-size);
  font-weight: var(--font-weight-strong);
}

.income-flow-note {
  margin-top: var(--space-md);
  font-size: var(--font-size-sm);
}

.income-table-total th,
.income-table-total td {
  font-weight: var(--font-weight-strong);
}

.income-picked {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-xs) var(--space-sm);
  background-color: var(--color-bg-subtle);
  border: 1px solid var(--color-border-secondary);
  border-radius: var(--radius);
}

.income-picked-text {
  flex: 1 1 8rem;
  min-width: 0;
}

.income-payment {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-sm);
}

.income-payment-body {
  flex: 1 1 10rem;
  min-width: 0;
}

.income-payment[data-reversed] .income-payment-amount {
  color: var(--color-text-tertiary);
  text-decoration: line-through;
}

@media (max-width: 767.98px) {
  .rep-toolbar .tl-range {
    flex: 1 1 100%;
    order: -1;
  }

  .rep-toolbar > .btn-group,
  .rep-toolbar > .segmented,
  .rep-toolbar > .dropdown,
  .rep-toolbar > .btn,
  .rep-toolbar > .list-toolbar-end {
    flex: 1 1 100%;
    min-width: 0;
  }

  .rep-toolbar > .btn-group > .btn:first-child {
    flex: 1 1 auto;
  }

  .rep-toolbar > .btn,
  .rep-toolbar > .dropdown > .btn {
    justify-content: center;
    overflow: hidden;
    white-space: nowrap;
  }

  .rep-toolbar > .dropdown > .btn > .tabular-nums {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .rep-toolbar > .list-toolbar-end > .btn {
    flex: 1 1 auto;
  }
}

.income-row-meta {
  display: block;
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight);
  color: var(--color-text-secondary);
}

.income-note {
  max-width: 9rem;
}

@media (max-width: 767.98px) {
  .income-flow-table tfoot {
    display: none;
  }
}

.record-list-title .agd-swatch {
  margin-inline-end: var(--space-xs);
}

.collect-customer {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.collect-customer-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-xs) var(--space-sm);
}

.collect-mode {
  margin-bottom: var(--space-sm);
}

.collect-items {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  list-style: none;
  border: 1px solid var(--color-border-secondary);
  border-radius: var(--radius-lg);
}

.collect-items > li + li {
  border-top: 1px solid var(--color-border-secondary);
}

.collect-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: var(--space-sm);
  align-items: start;
  margin: 0;
  padding: var(--space-sm);
  cursor: pointer;
}

.collect-item:hover {
  background-color: var(--color-fill-quaternary);
}

.collect-item .form-check-input {
  margin: var(--space-xxs) 0 0;
}

.collect-item-main,
.collect-item-amounts {
  display: flex;
  flex-direction: column;
  gap: var(--space-xxs);
  min-width: 0;
}

.collect-item-amounts {
  align-items: flex-end;
  text-align: end;
}

.collect-item-title {
  font-weight: var(--font-weight-strong);
  overflow-wrap: anywhere;
}

.collect-item-meta {
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
}

.collect-item-remaining {
  font-weight: var(--font-weight-strong);
}

.collect-selected {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--space-xs) var(--space-sm);
  margin-top: var(--space-sm);
  padding: var(--space-sm) var(--space);
  background-color: var(--color-fill-quaternary);
  border-radius: var(--radius-lg);
}

.collect-selected[aria-busy="true"],
.debit-plan[aria-busy="true"] {
  opacity: 0.6;
}

.collect-selected-label {
  color: var(--color-text-secondary);
}

.collect-selected strong {
  font-size: var(--font-size-lg);
}

.collect-subtitle,
.receipt-subtitle {
  margin: var(--space-lg) 0 var(--space-xs);
  font-size: var(--font-size);
  font-weight: var(--font-weight-strong);
}

.collect-advance {
  margin-bottom: var(--space);
}

.collect-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-xs);
  margin-bottom: var(--space);
}

.collect-bar .summary-strip {
  flex: 1 1 auto;
  min-width: 0;
  margin-bottom: 0;
}

.collect-cashbox {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr));
  gap: var(--space-xs);
  margin-bottom: var(--space);
}

.collect-cashbox-item {
  display: flex;
  flex-direction: column;
  gap: var(--space-xxs);
  padding: var(--space-sm);
  background-color: var(--color-bg-container);
  border: 1px solid var(--color-border-secondary);
  border-radius: var(--radius-lg);
}

.collect-cashbox-label {
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
}

.collect-cashbox-value {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-strong);
}

.collect-cashbox-total {
  background-color: var(--color-primary-bg);
  border-color: var(--color-primary-border);
}

.list-surface tr.is-reversed td {
  color: var(--color-text-secondary);
}

.receipt-reverse {
  margin-top: var(--space-lg);
  padding-top: var(--space);
  border-top: 1px solid var(--color-border-secondary);
}

.receipt-reverse .receipt-subtitle {
  margin-top: 0;
}

.debit-contract {
  margin-top: var(--space);
  padding: var(--space-sm) var(--space);
  background-color: var(--color-fill-quaternary);
  border-radius: var(--radius-lg);
}

.debit-contract-title {
  margin-bottom: var(--space-xs);
  font-weight: var(--font-weight-strong);
}

.debit-plan {
  margin-top: var(--space);
}

.debit-plan-table td {
  padding-top: var(--space-xxs);
  padding-bottom: var(--space-xxs);
}

.debit-plan-cell {
  min-width: 9rem;
}

.debit-plan-cell .invalid-feedback:empty {
  display: none;
}

.statement-filter {
  margin-bottom: var(--space);
}

.statement-filter-actions {
  display: flex;
  gap: var(--space-xs);
}

.statement-opening td {
  background-color: var(--color-fill-quaternary);
}

.statement-closing {
  margin-top: var(--space-sm);
  text-align: end;
}

.print-sheet-wide {
  max-width: 64rem;
}

@media (max-width: 575.98px) {
  .collect-item {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .collect-item-amounts {
    grid-column: 2;
    align-items: flex-start;
    text-align: start;
  }

  .debit-plan-cell {
    min-width: 7.5rem;
  }
}

.invoice-credit-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: var(--space-sm);
  margin-bottom: var(--space-md);
}

.invoice-credit {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-xxs);
  color: var(--color-text-secondary);
}

.invoice-credit strong {
  color: var(--color-text);
  font-weight: var(--font-weight-strong);
}

.invoice-credit.is-low,
.invoice-credit.is-low strong {
  color: var(--color-warning-text);
}

.invoice-row-waiting > td:first-child {
  box-shadow: inset 3px 0 0 var(--color-warning);
}

.invoice-source {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-xs);
}

.invoice-source-main {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--space-xs);
  min-width: 0;
}

.invoice-source-counts {
  margin: var(--space-sm) 0 0;
  color: var(--color-text-secondary);
}

.invoice-taxpayer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-xs);
}

.invoice-taxpayer .btn {
  margin-inline-start: auto;
}

.invoice-line {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: var(--space-xs) var(--space-sm);
}

.invoice-line + .invoice-line {
  margin-top: var(--space);
  padding-top: var(--space);
  border-top: 1px solid var(--color-border-secondary);
}

.invoice-line-description {
  grid-column: 1 / -1;
}

.invoice-line-remove {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  align-self: end;
}

@media (min-width: 576px) {
  .invoice-line {
    grid-template-columns: 5rem 6.5rem minmax(0, 1fr) minmax(0, 1fr) 5.5rem auto;
  }
}

.invoice-summary-profile {
  margin: 0 0 var(--space-sm);
}

.invoice-summary-secondary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-xs);
}

.invoice-answer {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
}

.invoice-preview {
  overflow-x: auto;
  background-color: var(--color-bg-subtle);
}

.invoice-doc {
  padding: var(--space-lg);
  background-color: var(--color-bg-container);
  border: 1px solid var(--color-border-secondary);
  border-radius: var(--radius-lg);
}

.invoice-doc p {
  margin: 0;
}

.invoice-doc-stamp {
  margin-bottom: var(--space) !important;
  padding: var(--space-xs) var(--space-sm);
  color: var(--color-error-text);
  font-weight: var(--font-weight-strong);
  text-align: center;
  border: 1px dashed var(--color-error-border);
  border-radius: var(--radius-sm);
}

.invoice-doc-head {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
  gap: var(--space-lg);
  padding-bottom: var(--space);
  border-bottom: 1px solid var(--color-border-secondary);
}

.invoice-doc-label {
  margin-bottom: var(--space-xxs) !important;
  color: var(--color-text-tertiary);
  font-size: var(--font-size-sm);
}

.invoice-doc-name {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-strong);
}

.invoice-doc-title {
  margin-bottom: var(--space-xs) !important;
  font-size: var(--font-size-heading-3);
  font-weight: var(--font-weight-strong);
  line-height: var(--line-height-heading-3);
}

.invoice-doc-dl {
  display: grid;
  gap: var(--space-xxs);
  margin: 0;
}

.invoice-doc-dl > div {
  display: flex;
  justify-content: space-between;
  gap: var(--space-sm);
}

.invoice-doc-dl dt {
  color: var(--color-text-secondary);
  font-weight: var(--font-weight);
}

.invoice-doc-dl dd {
  margin: 0;
  text-align: end;
}

.invoice-doc-uuid {
  font-family: var(--font-family-code);
  font-size: var(--font-size-sm);
  word-break: break-all;
}

.invoice-doc-buyer {
  padding-block: var(--space);
  border-bottom: 1px solid var(--color-border-secondary);
}

.invoice-doc-lines {
  margin: var(--space) 0 0;
}

.invoice-doc-lines th {
  font-size: var(--font-size-sm);
  white-space: nowrap;
}

.invoice-doc-foot {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
  gap: var(--space-lg);
  margin-top: var(--space);
}

.invoice-doc-notes {
  color: var(--color-text-secondary);
}

.invoice-doc-notes p + p {
  margin-top: var(--space-xxs);
}

.invoice-print-tools {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-xs);
  margin-bottom: var(--space-lg);
}

.invoice-print-hint {
  margin-inline-start: auto;
}

@media print {
  .invoice-doc {
    padding: 0;
    border: 0;
    border-radius: 0;
  }

  .invoice-print .table-responsive {
    overflow: visible;
  }

  .invoice-doc-lines tr {
    break-inside: avoid;
  }
}

@media (min-width: 768px) {
  .income-row-meta {
    max-width: 12rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .income-note {
    max-width: 7rem;
  }
}

.live-failed,
.worklist-failed {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 var(--space-xs);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
}

.live-failed {
  margin-bottom: var(--space-sm);
  color: var(--color-warning-text);
}

.worklist-failed {
  margin: 0;
  padding-block: var(--space-sm);
  color: var(--color-error-text);
  border-top: 1px solid var(--color-border-secondary);
}

.live-failed .btn-link,
.worklist-failed .btn-link {
  min-height: 0;
  padding: 0;
  font-size: inherit;
  line-height: inherit;
}

.worklist-skeleton-title {
  width: 10rem;
  height: var(--font-size-heading-2);
}

.worklist-skeleton-time {
  width: 2.5rem;
  height: var(--font-size);
}

.worklist-skeleton-line {
  display: block;
  width: 60%;
  height: var(--font-size);
}

.worklist-skeleton-meta {
  display: block;
  width: 40%;
  height: var(--font-size-sm);
  margin-top: var(--space-xs);
}

.worklist-skeleton-button {
  width: 6rem;
  height: var(--control-height-sm);
  border-radius: var(--radius);
}

@media (min-width: 768px) {
  .income-row-meta {
    max-width: 11rem;
  }

  .income-note {
    max-width: 6rem;
  }
}

.ov-stat {
  color: inherit;
  text-decoration: none;
}

.ov-stat:hover {
  color: inherit;
  background-color: var(--color-fill-quaternary);
}

.ov-stat:focus-visible {
  outline: 2px solid var(--color-primary-border);
  outline-offset: -2px;
}

.ov-card-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-xxs) var(--space-sm);
  margin-bottom: var(--space-xs);
}

.ov-card-note {
  color: var(--color-text-secondary);
}

.ov-chart-caption {
  margin: 0 0 var(--space);
  color: var(--color-text-secondary);
}

.ov-chart {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: var(--space-xs);
}

.ov-chart-y {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: calc(160px + 1em);
  margin-block: -0.5em;
  font-size: var(--font-size-sm);
  line-height: 1;
  color: var(--color-text-tertiary);
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.ov-chart-plot {
  height: 160px;
  border-bottom: 1px solid var(--color-border);
}

.ov-chart-plot svg {
  display: block;
  width: 100%;
  height: 100%;
}

.ov-chart-grid {
  stroke: var(--color-border-secondary);
  stroke-width: 1px;
  vector-effect: non-scaling-stroke;
}

.ov-chart-hit {
  fill: transparent;
  pointer-events: all;
}

.ov-chart-col:hover .ov-chart-hit {
  fill: var(--color-fill-tertiary);
}

.ov-chart-bar {
  fill: var(--color-primary);
  pointer-events: none;
}

.ov-chart-col:hover .ov-chart-bar {
  fill: var(--color-primary-hover);
}

.ov-chart-x {
  grid-column: 2;
  display: flex;
  justify-content: space-between;
  margin-top: var(--space-xxs);
  font-size: var(--font-size-sm);
  color: var(--color-text-tertiary);
}

.ov-chart-table {
  margin-top: var(--space-sm);
}

.ov-chart-table summary {
  color: var(--color-text-secondary);
  cursor: pointer;
}

.ov-chart-table .table-responsive {
  max-height: 240px;
  margin-top: var(--space-xs);
  overflow-y: auto;
}

.ov-fleet-bar {
  display: block;
  width: 100%;
  height: 12px;
  margin-bottom: var(--space);
  overflow: hidden;
  border-radius: var(--radius-sm);
}

.ov-fleet-available {
  fill: var(--color-success);
  background-color: var(--color-success);
}

.ov-fleet-rented {
  fill: var(--color-info);
  background-color: var(--color-info);
}

.ov-fleet-reserved {
  fill: var(--blue-3);
  background-color: var(--blue-3);
}

.ov-fleet-maintenance {
  fill: var(--color-warning);
  background-color: var(--color-warning);
}

.ov-fleet-not_ready {
  fill: var(--gray-7);
  background-color: var(--gray-7);
}

.ov-rank {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space) var(--space-lg);
}

.ov-rank-title {
  margin: 0 0 var(--space-xs);
  font-size: var(--font-size);
  font-weight: var(--font-weight-strong);
  color: var(--color-text-secondary);
}

.ov-value {
  font-weight: var(--font-weight-strong);
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

@media (max-width: 767.98px) {
  .ov-rank {
    grid-template-columns: minmax(0, 1fr);
  }
}

.ov-list .record-list-main {
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
}

.ov-list .record-list-item {
  align-items: flex-start;
  padding-block: var(--space-xs);
}

.ov-list .ov-value,
.ov-list .status {
  margin-top: 2px;
}

.ov-card .record-empty {
  padding: var(--space) var(--space-sm);
}

.record-invoice-line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-xxs) var(--space-sm);
  margin-top: var(--space-xs);
}

.sim-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-sm) var(--space-lg);
  margin-bottom: var(--space-lg);
}

.sim-note {
  margin: 0;
  flex: 1 1 320px;
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
}

.sim-note .ti {
  color: var(--color-primary);
}

.sim-toolbar-actions {
  flex: 0 1 auto;
  min-width: 0;
  flex-wrap: wrap;
}

.sim-phone {
  max-width: 400px;
  margin: 0 auto;
  background: var(--color-bg-container);
  border: 8px solid var(--color-text);
  border-radius: 0;
  box-shadow: var(--shadow-popup);
  overflow: hidden;
}

.sim-phone-status {
  display: flex;
  justify-content: space-between;
  padding: var(--space-xs) var(--space-lg) 0;
  font-size: var(--font-size-sm);
  font-weight: 600;
}

.sim-phone-bar {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: var(--space-sm) var(--space-lg) var(--space-md);
  border-bottom: 1px solid var(--color-border-secondary);
}

.sim-phone-app {
  font-weight: 600;
  font-size: var(--font-size-lg);
}

.sim-phone-user {
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
}

.sim-phone-body {
  padding: var(--space-md) var(--space-lg) var(--space-xl);
  min-height: 420px;
  background: var(--color-bg-layout);
}

.sim-phone-title {
  margin: 0 0 var(--space-md);
  font-size: var(--font-size);
  font-weight: 600;
}

.sim-phone-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.sim-phone-item {
  background: var(--color-bg-container);
  border: 1px solid var(--color-border-secondary);
  border-radius: var(--radius-lg);
  padding: var(--space-md) var(--space);
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

.sim-phone-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
}

.sim-phone-customer {
  font-weight: 600;
}

.sim-phone-meta {
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
}

.sim-phone-actions {
  margin-top: var(--space-xs);
}

.sim-inbox {
  max-width: 640px;
}

.sim-ocr {
  display: flex;
  flex-direction: column;
  gap: var(--space);
  max-width: 760px;
}

.sim-inbox-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.sim-inbox-item {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

.sim-inbox-item.is-done {
  opacity: 0.7;
}

.sim-inbox-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--space-sm);
}

.sim-bubble {
  background: var(--color-bg-subtle);
  border: 1px solid var(--color-border-secondary);
  border-radius: var(--radius-lg) var(--radius-lg) var(--radius-lg) var(--radius-xs);
  padding: var(--space-sm) var(--space);
  overflow-wrap: anywhere;
}

.sim-toolbar .btn-list {
  flex-wrap: wrap;
}

.sim-bubble-type {
  color: var(--color-text-tertiary);
  font-size: var(--font-size-sm);
  margin-bottom: 2px;
}

.sim-inbox-foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-sm);
}

.sim-credit {
  padding: var(--space-sm) var(--space-lg);
  border-bottom: 1px solid var(--color-border-secondary);
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
}

.sim-credit strong {
  color: var(--color-text);
}

@media (max-width: 575.98px) {
  .sim-phone {
    border-width: 0;
    border-radius: var(--radius-lg);
    box-shadow: none;
  }

  .sim-phone-status {
    display: none;
  }
}

.segmented-fill {
  display: flex;
  width: 100%;
}

.segmented-item-end {
  margin-inline-start: auto;
}

.segmented-item-end .ti {
  font-size: var(--icon-size);
}

.lazy-skeleton {
  display: grid;
  gap: var(--space-sm);
  padding-block: var(--space-xs);
}

.lazy-skeleton-line {
  display: block;
  height: 0.875rem;
  border-radius: var(--radius-sm);
}

.lazy-skeleton-line:nth-child(3n) {
  width: 72%;
}

.lazy-skeleton-line:nth-child(3n + 1) {
  width: 88%;
}

.record-identity-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-xs);
  justify-self: stretch;
}

.record-track {
  padding-block: var(--space);
}

.track {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}

.track-node {
  position: relative;
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  column-gap: var(--space-sm);
  padding: var(--space-xs) var(--space-sm);
  border-radius: var(--radius-lg);
}

.track-node::before {
  position: absolute;
  top: calc(var(--space-xs) + 22px);
  bottom: calc(-1 * var(--space-xs) - 2px);
  left: calc(var(--space-sm) + 9px);
  width: 2px;
  content: "";
  background-color: var(--color-border-secondary);
}

.track-node:last-child::before {
  display: none;
}

.track-node[data-state="done"]::before {
  background-color: var(--color-success-border);
}

.track-dot {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  font-size: 12px;
  color: var(--color-text-light);
  background-color: var(--color-bg-container);
  border: 2px solid var(--color-border);
  border-radius: var(--radius-full);
}

.track-node[data-state="done"] .track-dot {
  background-color: var(--color-success);
  border-color: var(--color-success);
}

.track-node[data-state="done"][data-tone="red"] .track-dot {
  background-color: var(--color-error);
  border-color: var(--color-error);
}

.track-node[data-state="current"] {
  background-color: var(--color-primary-bg);
}

.track-node[data-state="current"] .track-dot {
  border-color: var(--color-primary);
}

.track-node[data-state="current"] .track-dot::after {
  width: 8px;
  height: 8px;
  content: "";
  background-color: var(--color-primary);
  border-radius: var(--radius-full);
}

.track-node[data-state="current"][data-tone="red"] {
  background-color: var(--color-error-bg);
}

.track-node[data-state="current"][data-tone="red"] .track-dot {
  border-color: var(--color-error);
}

.track-node[data-state="current"][data-tone="red"] .track-dot::after {
  background-color: var(--color-error);
}

.track-node[data-state="cancelled"] .track-dot {
  background-color: var(--color-error);
  border-color: var(--color-error);
}

.track-main {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.track-label {
  font-weight: var(--font-weight-medium);
  line-height: 20px;
}

.track-node[data-state="current"] .track-label {
  font-weight: var(--font-weight-strong);
}

.track-node[data-state="todo"] .track-label {
  color: var(--color-text-tertiary);
}

.track-node[data-state="cancelled"] .track-label {
  color: var(--color-error-text);
}

.track-line {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0 var(--space-xs);
  color: var(--color-text-secondary);
  overflow-wrap: anywhere;
  font-variant-numeric: tabular-nums;
}

.track-line[data-tone="red"] {
  color: var(--color-error-text);
}

.track-line[data-tone="yellow"] {
  color: var(--color-warning-text);
}

.track-line .btn-link {
  padding: 0;
  line-height: var(--line-height);
}

.track .checklist {
  margin-top: var(--space-xxs);
}

.track .checklist-item {
  min-height: 0;
  padding: 2px 0;
  border-top: 0;
}

.track .checklist-icon {
  font-size: var(--font-size);
}

.track-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
  margin-top: var(--space-xs);
}

.track-actions .btn-primary {
  min-width: 10rem;
}

.track-mini {
  display: inline-flex;
  flex: none;
  gap: 3px;
  vertical-align: middle;
}

.track-mini-dot {
  width: 6px;
  height: 6px;
  background-color: var(--color-border-secondary);
  border-radius: var(--radius-full);
}

.track-mini-dot.is-done {
  background-color: var(--color-success);
}

.track-mini-dot.is-current {
  background-color: var(--color-primary);
}

.track-mini[data-tone="blue"] .track-mini-dot.is-current {
  background-color: var(--color-info);
}

.track-mini[data-tone="red"] .track-mini-dot.is-current {
  background-color: var(--color-error);
}

.track-mini[data-tone="yellow"] .track-mini-dot.is-current {
  background-color: var(--color-warning);
}

.track-mini[data-tone="secondary"] .track-mini-dot.is-current {
  background-color: var(--gray-7);
}

.after-save {
  display: flex;
  gap: var(--space-xs);
  margin: var(--space-lg) 0 0;
  color: var(--color-text-secondary);
}

.after-save .ti {
  flex: none;
  margin-top: 2px;
  color: var(--color-text-tertiary);
}

.record-figures-lg dd {
  font-size: var(--font-size-heading-1);
  line-height: var(--line-height-heading-1);
  font-weight: var(--font-weight-bold);
  letter-spacing: -0.01em;
}

.picker-list .picker-item-disabled {
  color: var(--color-text-tertiary);
  background-color: var(--color-bg-subtle);
  cursor: not-allowed;
}

.picker-list .picker-item-disabled .fw-semibold {
  color: var(--color-text-secondary);
}

@media (max-width: 991.98px) {
  .record-track {
    padding-block: var(--space-sm);
  }
}

.settings-layout {
  display: flex;
  align-items: flex-start;
  gap: var(--space-xxl);
}

.settings-nav {
  position: sticky;
  top: calc(var(--topbar-height) + var(--space-md));
  flex: none;
  width: 220px;
}

.settings-nav-list {
  display: grid;
  gap: 2px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.settings-nav-link {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  min-height: var(--control-height);
  padding-inline: var(--space-sm);
  font-weight: var(--font-weight-medium);
  color: var(--color-nav-text);
  border-radius: var(--radius);
}

.settings-nav-link .ti {
  font-size: 18px;
  color: var(--color-text-tertiary);
}

.settings-nav-link:hover {
  color: var(--color-text);
  text-decoration: none;
  background-color: var(--color-fill-tertiary);
}

.settings-nav-link[aria-current] {
  color: var(--color-text);
  background-color: var(--color-fill-secondary);
}

.settings-nav-link[aria-current] .ti {
  color: var(--color-text);
}

.settings-main {
  display: grid;
  flex: 1 1 auto;
  gap: var(--space-lg);
  min-width: 0;
  max-width: 56rem;
}

.settings-head {
  display: grid;
  gap: var(--space-xxs);
}

.settings-title {
  margin: 0;
  font-size: var(--font-size-heading-1);
  line-height: var(--line-height-heading-1);
}

.settings-text {
  margin: 0;
  color: var(--color-text-secondary);
}

.settings-card {
  background-color: var(--color-bg-container);
  border: 1px solid var(--color-border-secondary);
  border-radius: var(--radius-lg);
}

.settings-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-sm);
  padding: var(--space) var(--space-lg);
  border-bottom: 1px solid var(--color-border-secondary);
}

.settings-card-title {
  margin: 0;
  font-size: var(--font-size-heading-3);
  line-height: var(--line-height-heading-3);
  font-weight: var(--font-weight-strong);
}

.settings-card-text {
  margin: var(--space-xxs) 0 0;
  color: var(--color-text-secondary);
}

.settings-card-actions {
  display: flex;
  flex: none;
  gap: var(--space-xs);
}

.settings-card-body {
  padding: var(--space-lg);
}

.settings-card-foot {
  display: flex;
  justify-content: flex-end;
  gap: var(--space-xs);
  padding: var(--space-sm) var(--space-lg);
  background-color: var(--color-bg-subtle);
  border-top: 1px solid var(--color-border-secondary);
  border-radius: 0 0 var(--radius-lg) var(--radius-lg);
}

.settings-logo {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-lg);
  align-items: flex-start;
}

.settings-logo-preview {
  display: flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 200px;
  height: 112px;
  padding: var(--space-xs);
  overflow: hidden;
  background-color: var(--color-bg-subtle);
  border: 1px dashed var(--color-border);
  border-radius: var(--radius);
}

.settings-logo-preview img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.settings-logo-empty {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xxs);
  color: var(--color-text-tertiary);
}

.settings-logo-form {
  flex: 1 1 260px;
  min-width: 0;
}

.settings-locations {
  border-top: 0;
}

.settings-locations .record-list-item:last-child {
  border-bottom: 0;
}

.settings-order {
  display: flex;
  flex: none;
  gap: 2px;
  min-width: calc(var(--control-height-sm) * 2 + 2px);
}

.print-logo {
  display: block;
  max-width: 180px;
  max-height: 56px;
  margin-bottom: var(--space-xs);
}

@media (max-width: 991.98px) {
  .settings-layout {
    display: block;
  }

  .settings-nav {
    position: static;
    width: auto;
    margin: 0 calc(var(--page-gutter) * -1) var(--space-lg);
    padding-inline: var(--page-gutter);
    border-bottom: 1px solid var(--color-border-secondary);
  }

  .settings-nav-list {
    display: flex;
    gap: var(--space-xxs);
    overflow-x: auto;
    scrollbar-width: none;
  }

  .settings-nav-list::-webkit-scrollbar {
    display: none;
  }

  .settings-nav-link {
    flex: none;
    min-height: var(--control-height);
    margin-bottom: -1px;
    white-space: nowrap;
    border-bottom: 2px solid transparent;
    border-radius: 0;
  }

  .settings-nav-link:hover,
  .settings-nav-link[aria-current] {
    background-color: transparent;
  }

  .settings-nav-link[aria-current] {
    border-bottom-color: var(--color-primary);
  }

  .settings-main {
    max-width: none;
  }

  .settings-card-body,
  .settings-card-head,
  .settings-card-foot {
    padding-inline: var(--space);
  }

  .settings-logo-preview {
    width: 100%;
  }
}

.settings-order-gap {
  width: var(--control-height-sm);
}

.settings-views {
  display: flex;
  gap: var(--space-xs);
  padding: 0 var(--space-lg);
  border-bottom: 1px solid var(--color-border-secondary);
}

.settings-view {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xxs);
  padding: var(--space-sm) var(--space-xs);
  margin-bottom: -1px;
  font-weight: var(--font-weight-medium);
  color: var(--color-text-secondary);
  border-bottom: 2px solid transparent;
}

.settings-view:hover {
  color: var(--color-text);
  text-decoration: none;
}

.settings-view.is-active {
  color: var(--color-text);
  border-bottom-color: var(--color-primary);
}

.settings-view-count {
  font-size: var(--font-size-sm);
  color: var(--color-text-tertiary);
}

.settings-roles {
  padding: 0 var(--space-lg);
}

.settings-roles .record-list-item:last-child {
  border-bottom: 0;
}

.perm-tree {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: var(--space-md);
}

.perm-group {
  min-width: 0;
  padding: var(--space-sm) var(--space-md);
  margin: 0;
  border: 1px solid var(--color-border-secondary);
  border-radius: var(--radius);
}

.perm-group-head {
  display: flex;
  justify-content: space-between;
  gap: var(--space-sm);
  width: 100%;
  padding: 0;
  margin-bottom: var(--space-xs);
  font-size: inherit;
  float: none;
}

.perm-group-title {
  font-weight: var(--font-weight-strong);
}

.perm-group-count {
  font-size: var(--font-size-sm);
  color: var(--color-text-tertiary);
}

.perm-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-xxs);
  padding: 0;
  margin: 0;
  list-style: none;
}

.perm-item .form-check-label {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-xxs);
}

.perm-item-critical .perm-label {
  font-weight: var(--font-weight-medium);
}

.perm-critical {
  color: var(--color-warning-text);
}

.perm-tag {
  margin-left: var(--space-xxs);
}

.record-form-foot {
  display: flex;
  justify-content: flex-end;
  gap: var(--space-xs);
  margin-top: var(--space-md);
}

.record-inline-form {
  margin-top: var(--space-sm);
}

@media (max-width: 575.98px) {
  .perm-tree {
    grid-template-columns: 1fr;
  }
}

.print-tools {
  display: flex;
  gap: var(--space-xs);
  margin-bottom: var(--space-lg);
}

.print-head-table {
  width: 100%;
  margin-bottom: var(--space);
  border-bottom: 1px solid var(--color-border-secondary);
}

.print-head-table td {
  padding: 0 0 var(--space);
  vertical-align: top;
}

.print-head-right {
  width: 40%;
  text-align: right;
}

.print-firm,
.print-strong {
  font-weight: var(--font-weight-strong);
}

.print-muted {
  color: var(--color-text-secondary);
}

.print-rows {
  width: 100%;
  border-collapse: collapse;
}

.print-rows th,
.print-rows td {
  padding: var(--space-xxs) var(--space-xs) var(--space-xxs) 0;
  vertical-align: top;
  text-align: left;
  border-bottom: 1px solid var(--color-border-subtle);
}

.print-rows th {
  width: 34%;
  font-weight: 400;
  color: var(--color-text-secondary);
}

.print-rows .print-tone-danger {
  color: var(--color-error-text);
}

.print-blank {
  display: block;
  min-height: 1.4em;
  border-bottom: 1px solid var(--color-border);
}

.print-terms {
  padding-left: var(--space-md);
  margin: 0;
}

.print-terms li {
  margin-bottom: var(--space-xxs);
}

.print-paragraph {
  margin-bottom: var(--space-xs);
}

.print-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: var(--space-xs);
}

.print-table th,
.print-table td {
  padding: var(--space-xxs) 0;
  text-align: left;
  border-bottom: 1px solid var(--color-border-subtle);
}

.print-table .print-amount,
.print-table th.print-amount {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.print-table tfoot th,
.print-table tfoot td {
  border-bottom: 0;
}

.print-signatures-table {
  width: 100%;
  margin-top: var(--space-xl);
  border-collapse: separate;
  border-spacing: var(--space-xl) 0;
  margin-left: calc(-1 * var(--space-xl));
  margin-right: calc(-1 * var(--space-xl));
}

.print-signatures-table .print-signature {
  width: 50%;
}

.print-sign-image {
  display: block;
  max-width: 220px;
  max-height: 90px;
  margin-bottom: var(--space-xxs);
}

.print-stamp {
  display: inline-block;
  padding: var(--space-xxs) var(--space-xs);
  margin-bottom: var(--space-xxs);
  border: 1px solid var(--color-success-border);
  border-radius: var(--radius-sm);
  color: var(--color-success-text);
  background-color: var(--color-success-bg);
  font-size: var(--font-size-sm);
}

@media print {
  .print-tools {
    display: none;
  }
}

.invoice-contract-pick {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
}

.invoice-contract-pick .btn.active {
  color: var(--color-primary-text);
  background-color: var(--color-primary-bg);
  border-color: var(--color-primary-border);
}

.list-export {
  display: flex;
  justify-content: flex-end;
  margin-bottom: var(--space-xs);
}

.form-layout-aside-foot {
  position: sticky;
  bottom: 0;
  gap: var(--space-xs);
  padding: var(--space-sm) var(--space-lg);
  background-color: var(--color-bg-container);
  border-top: 1px solid var(--color-border-secondary);
}

.form-layout-aside-foot .btn-primary {
  flex: 1 1 auto;
}

.settings-list-tools {
  padding-bottom: 0;
}

.settings-list-tools .list-toolbar {
  margin-bottom: var(--space-sm);
}

.profile-layout {
  max-width: 760px;
}

.license-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-xs) var(--space-sm);
  padding: var(--space-xs) var(--page-gutter);
  color: var(--color-warning-text);
  background-color: var(--color-warning-bg);
  border-bottom: 1px solid var(--color-warning-border);
}

.license-strip .ti {
  font-size: 18px;
}

.license-strip-text {
  flex: 1 1 200px;
}

.license-strip-expired {
  color: var(--color-error-text);
  background-color: var(--color-error-bg);
  border-bottom-color: var(--color-error-border);
}

.license-strip-btn {
  border-color: currentColor;
  color: inherit;
}

.license-block {
  max-width: 640px;
  margin: 0 auto;
}

.license-notes {
  padding-left: var(--space-md);
  margin: var(--space-md) 0;
  color: var(--color-text-secondary);
}

.license-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-xs);
}

.signature-pad {
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  background-color: var(--color-bg-container);
  overflow: hidden;
}

.signature-pad.is-invalid {
  border-color: var(--color-error);
}

.signature-canvas {
  display: block;
  width: 100%;
  height: 160px;
  touch-action: none;
  cursor: crosshair;
  background-image: linear-gradient(to top, var(--color-border-secondary) 1px, transparent 1px);
  background-size: 100% calc(100% - 36px);
  background-repeat: no-repeat;
}

.signature-canvas[data-disabled] {
  cursor: not-allowed;
  opacity: 0.5;
}

.signature-tools {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-xs);
  padding: var(--space-xxs) var(--space-xs);
  border-top: 1px solid var(--color-border-secondary);
  background-color: var(--color-bg-subtle);
}

.signature-status {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
}

.signature-pad[data-signed] .signature-status {
  color: var(--color-success-text);
}

.public-page {
  background-color: var(--color-bg-subtle);
}

.public-sheet {
  max-width: 40rem;
  margin: 0 auto;
  padding: var(--space) var(--page-gutter) var(--space-xl);
}

.public-head {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space) 0;
  margin-bottom: var(--space);
  border-bottom: 1px solid var(--color-border-secondary);
}

.public-logo {
  max-width: 120px;
  max-height: 48px;
}

.public-firm {
  color: var(--color-text-secondary);
}

.public-title {
  margin: 0;
  font-size: var(--font-size-heading-2);
  line-height: var(--line-height-heading-2);
}

.public-lead {
  margin-bottom: var(--space);
}

.public-section {
  margin-bottom: var(--space-lg);
}

.public-section-title {
  margin-bottom: var(--space-sm);
  font-size: var(--font-size-lg);
}

.public-form {
  padding: var(--space);
  margin-top: var(--space);
  background-color: var(--color-bg-container);
  border: 1px solid var(--color-border-secondary);
  border-radius: var(--radius-lg);
}

.public-note {
  margin: var(--space-sm) 0;
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
}

.public-foot {
  margin-top: var(--space-xl);
  padding-top: var(--space);
  border-top: 1px solid var(--color-border-secondary);
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
}

.public-photos {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: var(--space-xs);
}

.public-photo {
  margin: 0;
}

.public-photo img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius);
  background-color: var(--color-fill-quaternary);
}

.public-photo figcaption {
  margin-top: var(--space-xxs);
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
}

.showcase-link {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-lg);
  align-items: flex-start;
}

.showcase-link-main {
  flex: 1 1 280px;
  min-width: 0;
}

.showcase-link-url {
  display: flex;
  align-items: center;
  gap: var(--space-xxs);
  margin: var(--space-sm) 0 var(--space-xxs);
  font-weight: var(--font-weight-medium);
  overflow-wrap: anywhere;
}

.showcase-qr {
  display: grid;
  flex: none;
  gap: var(--space-xxs);
  justify-items: center;
  margin: 0;
  padding: var(--space-xs);
  background-color: var(--color-bg-container);
  border: 1px solid var(--color-border-secondary);
  border-radius: var(--radius);
}

.showcase-qr img {
  display: block;
  width: 160px;
  height: 160px;
}

.showcase-qr figcaption {
  font-size: var(--font-size-sm);
  color: var(--color-text-tertiary);
}

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

.showcase-thumb {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 42px;
  overflow: hidden;
  color: var(--color-text-tertiary);
  background-color: var(--color-fill-tertiary);
  border-radius: var(--radius-sm);
}

.showcase-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.showcase-photos .photo-strip-actions {
  gap: 2px;
}

.vitrin-body {
  background-color: var(--color-bg-layout);
  color: var(--color-text);
}

.vitrin {
  max-width: 64rem;
  margin: 0 auto;
  padding: var(--space-lg) var(--page-gutter) var(--space-xxl);
}

.vitrin-notice {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-xs);
  padding: var(--space-xs) var(--page-gutter);
  color: var(--color-warning-text);
  background-color: var(--color-warning-bg);
  border-bottom: 1px solid var(--color-warning-border);
}

.vitrin-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space);
  padding-bottom: var(--space-lg);
}

.vitrin-logo {
  display: flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  object-fit: contain;
  background-color: var(--color-bg-container);
  border: 1px solid var(--color-border-secondary);
  border-radius: var(--radius-lg);
}

.vitrin-logo-empty {
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-strong);
  color: var(--color-primary);
}

.vitrin-head-main {
  flex: 1 1 240px;
  min-width: 0;
}

.vitrin-title {
  margin: 0;
  font-size: var(--font-size-heading-1);
  line-height: var(--line-height-heading-1);
  font-weight: var(--font-weight-strong);
}

.vitrin-lead {
  margin: var(--space-xxs) 0 0;
  color: var(--color-text-secondary);
}

.vitrin-call {
  flex: none;
}

.vitrin-hero {
  margin: 0 0 var(--space-lg);
  overflow: hidden;
  border-radius: var(--radius-lg);
  background-color: var(--color-fill-tertiary);
}

.vitrin-hero img {
  display: block;
  width: 100%;
  max-height: 24rem;
  object-fit: cover;
}

.vitrin-section {
  margin-top: var(--space-xl);
}

.vitrin-section-title {
  margin: 0 0 var(--space-sm);
  font-size: var(--font-size-heading-2);
  line-height: var(--line-height-heading-2);
  font-weight: var(--font-weight-strong);
}

.vitrin-about {
  max-width: 48rem;
  margin: 0;
  font-size: var(--font-size-lg);
  line-height: var(--line-height-lg);
}

.vitrin-empty {
  margin: 0;
  color: var(--color-text-secondary);
}

.vitrin-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
  gap: var(--space);
  margin: 0;
  padding: 0;
  list-style: none;
}

.vitrin-vehicle {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background-color: var(--color-bg-container);
  border: 1px solid var(--color-border-secondary);
  border-radius: var(--radius-lg);
}

.vitrin-vehicle-photo {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 4 / 3;
  font-size: 2.5rem;
  color: var(--color-text-tertiary);
  background-color: var(--color-fill-tertiary);
}

.vitrin-vehicle-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.vitrin-vehicle-body {
  padding: var(--space-sm) var(--space);
}

.vitrin-vehicle-title {
  margin: 0;
  font-size: var(--font-size-heading-3);
  line-height: var(--line-height-heading-3);
  font-weight: var(--font-weight-strong);
}

.vitrin-vehicle-year {
  font-weight: var(--font-weight);
  color: var(--color-text-secondary);
}

.vitrin-vehicle-meta {
  margin: var(--space-xxs) 0 0;
  color: var(--color-text-secondary);
}

.vitrin-tiers {
  display: grid;
  gap: var(--space-xxs);
  margin: var(--space-sm) 0 0;
}

.vitrin-tier {
  display: flex;
  justify-content: space-between;
  gap: var(--space-xs);
  padding-top: var(--space-xxs);
  border-top: 1px dashed var(--color-border-secondary);
}

.vitrin-tier dt {
  font-weight: var(--font-weight);
  color: var(--color-text-secondary);
}

.vitrin-tier dd {
  margin: 0;
  font-weight: var(--font-weight-strong);
  font-variant-numeric: tabular-nums;
}

.vitrin-tier dd span {
  font-weight: var(--font-weight);
  color: var(--color-text-tertiary);
}

.vitrin-tier.is-campaign dd {
  color: var(--color-success-text);
}

.vitrin-photos {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr));
  gap: var(--space-xs);
}

.vitrin-photos img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius);
  background-color: var(--color-fill-tertiary);
}

.vitrin-contact-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
  gap: var(--space-lg);
  padding: var(--space-lg);
  background-color: var(--color-bg-container);
  border: 1px solid var(--color-border-secondary);
  border-radius: var(--radius-lg);
}

.vitrin-contact-line {
  display: flex;
  gap: var(--space-xs);
  margin: 0 0 var(--space-xs);
}

.vitrin-contact-line .ti {
  flex: none;
  margin-top: 2px;
  color: var(--color-text-tertiary);
}

.vitrin-contact-label {
  margin: 0 0 var(--space-xxs);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  color: var(--color-text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.vitrin-locations,
.vitrin-links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
  margin: 0 0 var(--space);
  padding: 0;
  list-style: none;
}

.vitrin-locations li,
.vitrin-links a {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xxs);
  padding: var(--space-xxs) var(--space-sm);
  color: var(--color-text);
  background-color: var(--color-bg-subtle);
  border: 1px solid var(--color-border-secondary);
  border-radius: var(--radius-full);
  text-decoration: none;
}

.vitrin-foot {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--space-xs);
  margin-top: var(--space-xl);
  padding-top: var(--space);
  font-size: var(--font-size-sm);
  color: var(--color-text-tertiary);
  border-top: 1px solid var(--color-border-secondary);
}

.vitrin-offline {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 70vh;
}

.vitrin-card {
  max-width: 11rem;
  padding: var(--space-xl);
  text-align: center;
  background-color: var(--color-bg-container);
  border: 1px solid var(--color-border-secondary);
  border-radius: var(--radius-lg);
}

.vitrin-offline-icon {
  font-size: 2.5rem;
  color: var(--color-text-tertiary);
}

@media (max-width: 575.98px) {
  .vitrin-call {
    width: 100%;
    justify-content: center;
  }
}

.integration-status {
  display: grid;
  gap: var(--space-xs) var(--space-lg);
  margin-bottom: var(--space-md);
  padding-bottom: var(--space-md);
  border-bottom: 1px solid var(--color-border-secondary);
}

.integration-status-main {
  display: grid;
  grid-template-columns: 140px minmax(0, 1fr);
  gap: var(--space-xs);
  align-items: baseline;
}

.integration-status-label {
  font-size: var(--font-size-sm);
  color: var(--color-text-tertiary);
}

.integration-status-value {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-xs);
  min-width: 0;
}

.integration-figure {
  font-size: 20px;
  font-weight: var(--font-weight-strong);
}

.integration-code {
  padding: 2px var(--space-xs);
  font-size: 18px;
  letter-spacing: 0.08em;
  color: var(--color-text);
  background-color: var(--color-bg-subtle);
  border-radius: var(--radius-sm);
}

.integration-token {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-xxs);
  word-break: break-all;
}

.app-health {
  position: relative;
}

.app-health-dot {
  position: absolute;
  top: 6px;
  right: 6px;
  width: 8px;
  height: 8px;
  border-radius: var(--radius-full);
  border: 2px solid var(--color-bg-container);
  box-sizing: content-box;
}

.app-health-yellow {
  background-color: var(--color-warning);
}

.app-health-red {
  background-color: var(--color-error);
}

.app-health-menu {
  min-width: 280px;
}

.app-health-item {
  display: flex;
  gap: var(--space-xs);
  align-items: flex-start;
  white-space: normal;
}

@media (max-width: 575.98px) {
  .integration-status-main {
    grid-template-columns: 1fr;
    gap: 2px;
  }
}

.perm-tree .form-check-input:disabled:checked {
  background-color: var(--color-primary-border);
  border-color: var(--color-primary-border);
}

.perm-tree .form-check-input:disabled ~ .form-check-label {
  color: var(--color-text-secondary);
}

.shop-layout {
  display: flex;
  align-items: flex-start;
  gap: var(--space-lg);
}

.shop-main {
  flex: 1 1 auto;
  min-width: 0;
}

.shop-section + .shop-section {
  margin-top: var(--space-xl);
}

.shop-section-title {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  margin: 0 0 var(--space-sm);
  font-size: var(--font-size-heading-3);
  line-height: var(--line-height-heading-3);
  font-weight: var(--font-weight-strong);
}

.shop-section-title .ti {
  color: var(--color-text-tertiary);
}

.shop-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
  gap: var(--space);
}

.shop-card.is-highlight {
  border-color: var(--color-primary-border);
  box-shadow: 0 0 0 2px var(--color-primary-bg);
}

.shop-card-title {
  margin: 0 0 var(--space-xxs);
  font-size: var(--font-size-lg);
  line-height: var(--line-height-lg);
  font-weight: var(--font-weight-strong);
}

.shop-card-text {
  min-height: 2.6em;
  margin: var(--space-xxs) 0 0;
  color: var(--color-text-secondary);
}

.shop-card-price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--space-xxs);
  margin: var(--space-sm) 0;
}

.shop-card-amount {
  font-size: var(--font-size-heading-2);
  font-weight: var(--font-weight-strong);
  font-variant-numeric: tabular-nums;
}

.shop-card-unit {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
}

.shop-add {
  display: flex;
  gap: var(--space-xs);
}

.shop-add input {
  width: 4.5rem;
  flex: none;
}

.shop-add .btn {
  flex: 1 1 auto;
}

.shop-cart {
  position: sticky;
  top: calc(var(--topbar-height) + var(--space-md));
  flex: none;
  width: 21rem;
  padding: var(--space);
  background-color: var(--color-bg-container);
  border: 1px solid var(--color-border-secondary);
  border-radius: var(--radius-lg);
}

.shop-cart-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-xs);
  margin-bottom: var(--space-sm);
}

.shop-cart-title {
  display: flex;
  align-items: center;
  gap: var(--space-xxs);
  margin: 0;
  font-size: var(--font-size-heading-3);
  font-weight: var(--font-weight-strong);
}

.shop-cart-empty {
  margin: 0;
  color: var(--color-text-secondary);
}

.shop-cart-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.shop-cart-item {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--space-xs) 0;
  border-top: 1px solid var(--color-border-secondary);
}

.shop-cart-item-main {
  flex: 1 1 auto;
  min-width: 0;
}

.shop-cart-item-title {
  display: block;
  font-weight: var(--font-weight-medium);
}

.shop-cart-item-meta {
  display: block;
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
}

.shop-cart-totals {
  margin: var(--space-sm) 0;
  padding-top: var(--space-xs);
  border-top: 1px solid var(--color-border);
}

.shop-cart-totals > div {
  display: flex;
  justify-content: space-between;
  gap: var(--space-xs);
  padding: 2px 0;
}

.shop-cart-totals dt {
  font-weight: var(--font-weight);
  color: var(--color-text-secondary);
}

.shop-cart-totals dd {
  margin: 0;
  font-variant-numeric: tabular-nums;
}

.shop-cart-total dt,
.shop-cart-total dd {
  font-weight: var(--font-weight-strong);
  color: var(--color-text);
}

.shop-bank {
  padding: var(--space-sm) var(--space);
  background-color: var(--color-bg-subtle);
  border: 1px solid var(--color-border-secondary);
  border-radius: var(--radius);
}

.shop-checkout-table tfoot td {
  border-top: 0;
  padding-top: 2px;
  padding-bottom: 2px;
}

.billing-license {
  display: grid;
  gap: var(--space-sm);
  justify-items: start;
}

.billing-balance {
  min-width: 4rem;
  text-align: right;
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-strong);
  font-variant-numeric: tabular-nums;
}

.billing-balance.is-low {
  color: var(--color-error-text);
}

@media (max-width: 991.98px) {
  .shop-layout {
    flex-direction: column;
  }

  .shop-cart {
    position: static;
    width: 100%;
  }
}

button.app-search {
  font: inherit;
  text-align: left;
  cursor: pointer;
}

button.app-search:focus-visible {
  outline: 0;
  border-color: var(--color-primary);
  box-shadow: var(--focus-ring);
}

.app-search-label {
  flex: 1;
  min-width: 0;
  font-size: var(--font-size-input);
  color: var(--color-text-secondary);
}

.palette .modal-dialog {
  max-width: 40rem;
  margin-top: 10vh;
}

.palette .modal-content {
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-popup);
}

.palette-head {
  display: flex;
  flex: none;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--space-xs) var(--space);
  border-bottom: 1px solid var(--color-border);
}

.palette-head > .ti {
  font-size: var(--icon-size-lg);
  color: var(--color-text-tertiary);
}

.palette-input {
  flex: 1;
  min-width: 0;
  height: var(--control-height-lg);
  padding: 0;
  font-size: var(--font-size-lg);
  color: var(--color-text);
  background: transparent;
  border: 0;
  outline: 0;
}

.palette-input::placeholder {
  color: var(--color-text-tertiary);
}

.palette-close {
  display: none;
}

.palette-body {
  max-height: min(60vh, 32rem);
  padding: var(--space-xs);
  overflow-y: auto;
  transition: opacity var(--motion-duration-fast) var(--motion-ease-in-out);
}

.palette-body.is-loading {
  opacity: 0.6;
}

.palette-group + .palette-group {
  padding-top: var(--space-xs);
  margin-top: var(--space-xs);
  border-top: 1px solid var(--color-border);
}

.palette-group-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 28px;
  padding: 0 var(--space-sm);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  color: var(--color-text-tertiary);
}

.palette-item {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  min-height: 44px;
  padding: var(--space-xs) var(--space-sm);
  color: var(--color-text);
  text-decoration: none;
  border-radius: var(--radius);
}

.palette-item:hover,
.palette-item.is-active {
  color: var(--color-text);
  text-decoration: none;
  background-color: var(--color-fill-tertiary);
}

.palette-item > .ti {
  flex: none;
  font-size: var(--icon-size-lg);
  color: var(--color-text-secondary);
}

.palette-item-text {
  display: grid;
  flex: 1;
  min-width: 0;
}

.palette-item-label,
.palette-item-sub {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.palette-item-label {
  font-weight: var(--font-weight-medium);
}

.palette-item-sub {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
}

.palette-item > .status {
  flex: none;
}

.palette-note {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
  align-items: center;
  justify-content: center;
  padding: var(--space-lg) var(--space);
  color: var(--color-text-secondary);
  text-align: center;
}

.palette-foot {
  display: flex;
  flex: none;
  gap: var(--space);
  padding: var(--space-xs) var(--space);
  font-size: var(--font-size-sm);
  color: var(--color-text-tertiary);
  border-top: 1px solid var(--color-border);
}

.palette-foot .app-kbd {
  margin-right: var(--space-xxs);
}

@media (max-width: 575.98px) {
  .palette .modal-dialog {
    margin-top: 0;
  }

  .palette .modal-content {
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  .palette-head {
    padding-inline: var(--page-gutter);
  }

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

  .palette-esc,
  .palette-foot {
    display: none;
  }

  .palette-body {
    flex: 1;
    max-height: none;
  }
}

.partner-logo {
  object-fit: contain;
  padding: 2px;
  background-color: var(--color-bg-container);
  border: 1px solid var(--color-border-secondary);
}

.person .partner-logo {
  flex: none;
}

.tl-block-monthly {
  color: var(--green-8);
  background-color: var(--green-1);
  border-color: var(--green-3);
}

.period-list-seq {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  height: 2rem;
  border-radius: var(--radius-sm);
  background-color: var(--color-fill-tertiary);
  font-variant-numeric: tabular-nums;
  font-weight: 600;
}

.period-list-item[data-open="1"] .period-list-seq {
  color: var(--green-8);
  background-color: var(--green-1);
}

.score-card {
  display: grid;
  gap: var(--space-md);
}

.score-card-values {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-md);
}

.score-card-value {
  display: grid;
  gap: var(--space-xxs);
  padding: var(--space-md);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-lg);
  background: var(--color-bg-subtle);
}

.score-card-label,
.score-drawer-label {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
}

.score-card-number {
  font-size: var(--font-size-heading);
  font-weight: var(--font-weight-strong);
  line-height: 1.1;
}

.score-card-max {
  font-size: var(--font-size-lg);
  font-weight: 400;
  color: var(--color-text-tertiary);
}

.score-tone-green {
  color: var(--color-success-text);
}

.score-tone-yellow {
  color: var(--color-warning-text);
}

.score-tone-secondary {
  color: var(--color-text-tertiary);
}

.score-card-meta {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
}

.score-card-formula > summary {
  cursor: pointer;
  font-weight: var(--font-weight-medium);
  color: var(--color-text-secondary);
}

.score-card-formula > p {
  margin: var(--space-sm) 0 0;
  color: var(--color-text-secondary);
}

.score-card-calc {
  font-weight: var(--font-weight-medium);
  color: var(--color-text);
}

.score-card-table {
  margin-top: var(--space-sm);
}

.score-card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xxs);
}

.score-tag {
  display: inline-flex;
  gap: var(--space-xxs);
  padding: 0 var(--space-xs);
  border-radius: var(--radius-full);
  font-size: var(--font-size-sm);
  line-height: 1.6;
  background: var(--color-fill-tertiary);
}

.score-tag-positive {
  background: var(--color-success-bg);
  color: var(--color-success-text);
}

.score-tag-negative {
  background: var(--color-warning-bg);
  color: var(--color-warning-text);
}

.score-tag-severe {
  background: var(--color-error-bg);
  color: var(--color-error-text);
}

.score-drawer-current {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--space-xs);
  padding: var(--space-sm) var(--space-md);
  border-radius: var(--radius-sm);
  background: var(--color-bg-subtle);
}

.score-drawer-value {
  font-weight: var(--font-weight-strong);
}

.review-body {
  margin: var(--space-xxs) 0 0;
  color: var(--color-text-secondary);
  max-width: 48ch;
}

.help-layout .settings-main {
  max-width: 76ch;
}

.help-article + .help-article {
  margin-top: var(--space-xxl);
  padding-top: var(--space-xl);
  border-top: 1px solid var(--color-border-subtle);
}

.help-article h2 {
  font-size: var(--font-size-xl);
  margin-bottom: var(--space-sm);
}

.help-article h3 {
  font-size: var(--font-size-lg);
  margin: var(--space-lg) 0 var(--space-xs);
}

.help-article p,
.help-article li {
  color: var(--color-text-secondary);
  line-height: 1.6;
}

.help-article ul,
.help-article ol {
  padding-left: var(--space-lg);
}

.help-article code {
  padding: 0 var(--space-xxs);
  border-radius: var(--radius-sm);
  background: var(--color-fill-tertiary);
  color: var(--color-text);
}

.help-article blockquote {
  margin: var(--space-sm) 0;
  padding: var(--space-xs) var(--space-md);
  border-left: 3px solid var(--color-border);
  color: var(--color-text-secondary);
}

.help-support {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-md);
}

.help-support-card {
  display: grid;
  gap: var(--space-xs);
  padding: var(--space-lg);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-lg);
  background: var(--color-bg-container);
}

.help-support-card .ti {
  font-size: var(--font-size-heading);
  color: var(--color-primary);
}

.help-support-title {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-strong);
  margin: 0;
}

.help-support-text {
  margin: 0;
  color: var(--color-text-secondary);
}

.help-support-value {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-medium);
}

.help-support-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
  margin-top: var(--space-xs);
}

.help-steps {
  padding-left: var(--space-lg);
  color: var(--color-text-secondary);
}

.help-steps li + li {
  margin-top: var(--space-xxs);
}

.vlog-cell {
  display: grid;
  gap: 0;
  line-height: 1.35;
}

.vlog-cell-meta {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
}

.vlog-doc-expired {
  color: var(--color-error-text);
}

.vlog-doc-soon {
  color: var(--color-warning-text);
}

@media (max-width: 767.98px) {
  .score-card-values,
  .help-support {
    grid-template-columns: 1fr;
  }
}

.sms-lead {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  flex-wrap: wrap;
}

.sms-lead-balance {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xxs);
  height: var(--control-height);
  padding: 0 var(--space-sm);
  border-radius: var(--radius);
  background: var(--color-fill-tertiary);
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
  white-space: nowrap;
}

.sms-lead-balance .tabular-nums {
  color: var(--color-text);
  font-weight: var(--font-weight-medium);
}

.sms-lead-balance.is-low {
  background: var(--color-warning-bg);
  color: var(--color-warning-text);
}

.sms-lead-balance.is-low .tabular-nums {
  color: var(--color-warning-text);
}

.sms-progress {
  display: grid;
  gap: var(--space-xs);
  margin-bottom: var(--space);
}

.sms-progress-item {
  padding: var(--space-sm) var(--space);
  border: 1px solid var(--color-border-secondary);
  border-radius: var(--radius);
  background: var(--color-bg-container);
}

.sms-progress-item.is-failed {
  border-color: var(--color-error-border);
  background: var(--color-error-bg);
}

.sms-progress-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--space-xs);
  flex-wrap: wrap;
  margin-bottom: var(--space-xs);
}

.sms-progress-title {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xxs);
  font-weight: var(--font-weight-medium);
}

.sms-progress-item.is-running .sms-progress-title .ti {
  color: var(--color-primary);
}

.sms-progress-item.is-done .sms-progress-title .ti {
  color: var(--color-success);
}

.sms-progress-item.is-failed .sms-progress-title .ti {
  color: var(--color-error);
}

.sms-progress-meta,
.sms-progress-note {
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
}

.sms-progress-note {
  margin-top: var(--space-xxs);
}

.sms-progress-error {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  flex-wrap: wrap;
  margin-top: var(--space-xxs);
  color: var(--color-error-text);
  font-size: var(--font-size-sm);
}

.sms-bubble {
  padding: var(--space-sm) var(--space);
  border-radius: var(--radius-lg);
  border-top-left-radius: var(--radius-xs);
  background: var(--color-fill-tertiary);
  color: var(--color-text);
  line-height: var(--line-height-lg);
  overflow-wrap: anywhere;
}

.sms-cell-text {
  display: inline-block;
  max-width: 11rem;
  color: var(--color-text-secondary);
}

.sms-events {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--space-xs);
}

.sms-event {
  display: grid;
  grid-template-columns: auto auto 1fr;
  align-items: baseline;
  gap: var(--space-xs);
}

.sms-event .status-dot {
  align-self: center;
}

.sms-event-time {
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
  white-space: nowrap;
}

.sms-summary-count {
  display: flex;
  align-items: baseline;
  gap: var(--space-xs);
  margin-top: var(--space-xs);
}

.sms-summary-number {
  font-size: var(--font-size-heading-1);
  font-weight: var(--font-weight-bold);
  line-height: 1;
}

.sms-summary-label {
  color: var(--color-text-secondary);
}

.sms-summary-breakdown {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xxs);
  margin-top: var(--space-xs);
}

.sms-source-block {
  padding: var(--space);
  border: 1px solid var(--color-border-secondary);
  border-radius: var(--radius);
  background: var(--color-bg-subtle);
}

.sms-source-title {
  margin: 0 0 var(--space-xxs);
  font-size: var(--font-size);
  font-weight: var(--font-weight-medium);
}

.sms-source-text {
  margin: 0 0 var(--space-sm);
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
}

@media (max-width: 575.98px) {
  .sms-cell-text {
    max-width: 100%;
    white-space: normal;
  }

  .sms-event {
    grid-template-columns: auto 1fr;
  }

  .sms-event-text {
    grid-column: 2;
  }
}

.help-nav-sub {
  padding-left: var(--space-xl);
  font-size: var(--font-size-sm);
}

.list-toolbar {
  padding: var(--space-sm) var(--space);
  background-color: var(--color-bg-container);
  border: 1px solid var(--color-border-secondary);
}

.list-surface {
  background-color: var(--color-bg-container);
  border: 1px solid var(--color-border-secondary);
}

.list-surface .table thead th {
  height: 44px;
  padding-block: 0;
  font-family: var(--font-family-display);
  font-size: 11px;
  font-weight: var(--font-weight-medium);
  line-height: 16px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-text-tertiary);
  vertical-align: middle;
  background-color: var(--color-bg-subtle);
}

.list-surface .table > tbody > tr > td {
  height: var(--row-height);
  padding-block: 0;
  vertical-align: middle;
}

.list-footer {
  padding-inline: var(--space-xxs);
}

.plate {
  --plate-height: 24px;
  border: 1.5px solid var(--color-text);
}

.plate-number {
  font-family: var(--font-family-display);
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.04em;
}

.list-surface .table {
  --tblr-table-cell-padding-x: 10px;
}

.list-surface .table tr > :first-child {
  padding-inline-start: var(--space);
}

.list-surface .table tr > :last-child {
  padding-inline-end: var(--space);
}

.list-surface .status {
  font-size: inherit;
}

.list-surface .table {
  --tblr-table-cell-padding-x: 8px;
}

.list-surface .plate {
  --plate-height: 22px;
}

.list-surface .plate-number {
  padding-inline: 6px;
  font-size: 12px;
  letter-spacing: 0.02em;
}

@media (min-width: 768px) {
  .list-surface .cell-truncate {
    max-width: 10rem;
  }
}

h1,
h2,
h3,
h4,
h5,
.h1,
.h2,
.h3,
.h4,
.page-title,
.card-title,
.modal-title,
.offcanvas-title,
.record-title-text,
.record-name,
.record-section-title,
.record-block-title,
.subsection-title,
.modal-form-title,
.object-header-title,
.statistic-value,
.amount-summary-total {
  font-family: var(--font-family-display);
  letter-spacing: -0.01em;
}

.page-title {
  font-weight: var(--font-weight-bold);
  letter-spacing: -0.02em;
}

.record-title,
.form-block-title,
.form-section-title,
.settings-title,
.settings-card-title,
.rep-card-title,
.rep-hub-title,
.rep-range-title,
.income-section-title,
.shop-section-title,
.flow-step-title,
.collapse-section-title,
.help-support-title,
.public-title,
.public-section-title,
.worklist-title,
.list-range-title,
.rz-section-title,
.tl-group-title,
.print-title {
  font-family: var(--font-family-display);
  letter-spacing: -0.01em;
}

:root {
  --dash-aside: 352px;
}

.page-wrapper > .page-header ~ .page-body {
  padding-top: var(--space-lg);
}

@media (max-width: 991.98px) {
  .app-sidebar {
    --tblr-offcanvas-border-width: 0;
  }
}

.worklist-alert {
  flex-wrap: wrap;
  row-gap: var(--space-xs);
}

.worklist-alert > .flex-fill {
  min-width: 12rem;
}

.dcard {
  display: flex;
  flex-direction: column;
  min-width: 0;
  color: var(--color-text);
  background-color: var(--color-bg-container);
  border: 1px solid var(--color-border-secondary);
}

a.dcard:hover {
  color: var(--color-text);
  text-decoration: none;
  background-color: var(--color-bg-subtle);
}

a.dcard:focus-visible {
  outline: 0;
  box-shadow: var(--focus-outline);
}

.dcard-head {
  display: flex;
  flex: none;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  height: var(--head-height);
  padding-inline: var(--card-pad-x);
  border-bottom: 1px solid var(--color-border-secondary);
}

.dcard-title {
  margin: 0;
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-bold);
  line-height: 24px;
}

.dcard-link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xxs);
  font-size: 13px;
  font-weight: var(--font-weight-strong);
  line-height: 16px;
  color: var(--color-text-secondary);
}

.dcard-link:hover {
  color: var(--color-primary-text);
  text-decoration: none;
}

.dcard-link .ti {
  font-size: var(--icon-size);
}

.dcard-tools {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
}

.dblock {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--space-xxs);
  min-height: 96px;
  padding: var(--space) var(--card-pad-x);
}

.dblock-value {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: var(--space-xs);
  font-family: var(--font-family-display);
  font-size: var(--font-size-figure);
  font-weight: 800;
  line-height: 40px;
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
}

.dblock-value .statistic-trend {
  font-family: var(--font-family);
  font-size: 13px;
  font-weight: var(--font-weight-strong);
  letter-spacing: 0;
}

.dblock-affix {
  font-family: var(--font-family);
  font-size: var(--font-size);
  font-weight: var(--font-weight);
  letter-spacing: 0;
  color: var(--color-text-tertiary);
}

.drow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  min-height: var(--row-height);
  padding-inline: var(--card-pad-x);
  color: var(--color-text);
  border-top: 1px solid var(--color-border-secondary);
}

a.drow:hover {
  color: var(--color-text);
  text-decoration: none;
  background-color: var(--color-bg-subtle);
}

.drow > span {
  color: var(--color-text-secondary);
}

.drow b {
  font-family: var(--font-family-display);
  font-size: var(--font-size);
  font-weight: var(--font-weight-bold);
  line-height: 20px;
  font-variant-numeric: tabular-nums;
}

.drow-end {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}

.dash-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--dash-aside);
  gap: var(--space);
  margin-bottom: var(--space);
}

.dash-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space);
  min-width: 0;
}

.dash-stat,
.dash-next {
  gap: var(--space-xs);
  height: var(--stat-height);
  padding: var(--card-pad-x);
}

.dash-stat-label {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  font-size: var(--font-size);
  font-weight: var(--font-weight-medium);
  line-height: 20px;
  color: var(--color-text-secondary);
}

.dash-stat-num {
  font-family: var(--font-family-display);
  font-size: var(--font-size-stat);
  font-weight: 800;
  line-height: 44px;
  letter-spacing: -0.04em;
  font-variant-numeric: tabular-nums;
}

.dash-stat-sub {
  font-size: 13px;
  line-height: 16px;
  color: var(--color-text-tertiary);
}

.dash-next-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-xs);
  height: 20px;
}

.dash-next-time {
  font-family: var(--font-family-display);
  font-size: var(--font-size);
  font-weight: 800;
  line-height: 20px;
}

.dash-next-who {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  height: 28px;
  min-width: 0;
  font-weight: var(--font-weight-strong);
}

.dash-next-name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dash-next-empty {
  margin: 0;
  font-size: var(--font-size);
  color: var(--color-text-tertiary);
}

.dash-next .dash-next-action {
  width: 100%;
  margin-top: auto;
}

.worklist-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--dash-aside);
  gap: var(--space);
  align-items: start;
}

.worklist-main {
  min-width: 0;
}

.tabs-full {
  display: flex;
  flex: none;
  height: var(--head-height);
  border-bottom: 1px solid var(--color-border-secondary);
}

.tab-full {
  position: relative;
  display: flex;
  flex: 1 1 0;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 0;
  padding-inline: var(--space-xs);
  font-size: var(--font-size);
  font-weight: var(--font-weight-medium);
  line-height: 20px;
  color: var(--color-text-secondary);
  white-space: nowrap;
  background-color: var(--color-bg-subtle);
}

.tab-full + .tab-full {
  box-shadow: inset 1px 0 0 var(--color-border-secondary);
}

.tab-full:hover {
  color: var(--color-text);
  text-decoration: none;
  background-color: var(--color-fill-secondary);
}

.tab-full.active {
  font-weight: var(--font-weight-bold);
  color: var(--color-text);
  background-color: var(--color-bg-container);
}

.tab-full.active::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  bottom: -1px;
  height: 3px;
  background-color: var(--color-primary);
}

.tab-full:focus-visible {
  outline: 0;
  box-shadow: inset var(--focus-outline);
}

.tab-full-count {
  font-size: 12px;
  font-weight: var(--font-weight-medium);
  color: var(--color-text-tertiary);
}

.tab-full .ti {
  font-size: var(--icon-size);
}

.worklist-body {
  min-height: 432px;
}

.worklist-calendar {
  padding: var(--space) var(--card-pad-x) var(--card-pad-x);
}

.worklist-rows {
  margin: 0;
  padding: 0;
  list-style: none;
}

.worklist-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 56px 152px;
  gap: var(--space);
  align-items: center;
  min-height: var(--row-height-lg);
  padding: var(--space-sm) var(--card-pad-x);
  border-top: 1px solid var(--color-border-secondary);
}

.worklist-row:first-child {
  border-top: 0;
}

.worklist-main-cell,
.worklist-row > .worklist-main {
  min-width: 0;
}

.worklist-title {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-xs);
  min-height: 24px;
  font-size: var(--font-size);
  font-weight: var(--font-weight-strong);
  line-height: 20px;
}

.worklist-meta {
  display: -webkit-box;
  overflow: hidden;
  margin: 0;
  font-size: 13px;
  line-height: 20px;
  color: var(--color-text-secondary);
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.worklist-phone {
  color: inherit;
  white-space: nowrap;
}

.worklist-time {
  font-size: 13px;
  font-weight: var(--font-weight-strong);
  line-height: 20px;
  color: var(--color-text-secondary);
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.worklist-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--space-xs);
}

.worklist-actions > .btn,
.worklist-actions > .d-inline-block {
  flex: 1 1 auto;
  min-width: 0;
}

.worklist-actions > .d-inline-block .btn {
  width: 100%;
}

.worklist-actions > .dropdown {
  flex: none;
}

.worklist-foot {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: var(--row-height);
  font-size: 13px;
  font-weight: var(--font-weight-strong);
  line-height: 16px;
  color: var(--color-text-secondary);
  border-top: 1px solid var(--color-border-secondary);
}

.worklist-foot:hover {
  color: var(--color-primary-text);
  text-decoration: none;
  background-color: var(--color-bg-subtle);
}

.worklist-empty-icon {
  font-size: 32px;
  color: var(--color-success);
}

.worklist-empty-title {
  margin: 0;
  font-weight: var(--font-weight-strong);
}

.worklist-body > .record-empty {
  padding-block: var(--space-xxl);
}

.worklist-failed {
  margin: 0;
  padding: var(--space-sm) var(--card-pad-x);
}

.worklist-aside {
  display: flex;
  flex-direction: column;
  gap: var(--space);
  min-width: 0;
}

.worklist-aside > .dcard > .record-muted {
  margin: 0;
  padding: var(--space-lg) var(--card-pad-x);
}

.ahead-day-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-xs);
  height: 32px;
  padding-inline: var(--card-pad-x);
  color: var(--color-text);
  background-color: var(--color-bg-subtle);
  border-top: 1px solid var(--color-border-secondary);
}

.ahead-day:first-child .ahead-day-head {
  border-top: 0;
}

.ahead-day-head:hover {
  color: var(--color-text);
  text-decoration: none;
  background-color: var(--color-fill-secondary);
}

.ahead-day-name {
  font-family: var(--font-family-display);
  font-size: 11px;
  font-weight: var(--font-weight-medium);
  line-height: 16px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-text-tertiary);
}

.ahead-day-date {
  margin-inline-start: var(--space-xxs);
  font-family: var(--font-family);
  font-weight: var(--font-weight);
  letter-spacing: 0;
  text-transform: none;
}

.ahead-day-summary {
  font-size: 12px;
  line-height: 16px;
  color: var(--color-text-tertiary);
}

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

.ahead-item {
  display: grid;
  grid-template-columns: 44px 8px minmax(0, 1fr);
  gap: var(--space-sm);
  align-items: center;
  height: 44px;
  padding-inline: var(--card-pad-x);
  border-top: 1px solid var(--color-border-secondary);
}

.ahead-list .ahead-item:first-child {
  border-top: 0;
}

.ahead-time {
  font-size: 13px;
  font-weight: var(--font-weight-medium);
  color: var(--color-text-secondary);
  font-variant-numeric: tabular-nums;
}

.ahead-title {
  min-width: 0;
  overflow: hidden;
  color: var(--color-text);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ahead-more {
  grid-column: 3;
  font-size: 12px;
  color: var(--color-text-tertiary);
}

.ahead-item .agd-swatch {
  width: 8px;
  height: 8px;
  border: 0;
}

.ahead-item .agd-tone-rental {
  background-color: var(--blue-6);
}

.ahead-item .agd-tone-payment {
  background-color: var(--gold-6);
}

.ahead-item .agd-tone-maintenance {
  background-color: var(--gray-7);
}

.ahead-item .agd-tone-document {
  background-color: var(--red-6);
}

.ahead-item .agd-tone-task {
  background-color: var(--brand-6);
}

.dcard > .ov-fleet-bar {
  width: auto;
  margin: 0 var(--card-pad-x) var(--space);
}

.ov-legend {
  gap: 0;
}

.ov-legend-item {
  height: var(--row-height);
  padding-inline: var(--card-pad-x);
  border-top: 1px solid var(--color-border-secondary);
}

.ov-swatch {
  width: 8px;
  height: 8px;
  border-radius: 0;
}

@media (max-width: 1279.98px) {
  .dash-top,
  .worklist-layout {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 767.98px) {
  .dash-stats {
    gap: var(--space-xs);
  }

  .dash-stat {
    height: auto;
    min-height: 122px;
    padding: var(--space);
  }

  .dash-stat-num {
    font-size: var(--font-size-figure);
    line-height: 38px;
  }

  .tab-full {
    flex: 1 0 auto;
    padding-inline: var(--space-sm);
  }

  .tabs-full {
    overflow-x: auto;
    scrollbar-width: none;
  }

  .worklist-body {
    min-height: 0;
  }

  .worklist-row {
    grid-template-columns: minmax(0, 1fr) auto;
    row-gap: var(--space-xs);
    padding: var(--space-sm) var(--space);
  }

  .worklist-time {
    grid-column: 2;
    grid-row: 1;
  }

  .worklist-row > .worklist-main {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .worklist-actions {
    grid-column: 1 / -1;
    grid-row: 3;
  }

  .worklist-actions > .btn {
    height: var(--control-height);
  }

  .dcard-head,
  .drow,
  .dblock,
  .ahead-day-head,
  .ahead-item,
  .ov-legend-item {
    padding-inline: var(--space);
  }
}

.ov-legend {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ov-legend-item {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
}

.ov-legend-label {
  flex: 1 1 auto;
  color: var(--color-text);
}

.ov-legend-label:hover {
  color: var(--color-primary-text);
  text-decoration: none;
}

.ov-legend-value {
  font-family: var(--font-family-display);
  font-size: 15px;
  font-weight: var(--font-weight-bold);
  font-variant-numeric: tabular-nums;
}

.ov-legend-note {
  font-size: 12px;
}

.ov-swatch {
  flex: none;
}

.dash-week {
  margin-top: var(--space);
}

.dash-week .dcard {
  min-height: 0;
}

.dash-week .ahead-days {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.dash-week .ahead-day {
  min-width: 0;
}

.dash-week .ahead-day + .ahead-day {
  box-shadow: inset 1px 0 0 var(--color-border-secondary);
}

.dash-week .ahead-day-head {
  border-top: 0;
  border-bottom: 1px solid var(--color-border-secondary);
}

.dash-week .ahead-item {
  grid-template-columns: 44px 8px minmax(0, 1fr);
}

.dash-week > .lazy-skeleton {
  padding: var(--space);
  background-color: var(--color-bg-container);
  border: 1px solid var(--color-border-secondary);
}

.ahead-day-name {
  white-space: nowrap;
}

.dash-week .ahead-day-summary {
  display: none;
}

.dash-week .ahead-day-head,
.dash-week .ahead-item {
  padding-inline: var(--space);
}

.dash-week .ahead-item {
  grid-template-columns: 40px 8px minmax(0, 1fr);
  gap: var(--space-xs);
}

.contract {
  display: flex;
  flex-direction: column;
  gap: var(--space);
}

.contract-identity {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--space) var(--space-lg);
  padding: var(--card-pad-x);
}

.contract-id-main {
  flex: 1 1 18rem;
  min-width: 0;
}

.contract-id-line {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-sm);
}

.contract-title {
  margin: 0;
  font-size: var(--font-size-heading-1);
  font-weight: 800;
  line-height: var(--line-height-heading-1);
  letter-spacing: -0.025em;
}

.contract-sub {
  margin: var(--space-xxs) 0 0;
  font-size: 13px;
  line-height: 20px;
  color: var(--color-text-secondary);
}

.contract-figures {
  display: flex;
  margin: 0;
}

.contract-figures > div {
  padding-inline: var(--space-lg);
  box-shadow: inset 1px 0 0 var(--color-border-secondary);
}

.contract-figures > div:first-child {
  box-shadow: none;
}

.contract-figures dt {
  font-size: 12px;
  font-weight: var(--font-weight);
  line-height: 16px;
  color: var(--color-text-tertiary);
}

.contract-figures dd {
  margin: 0;
  font-family: var(--font-family-display);
  font-size: 20px;
  font-weight: 800;
  line-height: 28px;
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.contract-actions {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
}

.lane {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--color-border-secondary);
}

.lane-node {
  --lane-tone: var(--gray-6);
  position: relative;
  min-width: 0;
  padding: var(--space) var(--space) var(--space) var(--card-pad-x);
}

.lane-node + .lane-node {
  box-shadow: inset 1px 0 0 var(--color-border-secondary);
}

.lane-node::before {
  content: "";
  position: absolute;
  inset-inline: 0;
  top: -1px;
  height: 3px;
  background-color: var(--lane-tone);
}

.lane-node[data-state="done"] {
  --lane-tone: var(--green-6);
}

.lane-node[data-state="current"] {
  --lane-tone: var(--color-primary);
  background-color: var(--color-bg-subtle);
}

.lane-node[data-state="cancelled"],
.lane-node[data-tone="red"] {
  --lane-tone: var(--color-error);
}

.lane-head {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  min-height: 24px;
}

.lane-dot {
  position: relative;
  display: grid;
  flex: none;
  place-items: center;
  width: 20px;
  height: 20px;
  font-size: 13px;
  color: var(--color-text-light);
  background-color: var(--lane-tone);
  border: 2px solid var(--lane-tone);
}

.lane-node[data-state="todo"] .lane-dot,
.lane-node[data-state="current"] .lane-dot {
  background-color: transparent;
}

.lane-node[data-state="current"] .lane-dot::after {
  content: "";
  width: 8px;
  height: 8px;
  background-color: var(--lane-tone);
}

.lane-label {
  font-family: var(--font-family-display);
  font-size: var(--font-size);
  font-weight: var(--font-weight-bold);
  line-height: 20px;
}

.lane-node[data-state="todo"] .lane-label {
  font-weight: var(--font-weight-medium);
  color: var(--color-text-tertiary);
}

.lane-line {
  margin: var(--space-xs) 0 0;
  font-size: 13px;
  line-height: 18px;
  color: var(--color-text-secondary);
}

.lane-line[data-tone="red"] {
  font-weight: var(--font-weight-strong);
  color: var(--color-error-text);
}

.lane-line[data-tone="yellow"] {
  color: var(--color-warning-text);
}

.lane-line .btn-link {
  height: auto;
  padding: 0;
  font-size: 13px;
}

.lane-action {
  margin-top: var(--space-sm);
}

.lane-checks .checklist {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  margin: 0;
  padding: 0;
  list-style: none;
}

.lane-checks .checklist-item {
  min-height: 44px;
  padding-inline: var(--card-pad-x);
  border-top: 1px solid var(--color-border-secondary);
  border-bottom: 0;
}

.dsub {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  min-height: 32px;
  padding-inline: var(--card-pad-x);
  font-family: var(--font-family-display);
  font-size: 11px;
  font-weight: var(--font-weight-medium);
  line-height: 16px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-text-tertiary);
  background-color: var(--color-bg-subtle);
  border-top: 1px solid var(--color-border-secondary);
}

.dsub-title small {
  margin-inline-start: var(--space-xs);
  font-family: var(--font-family);
  font-size: 12px;
  font-weight: var(--font-weight);
  letter-spacing: 0;
  text-transform: none;
}

.dsub-actions {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  letter-spacing: 0;
  text-transform: none;
}

.dsub-actions .btn-sm {
  --tblr-btn-padding-x: 10px;
  height: 24px;
  min-height: 0;
  padding-block: 0;
  font-size: 12px;
  line-height: 22px;
}

.tabs-full + .dsub,
.dsub + .kv-row,
.dsub + .item-row,
.dsub + .item-empty,
.dsub + .fiche-row,
.dsub + .contract-balance,
.dsub + .contract-photos,
.dsub + .record-list .record-list-item:first-child,
.dsub + .checklist .checklist-item:first-child {
  border-top: 0;
}

.kv-row {
  display: grid;
  grid-template-columns: 200px minmax(0, 1fr);
  gap: var(--space);
  align-items: baseline;
  min-height: var(--row-height);
  padding: var(--space-sm) var(--card-pad-x);
  border-top: 1px solid var(--color-border-secondary);
}

.kv-label {
  font-size: 13px;
  line-height: 20px;
  color: var(--color-text-secondary);
}

.kv-value {
  font-size: var(--font-size);
  line-height: 20px;
}

.item-row {
  display: flex;
  align-items: center;
  gap: var(--space);
  min-height: 56px;
  padding: var(--space-xs) var(--card-pad-x);
  border-top: 1px solid var(--color-border-secondary);
}

.item-main {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
}

.item-title {
  font-weight: var(--font-weight-strong);
  line-height: 20px;
}

.item-meta {
  font-size: 13px;
  line-height: 18px;
  color: var(--color-text-secondary);
}

.item-amount {
  font-family: var(--font-family-display);
  font-size: 15px;
  font-weight: var(--font-weight-bold);
  line-height: 20px;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.item-empty {
  display: flex;
  align-items: center;
  min-height: var(--row-height);
  padding-inline: var(--card-pad-x);
  color: var(--color-text-tertiary);
  border-top: 1px solid var(--color-border-secondary);
}

.fiche-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 112px 112px 112px;
  gap: var(--space);
  align-items: center;
  min-height: 56px;
  padding: var(--space-xs) var(--card-pad-x);
  border-top: 1px solid var(--color-border-secondary);
}

.fiche-head {
  min-height: 32px;
  padding-block: 0;
  font-family: var(--font-family-display);
  font-size: 11px;
  font-weight: var(--font-weight-medium);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-text-tertiary);
}

.fiche-head > span:nth-child(n + 2) {
  text-align: right;
}

.contract-balance {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
}

.contract-balance > div {
  padding: var(--card-pad-x);
  box-shadow: inset 1px 0 0 var(--color-border-secondary);
}

.contract-balance > div:first-child {
  box-shadow: none;
}

.contract-balance dt {
  font-size: 13px;
  font-weight: var(--font-weight);
  line-height: 20px;
  color: var(--color-text-secondary);
}

.contract-balance dd {
  margin: var(--space-xxs) 0 0;
  font-family: var(--font-family-display);
  font-size: 28px;
  font-weight: 800;
  line-height: 36px;
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
}

.contract-photos {
  padding: var(--space) var(--card-pad-x);
  border-top: 1px solid var(--color-border-secondary);
}

.contract-main .record-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.contract-main .record-list-item {
  min-height: 56px;
  padding: var(--space-xs) var(--card-pad-x);
  border-top: 1px solid var(--color-border-secondary);
  border-bottom: 0;
}

.contract-main .record-empty {
  padding: var(--space-lg) var(--card-pad-x);
}

.contract-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--dash-aside);
  gap: var(--space);
  align-items: start;
}

.contract-main {
  min-width: 0;
}

.contract-aside {
  display: flex;
  flex-direction: column;
  gap: var(--space);
  min-width: 0;
}

.dcard-body {
  padding: var(--card-pad-x);
}

.dcard-strip {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs) var(--space);
  padding: var(--space-sm) var(--card-pad-x);
  border-top: 1px solid var(--color-border-secondary);
}

.dcard-note {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--space-sm) var(--card-pad-x);
  font-size: 13px;
  line-height: 18px;
  color: var(--color-text-secondary);
  border-top: 1px solid var(--color-border-secondary);
}

.dcard-note.is-danger {
  font-weight: var(--font-weight-strong);
  color: var(--color-error-text);
}

@media (max-width: 1279.98px) {
  .contract-layout {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 991.98px) {
  .lane {
    grid-auto-flow: row;
  }

  .lane-node + .lane-node {
    box-shadow: none;
  }

  .lane-checks .checklist {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 767.98px) {
  .contract-identity {
    padding: var(--space);
  }

  .contract-figures > div:first-child {
    padding-left: 0;
  }

  .kv-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }

  .fiche-head {
    display: none;
  }

  .fiche-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-xs);
  }

  .fiche-row > .item-main {
    grid-column: 1 / -1;
  }

  .contract-balance dd {
    font-size: 20px;
    line-height: 28px;
  }

  .dsub,
  .kv-row,
  .item-row,
  .item-empty,
  .fiche-row,
  .contract-balance > div,
  .lane-node,
  .dcard-strip,
  .dcard-note,
  .contract-main .record-list-item {
    padding-inline: var(--space);
  }
}

.contract-main .record-empty {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: var(--row-height);
  padding: 0 var(--card-pad-x);
  text-align: left;
  background: none;
  border: 0;
  border-top: 1px solid var(--color-border-secondary);
}

.dsub + .record-empty {
  border-top: 0;
}

.contract-main .record-empty-text {
  margin: 0;
  color: var(--color-text-tertiary);
}

.record {
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--dash-aside);
  gap: var(--space);
  align-items: start;
  margin: 0;
}

.record-aside {
  order: 2;
  width: auto;
  min-width: 0;
  background-color: var(--color-bg-container);
  border: 1px solid var(--color-border-secondary);
}

.record-main {
  order: 1;
  min-width: 0;
  background-color: var(--color-bg-container);
  border: 1px solid var(--color-border-secondary);
}

.record-block {
  padding: var(--card-pad-x);
}

.record-block:last-child {
  border-bottom: 0;
}

.record-tabs {
  position: static;
  gap: 0;
  padding-inline: 0;
  overflow-x: auto;
  background: none;
  border-bottom: 1px solid var(--color-border-secondary);
}

.record-tab {
  position: relative;
  flex: 1 1 0;
  justify-content: center;
  gap: 6px;
  min-height: 0;
  height: var(--head-height);
  margin: 0;
  padding-inline: var(--space);
  color: var(--color-text-secondary);
  background-color: var(--color-bg-subtle);
  border: 0;
}

.record-tab + .record-tab {
  box-shadow: inset 1px 0 0 var(--color-border-secondary);
}

.record-tab:hover {
  color: var(--color-text);
  text-decoration: none;
  background-color: var(--color-fill-secondary);
}

.record-tab[aria-current] {
  font-weight: var(--font-weight-bold);
  color: var(--color-text);
  background-color: var(--color-bg-container);
}

.record-tab[aria-current]::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  bottom: -1px;
  height: 3px;
  background-color: var(--color-primary);
}

.record-body {
  padding: 0;
}

.record-section {
  margin: 0;
  padding: 0;
}

.record-section-head {
  align-items: center;
  min-height: 32px;
  margin: 0;
  padding: 0 var(--card-pad-x);
  background-color: var(--color-bg-subtle);
  border-top: 1px solid var(--color-border-secondary);
}

.record-body > .record-section:first-child > .record-section-head {
  border-top: 0;
}

.record-section-head .record-section-title {
  font-family: var(--font-family-display);
  font-size: 11px;
  font-weight: var(--font-weight-medium);
  line-height: 16px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-text-tertiary);
}

.record-section-summary {
  margin: 0;
  font-size: 12px;
  line-height: 16px;
  color: var(--color-text-tertiary);
}

.record-section-actions .btn-sm {
  height: 24px;
  min-height: 0;
  padding-block: 0;
  font-size: 12px;
  line-height: 22px;
}

.record-section-actions .btn-icon {
  width: 24px;
  height: 24px;
}

.record-box {
  padding: var(--space) var(--card-pad-x);
  border: 0;
  border-top: 1px solid var(--color-border-secondary);
}

.record-section-head + .record-box {
  border-top: 0;
}

.record-empty {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space);
  min-height: var(--row-height);
  padding: 0 var(--card-pad-x);
  text-align: left;
  background: none;
  border: 0;
  border-top: 1px solid var(--color-border-secondary);
}

.record-section-head + .record-empty {
  border-top: 0;
}

.record-empty-text {
  margin: 0;
  color: var(--color-text-tertiary);
}

.record-section .record-list {
  border-top: 0;
}

.record-section .record-list-item {
  min-height: 56px;
  padding: var(--space-xs) var(--card-pad-x);
  border-top: 1px solid var(--color-border-secondary);
  border-bottom: 0;
}

.record-section .record-list-item:first-child {
  border-top: 0;
}

.record-section > .list-surface {
  border: 0;
  border-top: 0;
}

.record-section > .photo-strip,
.record-section > .dl-grid,
.record-section > p:not(.record-section-summary) {
  margin: 0;
  padding: var(--space) var(--card-pad-x);
}

.record-section > .list-surface .table thead th {
  border-top: 0;
}

@media (max-width: 1279.98px) {
  .record {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .record-aside {
    order: -1;
  }

  .record-block {
    padding-inline: var(--card-pad-x);
  }

  .record-tabs {
    padding-inline: 0;
  }

  .record-body {
    padding: 0;
  }
}

@media (max-width: 767.98px) {
  .record-tab {
    flex: 1 0 auto;
  }

  .record-section-head,
  .record-box,
  .record-empty,
  .record-section .record-list-item {
    padding-inline: var(--space);
  }
}

.record-section + .record-section {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.record-section-head > div:first-child {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0 var(--space-xs);
}

.record-tab {
  flex: 1 0 auto;
  padding-inline: 10px;
  font-size: 13px;
}

.record-aside {
  position: static;
  max-height: none;
  overflow: visible;
}

.record-tab {
  gap: 4px;
  padding-inline: 8px;
}

.record-aside {
  height: auto;
  top: auto;
}

@media (max-width: 575.98px) {
  .contract-figures {
    flex-wrap: wrap;
    gap: var(--space-sm) 0;
    width: 100%;
  }

  .contract-figures > div {
    padding-inline: var(--space) 0;
    padding-inline-start: var(--space);
  }

  .contract-figures dd {
    font-size: 17px;
    line-height: 24px;
  }

  .contract-actions {
    width: 100%;
    justify-content: flex-end;
  }
}

.auth-body {
  background-color: var(--color-bg-container);
}

.auth-shell {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  min-height: 100vh;
}

.auth-hero {
  position: sticky;
  top: 0;
  align-self: start;
  height: 100vh;
  display: flex;
  overflow: hidden;
  background-color: var(--color-bg-sidebar);
  color: var(--color-text-light);
}

.auth-hero-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 38%;
}

.auth-hero-shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(6, 10, 20, 0.6) 0%, rgba(6, 10, 20, 0) 20%, rgba(6, 10, 20, 0) 40%, rgba(6, 10, 20, 0.72) 66%, rgba(6, 10, 20, 0.94) 100%),
    linear-gradient(90deg, rgba(6, 10, 20, 0.35) 0%, rgba(6, 10, 20, 0) 60%);
}

.auth-hero-inner {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: var(--space-xxl);
}

.auth-hero-brand {
  align-self: flex-start;
}

.auth-hero-brand img {
  display: block;
  width: 232px;
  height: auto;
  filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.45));
}

.auth-hero-copy {
  max-width: 580px;
  margin-top: auto;
}

.auth-hero-eyebrow {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  margin: 0 0 var(--space);
  font-family: var(--font-family-display);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-text-sidebar);
}

.auth-hero-eyebrow::before {
  content: "";
  width: 24px;
  height: 3px;
  background-color: var(--color-primary);
}

.auth-hero-title {
  margin: 0;
  text-wrap: balance;
  font-family: var(--font-family-display);
  font-size: 42px;
  font-weight: 800;
  line-height: 50px;
  letter-spacing: -0.02em;
  text-shadow: 0 2px 24px rgba(0, 0, 0, 0.45);
}

.auth-hero-title em {
  font-style: normal;
  white-space: nowrap;
  color: var(--color-text-light);
  box-shadow: inset 0 -0.3em 0 var(--color-primary);
}

.auth-hero-text {
  max-width: 480px;
  margin: var(--space) 0 0;
  font-size: var(--font-size-lg);
  line-height: 26px;
  color: var(--color-text-sidebar);
}

.auth-hero-points {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space);
  margin: var(--space-xl) 0 0;
  padding: var(--space-lg) 0 0;
  border-top: 1px solid var(--color-border-sidebar);
  list-style: none;
}

.auth-hero-points li {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  min-width: 0;
  font-size: var(--font-size);
  font-weight: var(--font-weight-strong);
  line-height: 18px;
  color: var(--color-text-sidebar-strong);
}

.auth-hero-points .ti {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 1px solid var(--color-border-sidebar);
  background-color: var(--color-fill-sidebar);
  font-size: 20px;
}

.auth-main {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  max-width: 456px;
  margin-inline: auto;
  padding: var(--space-xxl) var(--space-lg);
}

.auth-card {
  padding: 0;
}

.auth-step {
  margin: 0 0 var(--space-xs);
  font-family: var(--font-family-display);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-strong);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-text-tertiary);
}

.auth-title {
  margin: 0;
  font-family: var(--font-family-display);
  font-size: 30px;
  font-weight: 800;
  line-height: 38px;
  letter-spacing: -0.01em;
  color: var(--color-text);
}

.auth-title::after {
  content: "";
  display: block;
  width: 40px;
  height: 3px;
  margin-top: var(--space-sm);
  background-color: var(--color-primary);
}

.auth-lead {
  margin: var(--space-sm) 0 var(--space-xl);
  font-size: var(--font-size-lg);
  line-height: 24px;
  color: var(--color-text-secondary);
}

.auth-body .form-control,
.auth-body .btn {
  min-height: var(--control-height-lg);
}

.auth-body .form-label {
  font-weight: var(--font-weight-strong);
}

.auth-forgot {
  margin: var(--space-sm) 0 var(--space);
  text-align: end;
}

.auth-submit {
  margin-top: var(--space-lg);
}

.auth-form .auth-submit {
  gap: var(--space-xs);
  min-height: var(--touch-target);
}

.auth-body .btn-primary {
  font-family: var(--font-family-display);
  font-weight: var(--font-weight-strong);
  letter-spacing: 0.02em;
}

.auth-foot {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  margin-top: var(--space-xl);
  padding-top: var(--space-lg);
  border-top: 1px solid var(--color-border-secondary);
}

.auth-foot p {
  margin: 0;
}

.auth-foot-cta {
  color: var(--color-text-secondary);
}

.auth-foot-cta a {
  font-weight: var(--font-weight-strong);
}

.auth-trust {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-xxs) var(--space-xs);
  font-size: var(--font-size-sm);
  color: var(--color-text-tertiary);
}

.auth-trust a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.auth-trust a:hover {
  color: var(--color-text);
}

.auth-links {
  margin: var(--space-xl) 0 0;
  padding-top: var(--space);
  border-top: 1px solid var(--color-border-secondary);
  text-align: center;
  color: var(--color-text-secondary);
}

.auth-note {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  margin-bottom: var(--space);
  padding: var(--space-xs) var(--space-sm);
  background-color: var(--color-bg-subtle);
  color: var(--color-text-secondary);
}

.auth-note span {
  flex: 1;
  min-width: 0;
  overflow-wrap: anywhere;
}

.auth-resend {
  margin: var(--space) 0 0;
  text-align: center;
  color: var(--color-text-secondary);
}

.auth-divider {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  margin: var(--space-lg) 0 var(--space);
  color: var(--color-text-tertiary);
  font-size: var(--font-size-sm);
}

.auth-divider::before,
.auth-divider::after {
  content: "";
  flex: 1;
  border-top: 1px solid var(--color-border-secondary);
}

.btn-google {
  gap: var(--space-xs);
}

.password-field {
  position: relative;
}

.password-field .form-control {
  padding-inline-end: var(--touch-target);
}

.password-toggle {
  position: absolute;
  inset-block: 0;
  inset-inline-end: 0;
  width: var(--control-height);
}

.password-caps {
  margin-top: var(--space-xxs);
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
}

.auth-link-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space);
}

.auth-link-text {
  margin: 0;
  color: var(--color-text-secondary);
}

@media (min-width: 1600px) {
  .auth-hero-inner {
    padding: 64px;
  }

  .auth-hero-title {
    font-size: 48px;
    line-height: 56px;
  }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  .auth-hero-title {
    font-size: 36px;
    line-height: 44px;
  }

  .auth-hero-points li {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-xs);
  }
}

@media (min-width: 992px) and (max-height: 760px) {
  .auth-hero-eyebrow,
  .auth-hero-text {
    display: none;
  }

  .auth-hero-points {
    margin-top: var(--space-lg);
  }
}

@media (max-width: 991.98px) {
  .auth-shell {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto 1fr;
  }

  .auth-hero {
    position: relative;
    height: 220px;
  }

  .auth-hero-bg {
    object-position: 50% 20%;
  }

  .auth-hero-shade {
    background: linear-gradient(180deg, rgba(6, 10, 20, 0.62) 0%, rgba(6, 10, 20, 0) 55%, rgba(6, 10, 20, 0.35) 100%);
  }

  .auth-hero-inner {
    padding: var(--space-lg);
  }

  .auth-hero-copy {
    display: none;
  }

  .auth-hero-brand img {
    width: 176px;
  }

  .auth-main {
    justify-content: flex-start;
    max-width: 480px;
    padding: var(--space-xl) var(--space) var(--space-xxl);
  }
}

@media (max-width: 575.98px) {
  .auth-hero {
    height: 160px;
  }

  .auth-hero-inner {
    padding: var(--space-md) var(--space);
  }

  .auth-hero-brand img {
    width: 156px;
  }

  .auth-main {
    padding-top: var(--space-lg);
  }

  .auth-title {
    font-size: 26px;
    line-height: 34px;
  }

  .auth-lead {
    margin-bottom: var(--space-lg);
    font-size: var(--font-size);
    line-height: 22px;
  }

  .auth-link-row {
    flex-direction: column;
    align-items: stretch;
  }
}

.wizard-steps {
  display: flex;
  gap: var(--space-xs);
  margin: 0 0 var(--space-xl);
  padding: 0;
  list-style: none;
}

.wizard-step {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  padding-top: var(--space-xs);
  border-top: 3px solid var(--color-border-secondary);
  color: var(--color-text-tertiary);
}

.wizard-step[data-state="done"] {
  border-top-color: var(--color-text);
  color: var(--color-text);
}

.wizard-step[data-state="current"] {
  border-top-color: var(--color-primary);
  color: var(--color-text);
}

.wizard-step-dot {
  display: none;
}

.wizard-step-label {
  overflow: hidden;
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-strong);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wizard-eyebrow {
  margin: 0 0 var(--space-xxs);
  font-family: var(--font-family-display);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-strong);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-primary-text);
}

.wizard-summary {
  margin: 0;
  border-top: 1px solid var(--color-border-secondary);
}

.wizard-summary div {
  display: flex;
  gap: var(--space);
  padding: var(--space-sm) 0;
  border-bottom: 1px solid var(--color-border-secondary);
}

.wizard-summary dt {
  flex: 0 0 120px;
  font-weight: var(--font-weight);
  color: var(--color-text-secondary);
}

.wizard-summary dd {
  flex: 1;
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
  font-weight: var(--font-weight-strong);
}

.wizard-trial {
  display: flex;
  gap: var(--space-sm);
  margin: var(--space-lg) 0 0;
  padding: var(--space-sm) var(--space);
  background-color: var(--color-bg-subtle);
  color: var(--color-text-secondary);
}

.wizard-trial .ti {
  font-size: var(--icon-size-lg);
  color: var(--color-primary);
}

.wizard-footer {
  display: flex;
  gap: var(--space-sm);
}

.shop-grid {
  grid-template-columns: repeat(auto-fill, minmax(14.5rem, 1fr));
  align-items: stretch;
}

.shop-section + .shop-section {
  margin-top: var(--space-xxl);
}

.shop-section-title {
  padding-bottom: var(--space-xs);
  border-bottom: 1px solid var(--color-border-secondary);
}

.shop-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.shop-card .card-body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
}

.shop-card-visual {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 7.5rem;
  padding: var(--space) var(--space-md);
  overflow: hidden;
  background-color: var(--color-bg-sidebar);
  color: var(--color-text-light);
}

.shop-card-visual .ti {
  position: absolute;
  top: var(--space-sm);
  right: var(--space-sm);
  font-size: 64px;
  line-height: 1;
  color: rgba(255, 255, 255, 0.1);
}

.shop-card-figure {
  font-family: var(--font-family-display);
  font-size: 34px;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.02em;
}

.shop-card-kind {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-strong);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.72);
}

.shop-card.is-featured {
  border-color: var(--color-primary);
}

.shop-card.is-featured .shop-card-visual {
  background-color: var(--color-primary);
}

.shop-card.is-featured .shop-card-visual .ti {
  color: rgba(255, 255, 255, 0.18);
}

.shop-card.is-featured .shop-card-kind {
  color: rgba(255, 255, 255, 0.86);
}

.shop-card-bonus {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: var(--space-xxs);
  margin: var(--space-xs) 0 0;
  padding: 2px var(--space-xs);
  background-color: var(--color-primary-bg);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-strong);
  color: var(--color-primary-text);
}

.shop-card-text {
  flex: 1 1 auto;
}

.shop-card-price {
  padding-top: var(--space-sm);
  border-top: 1px solid var(--color-border-secondary);
}

.shop-card-amount {
  font-family: var(--font-family-display);
  font-size: 24px;
  font-weight: 800;
}

.shop-add .btn,
.shop-add input {
  min-height: var(--control-height-lg);
}

.shop-add .btn {
  font-weight: var(--font-weight-strong);
}

.shop-cart {
  padding: 0;
  border-top: 3px solid var(--color-primary);
}

.shop-cart-head {
  margin: 0;
  padding: var(--space) var(--space) var(--space-sm);
}

.shop-cart-title {
  font-family: var(--font-family-display);
  font-size: var(--font-size-lg);
}

.shop-cart-empty {
  padding: var(--space-lg) var(--space) var(--space-xl);
  text-align: center;
}

.shop-cart-list,
.shop-cart-totals {
  margin-inline: var(--space);
}

.shop-cart .d-lg-block {
  padding: 0 var(--space) var(--space);
}

.shop-cart-total dd {
  font-family: var(--font-family-display);
  font-size: var(--font-size-xl);
}

.settings-layout {
  gap: var(--space-xl);
}

.settings-nav {
  width: 240px;
  padding: var(--space-xs);
  background-color: var(--color-bg-container);
  border: 1px solid var(--color-border-secondary);
}

.settings-nav-link {
  min-height: var(--control-height-lg);
  border-left: 3px solid transparent;
}

.settings-nav-link[aria-current] {
  font-weight: var(--font-weight-strong);
  background-color: var(--color-bg-subtle);
  border-left-color: var(--color-primary);
}

.settings-nav-link[aria-current] .ti {
  color: var(--color-primary);
}

.settings-main {
  max-width: 60rem;
}

.settings-title {
  font-family: var(--font-family-display);
  font-size: 28px;
  font-weight: 800;
}

.settings-title::after {
  content: "";
  display: block;
  width: 40px;
  height: 3px;
  margin-top: var(--space-sm);
  background-color: var(--color-primary);
}

.settings-text {
  margin-top: var(--space-xs);
}

.settings-card-head {
  padding: var(--space-md) var(--space-lg);
  background-color: var(--color-bg-subtle);
}

.settings-card-title {
  font-family: var(--font-family-display);
  font-size: var(--font-size-lg);
  font-weight: 700;
}

.settings-card-foot {
  background-color: var(--color-bg-container);
}

@media (max-width: 991.98px) {
  .settings-nav {
    width: 100%;
  }
}

@media (min-width: 768px) {
  .shop-card.is-featured {
    grid-column: 1 / -1;
    flex-direction: row;
  }

  .shop-card.is-featured .shop-card-visual {
    flex: 0 0 15rem;
    justify-content: center;
  }

  .shop-card.is-featured .card-body {
    justify-content: center;
  }

  .shop-card.is-featured .shop-add {
    max-width: 20rem;
  }
}

.empty-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  margin: 0 auto var(--space);
  background-color: var(--color-bg-subtle);
  border: 1px solid var(--color-border-secondary);
  border-radius: var(--radius);
}

.empty-icon .ti {
  font-size: 32px;
  line-height: 1;
  color: var(--color-text-tertiary);
}

.empty-title {
  margin-bottom: var(--space-xxs);
  font-family: var(--font-family-display);
  font-size: var(--font-size-lg);
  font-weight: 700;
}

.empty-subtitle {
  max-width: 44ch;
  margin-inline: auto;
}

.empty-action {
  margin-top: var(--space);
}

.ov-empty {
  padding-block: var(--space-xl);
}

.starter-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 20rem;
  gap: var(--space-lg);
  align-items: start;
}

.starter {
  margin-bottom: var(--space-lg);
  background-color: var(--color-bg-container);
  border: 1px solid var(--color-border-secondary);
  border-top: 3px solid var(--color-primary);
}

.starter-layout .starter {
  margin-bottom: 0;
}

.starter-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-lg);
  padding: var(--space-lg) var(--space-lg) var(--space);
}

.starter-eyebrow {
  margin: 0 0 var(--space-xxs);
  font-family: var(--font-family-display);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-strong);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-primary-text);
}

.starter-title {
  margin: 0;
  font-family: var(--font-family-display);
  font-size: 22px;
  font-weight: 800;
  line-height: 30px;
  letter-spacing: -0.01em;
}

.starter-progress {
  display: flex;
  flex: none;
  flex-direction: column;
  gap: var(--space-xxs);
  min-width: 7rem;
  text-align: right;
}

.starter-progress-text {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-strong);
  color: var(--color-text-secondary);
}

.starter-progress-bar {
  display: block;
  height: 4px;
  background-color: var(--color-border-secondary);
}

.starter-progress-fill {
  display: block;
  height: 100%;
  background-color: var(--color-primary);
}

.starter-w-0 { width: 0; }
.starter-w-20 { width: 20%; }
.starter-w-40 { width: 40%; }
.starter-w-60 { width: 60%; }
.starter-w-80 { width: 80%; }
.starter-w-100 { width: 100%; }

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

.starter-step {
  display: flex;
  align-items: center;
  gap: var(--space);
  padding: var(--space) var(--space-lg);
  border-top: 1px solid var(--color-border-secondary);
}

.starter-step-mark {
  display: flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background-color: var(--color-bg-subtle);
  border: 1px solid var(--color-border-secondary);
  font-size: 20px;
  color: var(--color-text-tertiary);
}

.starter-step.is-current .starter-step-mark {
  background-color: var(--color-primary-bg);
  border-color: var(--color-primary-border);
  color: var(--color-primary);
}

.starter-step.is-done .starter-step-mark {
  background-color: var(--color-success-bg);
  border-color: var(--color-success-border);
  color: var(--color-success-text);
}

.starter-step-main {
  flex: 1 1 auto;
  min-width: 0;
}

.starter-step-title {
  margin: 0;
  font-size: var(--font-size-heading-3);
  font-weight: var(--font-weight-strong);
  line-height: var(--line-height-heading-3);
}

.starter-step.is-done .starter-step-title {
  color: var(--color-text-secondary);
  text-decoration: line-through;
}

.starter-step-text {
  margin: 2px 0 0;
  color: var(--color-text-secondary);
}

.starter-step.is-done .starter-step-text {
  display: none;
}

.starter-step-action {
  flex: none;
}

.starter-aside {
  display: grid;
  gap: var(--space);
}

.starter-card {
  padding: var(--space-lg);
  background-color: var(--color-bg-container);
  border: 1px solid var(--color-border-secondary);
}

.starter-card-title {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  margin: 0;
  font-family: var(--font-family-display);
  font-size: var(--font-size-lg);
  font-weight: 700;
}

.starter-card-title .ti {
  color: var(--color-primary);
}

.starter-card-big {
  margin: var(--space-sm) 0 0;
  font-family: var(--font-family-display);
  font-size: 36px;
  font-weight: 800;
  line-height: 1.1;
}

.starter-card-text {
  margin: var(--space-xs) 0 var(--space);
  color: var(--color-text-secondary);
}

@media (max-width: 991.98px) {
  .starter-layout {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 575.98px) {
  .starter-head {
    flex-direction: column;
    gap: var(--space-sm);
    padding: var(--space) var(--space) var(--space-sm);
  }

  .starter-progress {
    width: 100%;
    text-align: left;
  }

  .starter-step {
    flex-wrap: wrap;
    align-items: flex-start;
    padding: var(--space);
  }

  .starter-step-main {
    flex: 1 1 0;
  }

  .starter-step-action {
    width: 100%;
    padding-left: calc(40px + var(--space));
  }
}

@media (max-width: 575.98px) {
  .app-topbar-tools {
    gap: 0;
  }

  .app-topbar-tools [data-ui="palette-open"] {
    display: none;
  }

  .app-crumbs li:not(.app-crumbs-view) {
    min-width: 7ch;
  }

  .app-view-toggle > .ti:first-child {
    display: none;
  }
}

@page {
  size: A4;
  margin: 10mm;
}

.print-sheet-wide:has(.rc) {
  max-width: 210mm;
}

.rc {
  font-size: 10px;
  line-height: 1.35;
  color: var(--color-text);
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

.rc-head {
  display: grid;
  grid-template-columns: 22% minmax(0, 1fr) 32%;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
  padding: 6px 8px;
  border: 1px solid var(--color-text);
}

.rc-head-logo img {
  display: block;
  max-width: 100%;
  max-height: 60px;
}

.rc-head-title {
  text-align: center;
}

.rc-head-title strong {
  display: block;
  font-size: 16px;
  line-height: 1.2;
}

.rc-head-title span {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
}

.rc-head-meta {
  display: grid;
  gap: 2px;
  font-size: 9.5px;
  text-align: right;
}

.rc-box {
  margin-bottom: 6px;
  border: 1px solid var(--color-text);
  break-inside: avoid;
}

.rc-bar {
  margin: 0;
  padding: 2px 8px;
  background-color: var(--color-fill-secondary);
  border-bottom: 1px solid var(--color-text);
  font-family: var(--font-family);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-align: center;
}

.rc-bar .rc-x {
  font-weight: 500;
}

.rc-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 14px;
  padding: 3px 8px 5px;
}

.rc-field {
  display: flex;
  gap: 6px;
  align-items: baseline;
  min-height: 19px;
  padding: 2px 0;
  border-bottom: 1px dotted var(--color-border);
}

.rc-span-2 {
  grid-column: 1 / -1;
}

.rc-label {
  flex: none;
  width: 36%;
  font-size: 9px;
  font-weight: 700;
}

.rc-label .rc-x {
  display: block;
  font-size: 8px;
  font-weight: 400;
  color: var(--color-text-secondary);
}

.rc-value {
  flex: 1;
  min-width: 0;
  font-size: 10px;
  font-weight: 500;
  overflow-wrap: anywhere;
}

.rc-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
}

.rc-cols .rc-grid {
  grid-template-columns: 1fr;
}

.rc-cols .rc-span-2 {
  grid-column: auto;
}

.rc-gauge {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 4px 8px 6px;
}

.rc-gauge img {
  display: block;
  width: 110px;
  height: auto;
}

.rc-checks {
  display: grid;
  gap: 3px;
  margin: 0;
  padding: 0;
  font-size: 9px;
  list-style: none;
}

.rc-check {
  display: inline-block;
  width: 9px;
  height: 9px;
  margin-right: 4px;
  border: 1px solid var(--color-text);
  vertical-align: -1px;
}

.rc-diagram {
  display: block;
  width: 100%;
  max-height: 150px;
  padding: 4px 8px;
  object-fit: contain;
}

.rc-card-body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  padding: 4px 8px 6px;
}

.rc-card-fields .rc-grid {
  padding: 0;
}

.rc-card-types {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 2px 0 4px;
  font-size: 9px;
}

.rc-type {
  display: inline-flex;
  align-items: center;
}

.rc-card-consent p {
  margin: 0 0 4px;
  font-size: 8.5px;
  text-align: justify;
}

.rc-card-consent .rc-x {
  font-style: italic;
}

.rc-sign-line {
  margin-top: 10px;
}

.rc-annex {
  margin: 6px 0;
  padding: 4px 8px;
  border: 1px dashed var(--color-text);
  font-size: 9px;
  text-align: justify;
}

.rc-annex .rc-x {
  font-style: italic;
}

.rc-signatures {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 6px;
  break-inside: avoid;
}

.rc-signatures th,
.rc-signatures td {
  padding: 3px 6px;
  border: 1px solid var(--color-text);
  text-align: center;
}

.rc-signatures th {
  font-size: 9px;
}

.rc-signatures td {
  height: 62px;
  vertical-align: bottom;
  font-size: 9px;
}

.rc-pagebreak {
  height: 0;
  break-after: page;
  page-break-after: always;
}

.rc-terms .rc-term,
.rc-legacy .rc-term {
  margin: 0 0 5px;
  font-size: 9.5px;
  text-align: justify;
}

.rc-term.rc-x {
  margin-bottom: 9px;
  font-style: italic;
}

.rc-lang-ar .rc-term.rc-x {
  font-family: "Segoe UI", Tahoma, Arial, sans-serif;
  font-style: normal;
  text-align: right;
}

.rc-foot {
  margin-top: 10px;
  break-inside: avoid;
}

.rc-foot-no {
  margin: 0 0 4px;
}

.rc-foot-table {
  width: 100%;
  border-collapse: collapse;
}

.rc-foot-table td {
  height: 70px;
  padding: 6px 8px;
  border: 1px solid var(--color-text);
  vertical-align: top;
  font-size: 9px;
}

.rc-foot-confirm {
  width: 52%;
}

.rc-foot-name,
.rc-foot-line {
  display: block;
}

.rc-foot-line {
  margin-top: 26px;
}

.rc-senet {
  display: block;
  width: 100%;
  height: auto;
}

.rc-letterhead-space {
  height: 32mm;
}

.rc-letterhead-title {
  margin: 0 0 6px;
  font-size: 12px;
  font-weight: 700;
  text-align: center;
}

@media screen {
  .rc {
    padding: 10mm;
    background-color: var(--color-bg-container);
  }
}

@media print {
  .rc-letterhead-space {
    height: 32mm;
  }
}

.modal-form .print-body {
  padding: 0;
}

.print-templates {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 var(--space-lg);
  align-items: start;
  padding: var(--space) var(--card-pad-x) 0;
}

.print-templates-group {
  min-width: 0;
  margin: 0 0 var(--space);
  padding: 0;
  border: 0;
}

.print-templates-title {
  float: none;
  width: auto;
  margin: 0 0 var(--space-xs);
  padding: 0;
  font-family: var(--font-family-display);
  font-size: 11px;
  font-weight: var(--font-weight-medium);
  line-height: 16px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-text-tertiary);
}

.print-templates-item {
  position: relative;
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  min-height: 44px;
  margin: 0 0 -1px;
  padding: var(--space-xs) var(--space-sm);
  line-height: 20px;
  cursor: pointer;
  background-color: var(--color-bg-container);
  border: 1px solid var(--color-border-secondary);
}

.print-templates-item .form-check-input {
  flex: none;
  margin: 0;
}

.print-templates-item:hover {
  background-color: var(--color-bg-subtle);
}

.print-templates-item:has(input:checked) {
  z-index: 1;
  font-weight: var(--font-weight-strong);
  background-color: var(--color-primary-bg);
  border-color: var(--color-primary);
}

.print-templates-item:has(input:focus-visible) {
  z-index: 2;
  box-shadow: var(--focus-outline);
}

.print-link {
  color: var(--color-text);
  text-decoration: none;
}

.print-link:hover {
  color: var(--color-primary-text);
  background-color: var(--color-bg-subtle);
}

.print-link > .ti:first-child {
  flex: none;
  font-size: var(--icon-size-lg);
  color: var(--color-text-secondary);
}

.print-link-end {
  color: var(--color-text-tertiary);
}

.print-note {
  margin: 0;
  padding: var(--space-sm) var(--card-pad-x);
  border-top: 1px solid var(--color-border-secondary);
}

@media (max-width: 575.98px) {
  .print-templates {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media print {
  .rc-head {
    margin-bottom: 4px;
    padding: 4px 8px;
  }

  .rc-head-logo img {
    max-height: 44px;
  }

  .rc-box {
    margin-bottom: 4px;
  }

  .rc-bar {
    padding: 1px 8px;
  }

  .rc-grid {
    padding: 1px 8px 2px;
  }

  .rc-field {
    min-height: 15px;
    padding: 1px 0;
  }

  .rc-cols {
    gap: 4px;
  }

  .rc-gauge {
    padding: 2px 8px 3px;
  }

  .rc-gauge img {
    width: 78px;
  }

  .rc-diagram {
    max-height: 92px;
    padding: 2px 8px;
  }

  .rc-card-body {
    padding: 2px 8px 3px;
  }

  .rc-sign-line {
    margin-top: 4px;
  }

  .rc-annex {
    margin: 4px 0;
    padding: 3px 8px;
  }

  .rc-signatures td {
    height: 40px;
  }
}

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

.start-group {
  display: contents;
}

.photos-btn-short {
  display: none;
}

.start-kind .form-selectgroup {
  flex-wrap: nowrap;
}

.start-search {
  padding: var(--space) var(--card-pad-x);
}

.start-results .picker-list {
  border: 0;
}

.start-results .list-group-item {
  min-height: 56px;
  padding-inline: var(--card-pad-x);
  border-width: 1px 0 0;
}

.start-chosen {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  min-height: 72px;
  padding: var(--space-xs) var(--card-pad-x);
}

.start-chosen-main {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
}

.start-chosen .status {
  flex: none;
}

.start-create {
  color: var(--color-primary-text);
}

.start-create:hover {
  color: var(--color-primary-text);
}

.start-create > span {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  color: inherit;
  font-weight: var(--font-weight-strong);
}

#arac-secim + .start-fields,
.start-fields + .start-fields {
  border-top: 1px solid var(--color-border-secondary);
}

.start-monthly:not([hidden]) {
  margin-top: var(--space-xxs);
}

.start-static {
  display: flex;
  align-items: center;
  min-height: var(--control-height);
}

.start-slot .photos-meta {
  display: none;
}

.start-slot .photos-grid {
  grid-template-columns: minmax(0, 1fr);
}

.start-slot .btn-list .btn {
  width: 100%;
}

.start-actions {
  gap: var(--space-xs);
}

.start-actions .btn-primary {
  flex: 1 1 auto;
}

.dcard > .collapse-section {
  border-width: 1px 0 0;
  border-color: var(--color-border-secondary);
}

.dcard > .collapse-section > summary {
  min-height: var(--row-height);
  padding-inline: var(--card-pad-x);
}

.dcard > .collapse-section > .collapse-section-body {
  padding: var(--space-xs) var(--card-pad-x) var(--space);
}

.start-override .override {
  margin: 0;
}

@media (max-width: 991.98px) {
  .start-kind .form-selectgroup {
    width: 100%;
  }
}

.start-slot .photos-item {
  aspect-ratio: 4 / 3;
}

@media (max-width: 575.98px) {
  .start-chosen {
    flex-wrap: wrap;
  }

  .start-chosen-main {
    order: 3;
    flex-basis: 100%;
  }
}

.customer-balance {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.contract-identity .contract-id-line .app-avatar {
  flex: none;
}

.contract-main .record-block {
  padding: 0;
  border-bottom: 0;
}

.contract-main .record-block-head {
  min-height: var(--row-height);
  margin-bottom: 0;
  padding-inline: var(--card-pad-x);
  border-top: 1px solid var(--color-border-secondary);
}

.contract-main .prop-group-body {
  padding-bottom: var(--space-xs);
}

@media (max-width: 767.98px) {
  .contract-figures {
    flex-wrap: wrap;
    gap: var(--space-sm) 0;
    width: 100%;
  }

  .contract-figures > div {
    flex: 1 1 50%;
    padding-inline: var(--space);
  }

  .contract-figures > div:nth-child(odd) {
    padding-left: 0;
    box-shadow: none;
  }

  .customer-balance {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .customer-balance > div:nth-child(odd) {
    box-shadow: none;
  }
}

.customer-contact {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xxs) var(--space);
  margin: var(--space-xs) 0 0;
  padding: 0;
  list-style: none;
  font-size: 13px;
  line-height: 20px;
  color: var(--color-text-secondary);
}

.customer-contact > li {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xxs);
  white-space: nowrap;
}

.customer-strip {
  align-items: center;
  gap: var(--space-xs) var(--space-lg);
}

.customer-strip .customer-contact {
  margin: 0;
  margin-inline-start: auto;
}

.contract-main .prop-group-body {
  padding-inline: var(--card-pad-x);
}

@media (max-width: 767.98px) {
  .customer-strip .customer-contact {
    margin-inline-start: 0;
  }
}

.customer-balance dd {
  font-size: 22px;
  line-height: 28px;
}

.hero-blockers {
  display: block;
  padding: var(--space-sm) var(--card-pad-x);
}

.hero-blockers .blockers {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

.item-more > summary {
  display: flex;
  align-items: center;
  min-height: var(--row-height);
  padding-inline: var(--card-pad-x);
  cursor: pointer;
  border-top: 1px solid var(--color-border-secondary);
}

.item-more .item-row {
  min-height: 44px;
}

.offcanvas-header {
  min-height: var(--head-height);
  padding-block: var(--space-xs);
}

.contract-figures.is-compact > div {
  padding-inline: var(--space);
}

.contract-main {
  --prop-label-width: 200px;
}

.dcard > .checklist .checklist-item {
  padding-inline: var(--card-pad-x);
}

.dcard > .checklist {
  padding-bottom: var(--space-xxs);
}

.tab-full {
  flex: 1 1 auto;
  padding-inline: var(--space-sm);
}

@media (min-width: 576px) {
  .modal-form .modal-dialog {
    align-items: flex-start;
    margin-top: max(var(--space-lg), 8vh);
  }

  .modal-form .modal-content {
    max-height: calc(100dvh - max(var(--space-lg), 8vh) - var(--space-lg));
  }
}

.photos-slots {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(5.5rem, 1fr));
  gap: var(--space-xs);
  margin-bottom: var(--space-xs);
}

.photos-slot {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-xxs);
  min-height: var(--control-height-lg);
  padding: 0;
  color: var(--color-text-secondary);
  background: none;
  border: 0;
  text-align: center;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

.photos-slot-thumb {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  font-size: var(--font-size-xl);
  background-color: var(--color-fill-tertiary);
  border: 1px dashed var(--color-border);
  border-radius: var(--radius);
}

.photos-slot-thumb img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.photos-slot-label {
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.photos-slot:hover .photos-slot-thumb,
.photos-slot:focus-visible .photos-slot-thumb {
  border-color: var(--color-primary);
  color: var(--color-primary);
}

.photos-slot:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
  border-radius: var(--radius);
}

.photos-slot[data-filled] {
  color: var(--color-text);
}

.photos-slot[data-filled] .photos-slot-thumb {
  border-style: solid;
  border-color: var(--color-success);
}

.photos-slot[data-filled] .photos-slot-thumb::after {
  content: "";
  position: absolute;
  top: var(--space-xxs);
  right: var(--space-xxs);
  width: 1rem;
  height: 1rem;
  background-color: var(--color-success);
  border-radius: 50%;
  box-shadow: var(--shadow-tertiary);
}

.photos-slot:disabled {
  cursor: default;
  opacity: 0.6;
}

.photos[data-busy] .photos-actions .btn,
.photos[data-busy] .photos-slot {
  pointer-events: none;
  opacity: 0.6;
}

.photos-busy {
  color: var(--color-primary);
}

.photos-actions .btn {
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

.ocr-capture-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-xxs) var(--space-sm);
  margin-bottom: var(--space-xs);
}

.ocr-capture-head .form-label {
  margin-bottom: 0;
}

.ocr-capture-head .form-select {
  width: auto;
  min-width: 7rem;
}

.ocr-capture .photos-slots {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 16rem;
}

.ocr-capture[data-busy] .photos-slot {
  pointer-events: none;
  opacity: 0.6;
}

@media (max-width: 575.98px) {
  .photos-actions .btn:not(.btn-icon) {
    flex: 1 1 auto;
  }

  .start-slot .photos-btn-long {
    display: none;
  }

  .start-slot .photos-btn-short {
    display: inline;
  }

  .ocr-capture .photos-slots {
    max-width: none;
  }

  .ocr-capture .btn-list .btn {
    flex: 1 1 auto;
  }
}

.start-slot .photos-actions {
  flex-wrap: nowrap;
}

.start-slot .photos-actions .btn:not(.btn-icon) {
  flex: 1 1 auto;
  width: auto;
}

.start-slot .photos-actions .btn-icon {
  width: auto;
}

.worklist-kind {
  display: none;
  align-items: center;
  height: 20px;
  padding-inline: var(--space-xs);
  font-size: 12px;
  font-weight: var(--font-weight-medium);
  line-height: 20px;
  color: var(--color-text-secondary);
  background-color: var(--color-fill-tertiary);
  border-radius: var(--radius);
  white-space: nowrap;
}

.worklist-kind[data-tone="red"] {
  color: var(--color-error-text);
  background-color: var(--color-error-bg);
}

.worklist-kind[data-tone="yellow"] {
  color: var(--color-warning-text);
  background-color: var(--color-warning-bg);
}

@media (max-width: 767.98px) {
  .worklist-row {
    position: relative;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    row-gap: var(--space-xs);
    -webkit-tap-highlight-color: transparent;
  }

  .worklist-row-late {
    box-shadow: inset 3px 0 0 var(--color-error);
  }

  .worklist-row > .worklist-main {
    grid-column: 1;
    grid-row: 1;
  }

  .worklist-time {
    grid-column: 2;
    grid-row: 1;
    align-self: start;
    padding-top: 2px;
  }

  .worklist-time:empty {
    display: none;
  }

  .worklist-actions {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .worklist-actions:empty {
    display: none;
  }

  .worklist-link::after {
    content: "";
    position: absolute;
    inset: 0;
  }

  .worklist-row:has(.worklist-link):active {
    background-color: var(--color-fill-tertiary);
  }

  .worklist-title .plate,
  .worklist-phone,
  .worklist-actions,
  .worklist-title .status {
    position: relative;
    z-index: 1;
  }

  .worklist-actions > .btn,
  .worklist-actions > .d-inline-block .btn,
  .worklist-actions > .dropdown > .btn {
    min-height: var(--control-height);
    touch-action: manipulation;
  }

  .dash-stat {
    min-height: 0;
    padding: var(--space-sm) var(--space-sm) var(--space-xs);
  }

  .dash-stat-label {
    font-size: 13px;
  }

  .dash-stat-num {
    font-size: var(--font-size-figure);
    line-height: 32px;
  }

  .dash-stat-sub {
    font-size: 12px;
    line-height: 16px;
  }
}

.signature-tools {
  flex-wrap: wrap;
}

.signature-tip {
  display: none;
  font-size: var(--font-size-sm);
  color: var(--color-text-tertiary);
}

.signature-buttons {
  gap: var(--space-xxs);
  margin-inline-start: auto;
}

.signature-full {
  display: none;
}

@media (pointer: coarse) {
  .signature-full {
    display: inline-flex;
  }

  .signature-canvas {
    height: 200px;
  }
}

.signature-pad[data-fullscreen] {
  position: fixed;
  inset: 0;
  z-index: 1090;
  display: flex;
  flex-direction: column;
  padding-top: env(safe-area-inset-top);
  padding-bottom: env(safe-area-inset-bottom);
  border: 0;
  border-radius: 0;
}

.signature-pad[data-fullscreen] .signature-canvas {
  flex: 1 1 auto;
  height: auto;
  min-height: 0;
  background-size: 100% calc(100% - 64px);
}

.signature-pad[data-fullscreen] .signature-tools {
  flex: none;
  padding: var(--space-xs) var(--space);
}

.signature-pad[data-fullscreen] .signature-tip {
  display: inline;
}

.signature-pad[data-fullscreen] .signature-buttons .btn {
  min-height: var(--control-height);
}

body.signature-open {
  overflow: hidden;
}

@media (max-width: 767.98px) {
  .offcanvas-sheet-sm .offcanvas-footer,
  .modal-form .offcanvas-footer {
    position: sticky;
    bottom: 0;
    z-index: 2;
    padding-bottom: calc(var(--space-sm) + env(safe-area-inset-bottom));
    background-color: var(--color-bg-container);
    box-shadow: var(--shadow-up);
  }

  .offcanvas-full-sm .offcanvas-footer {
    z-index: 2;
    padding-bottom: calc(var(--space-sm) + env(safe-area-inset-bottom));
  }

  .offcanvas-sheet-sm,
  .offcanvas-full-sm {
    padding-bottom: 0;
  }

  .offcanvas-header .btn-close {
    width: var(--control-height);
    height: var(--control-height);
    padding: 0;
    margin: calc(var(--space-xs) * -1);
    background-size: 1rem;
  }

  .flow-steps {
    margin-inline: calc(var(--space) * -1);
    padding-inline: var(--space);
  }

  .offcanvas-full-sm .offcanvas-body,
  .offcanvas-sheet-sm .offcanvas-body {
    padding-inline: var(--space);
  }

  .offcanvas-header,
  .offcanvas-head,
  .offcanvas-footer {
    padding-inline: var(--space);
  }
}

@media (max-width: 767.98px) {
  .flow-step[data-state="current"] .amount-summary-total {
    position: sticky;
    bottom: 0;
    z-index: 1;
    padding-block: var(--space-xs);
    background-color: var(--color-bg-container);
    box-shadow: 0 -1px 0 var(--color-border-secondary);
  }

  .flow-step[data-state="current"] .amount-summary-total dd {
    font-size: var(--font-size-lg);
  }

  .offcanvas-footer:has(> .btn:nth-child(3)) {
    flex-wrap: wrap;
  }

  .offcanvas-footer:has(> .btn:nth-child(3)) > .btn-primary {
    flex: 1 1 100%;
    order: -1;
  }
}

:root {
  --tabbar-height: 56px;
}

a,
button,
.btn,
.form-selectgroup-label,
.form-check-label {
  -webkit-tap-highlight-color: transparent;
}

.btn,
.app-tab,
.app-nav-link,
.tab-full,
.record-tabs a,
.form-selectgroup-label {
  touch-action: manipulation;
}

.btn,
.app-tab,
.photos-slot,
.form-selectgroup-label {
  -webkit-user-select: none;
  user-select: none;
}

.app-tabbar {
  display: none;
}

.app-sheet {
  height: auto;
  max-height: 80dvh;
  padding-bottom: env(safe-area-inset-bottom);
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}

@media (max-width: 991.98px) {
  .app-tabbar {
    position: fixed;
    inset-inline: 0;
    bottom: 0;
    z-index: var(--z-topbar);
    display: flex;
    align-items: stretch;
    height: calc(var(--tabbar-height) + env(safe-area-inset-bottom));
    padding-bottom: env(safe-area-inset-bottom);
    background-color: var(--color-bg-container);
    border-top: 1px solid var(--color-border-secondary);
  }

  .app-tab {
    position: relative;
    display: flex;
    flex: 1 1 0;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    min-width: 0;
    padding: 0;
    font-size: 11px;
    font-weight: var(--font-weight-medium);
    line-height: 14px;
    color: var(--color-text-secondary);
    background: none;
    border: 0;
    text-decoration: none;
  }

  .app-tab > span:last-child {
    max-width: 100%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }

  .app-tab > .ti {
    font-size: 24px;
    line-height: 1;
  }

  .app-tab:hover,
  .app-tab:focus-visible {
    color: var(--color-text);
    text-decoration: none;
    outline: 0;
  }

  .app-tab:focus-visible::after {
    content: "";
    position: absolute;
    inset: 4px;
    border-radius: var(--radius);
    box-shadow: var(--focus-outline);
  }

  .app-tab[aria-current="page"] {
    color: var(--color-primary);
  }

  .app-tab-plus {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 28px;
    color: var(--color-text-light);
    background-color: var(--color-primary);
    border-radius: var(--radius);
  }

  .app-tab-plus .ti {
    font-size: 22px;
  }

  .app-main {
    padding-bottom: calc(var(--tabbar-height) + env(safe-area-inset-bottom));
  }

  .action-bar {
    bottom: calc(var(--tabbar-height) + env(safe-area-inset-bottom));
    padding-bottom: var(--space-xs);
    box-shadow: 0 -1px 0 var(--color-border-secondary);
  }

  .page-wrapper:has(.action-bar) {
    padding-bottom: calc(var(--action-bar-height) + var(--page-top));
  }

  body.kb-open .app-tabbar {
    display: none;
  }

  body.kb-open .app-main {
    padding-bottom: 0;
  }

  body.kb-open .action-bar {
    bottom: 0;
  }
}

@media (max-width: 767.98px) {
  .tabs-full {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }

  .tabs-full::-webkit-scrollbar {
    display: none;
  }

  .tab-full {
    flex: 0 0 auto;
    min-width: 0;
    padding-inline: var(--space-sm);
    scroll-snap-align: start;
  }

  .table-cards tbody tr {
    grid-template-columns: minmax(0, 1fr) minmax(0, auto);
    row-gap: 2px;
    padding-block: var(--space-sm);
  }

  .table-cards td {
    height: auto;
    min-height: 0;
  }

  .table-cards td[data-label] {
    min-height: 28px;
    line-height: 20px;
  }

  .table-cards td[data-slot="title"] {
    min-height: 32px;
  }

  .table-cards td[data-slot="aside"] {
    max-width: 58%;
    min-width: 0;
  }

  .table-cards td[data-slot="aside"] .cell-inline {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    row-gap: 2px;
    max-width: 100%;
  }

  .table-cards td[data-slot="aside"] .cell-truncate {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .table-cards td[data-slot="subtitle"] {
    color: var(--color-text-secondary);
  }

  .table-cards td[data-slot="actions"] .row-actions .btn {
    min-height: var(--control-height);
  }
}

@media (max-width: 991.98px) {
  .form-actions {
    bottom: calc(var(--tabbar-height) + env(safe-area-inset-bottom));
    padding-bottom: var(--space-xs);
    box-shadow: 0 -1px 0 var(--color-border-secondary);
  }

  body.kb-open .form-actions {
    bottom: 0;
  }

  .start-card-toggle {
    display: inline-flex;
    flex: none;
    align-items: center;
    justify-content: center;
    gap: var(--space-xxs);
    min-width: var(--control-height);
    height: var(--control-height);
    margin-inline-start: auto;
    padding: 0 var(--space-xs);
    color: var(--color-text-secondary);
    background: none;
    border: 0;
    border-radius: var(--radius);
  }

  .start-card-toggle:focus-visible {
    outline: 0;
    box-shadow: var(--focus-outline);
  }

  .start-card-check {
    display: none;
    color: var(--color-success-text);
  }

  .dcard[data-start-state="done"] .start-card-check {
    display: inline;
  }

  .start-card-chevron {
    transition: transform var(--motion-duration-mid) var(--motion-ease-in-out);
  }

  .dcard[data-start-collapsed] .start-card-chevron {
    transform: rotate(-90deg);
  }

  .dcard[data-start-collapsed] > :not(.dcard-head) {
    display: none;
  }

  .dcard[data-start-collapsed] > .dcard-head {
    border-bottom: 0;
  }

  .dcard[data-start-collapsed] > .dcard-head .dcard-tools {
    display: none;
  }

  .dcard[data-start-state="done"] > .dcard-head .dcard-title::after {
    content: "";
  }
}

.print-share {
  width: 100%;
  text-align: start;
  background: none;
  border: 0;
  border-top: 1px solid var(--color-border-secondary);
  cursor: pointer;
}

.worklist-wa {
  color: var(--color-success-text);
}

@media (max-width: 767.98px) {
  .list-surface .table-cards > tbody > tr > td {
    height: auto;
  }

  .list-surface .table-cards > tbody > tr > td[data-label] {
    min-height: 28px;
  }
}

.start-bar-total {
  display: flex;
  flex: 1 1 100%;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-xs);
  min-width: 0;
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
  color: var(--color-text-secondary);
}

.start-bar-amount {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-bold);
  line-height: 24px;
  color: var(--color-text);
}

@media (max-width: 991.98px) {
  .form-actions-end:has(> .start-bar-total) {
    flex-wrap: wrap;
    row-gap: var(--space-xxs);
  }

  .start-main .dcard > .dcard-head {
    flex-wrap: wrap;
    row-gap: var(--space-xs);
    height: auto;
    min-height: var(--head-height);
    padding-block: var(--space-xs);
  }

  .start-main .dcard > .dcard-head > .dcard-title {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }

  .start-main .dcard > .dcard-head > .start-card-toggle {
    order: 2;
  }

  .start-main .dcard > .dcard-head > .dcard-tools {
    flex: 1 1 100%;
    order: 3;
    min-width: 0;
  }

  .start-kind {
    flex: 1 1 auto;
    min-width: 0;
  }

  .start-kind .form-selectgroup-item {
    flex: 1 1 0;
    min-width: 0;
  }

  .start-kind .form-selectgroup-label {
    justify-content: center;
    width: 100%;
  }

  .start-results {
    max-height: 19.5rem;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  .start-results.picker-results {
    position: static;
    z-index: auto;
    max-height: none;
    overflow: visible;
    border-top: 1px solid var(--color-border-secondary);
    border-radius: 0;
    box-shadow: none;
  }
}

@media (max-width: 767.98px) {
  .offcanvas-header {
    align-items: center;
  }

  .offcanvas-header > div {
    flex: 1 1 auto;
    min-width: 0;
  }

  .offcanvas-title {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }

  .offcanvas-context {
    display: none;
  }
}

@media (max-width: 575.98px) {
  .start-chosen-customer .start-chosen-main {
    flex: 1 1 0;
    order: 0;
  }

  .ocr-capture-head .form-select {
    width: 100%;
  }

  .ocr-capture .photos-slot-thumb {
    aspect-ratio: 16 / 10;
  }
}

.app-topbar-back .ti {
  font-size: 24px;
}

.app-viewbar {
  position: sticky;
  top: var(--topbar-height);
  z-index: calc(var(--z-topbar) - 1);
  display: flex;
  gap: var(--space-xs);
  padding: var(--space-xs) var(--page-gutter) var(--space-sm);
  overflow-x: auto;
  background-color: var(--color-bg-container);
  border-bottom: 1px solid var(--color-border-secondary);
  scroll-padding-inline: var(--page-gutter);
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.app-viewbar::-webkit-scrollbar {
  display: none;
}

.app-viewchip {
  display: none;
}

@media (max-width: 991.98px) {
  .app-crumbs li.app-crumbs-view {
    display: none;
  }

  .app-viewchip {
    display: inline-flex;
    flex: none;
    align-items: center;
    gap: 6px;
    height: 36px;
    padding-inline: 14px;
    font-size: 13px;
    font-weight: var(--font-weight-medium);
    line-height: 20px;
    color: var(--color-text);
    white-space: nowrap;
    background-color: var(--color-fill-secondary);
    border-radius: var(--radius);
    text-decoration: none;
  }

  .app-viewchip:hover {
    color: var(--color-text);
    text-decoration: none;
  }

  .app-viewchip:focus-visible {
    outline: 0;
    box-shadow: var(--focus-outline);
  }

  .app-viewchip.active {
    font-weight: var(--font-weight-strong);
    color: var(--color-text-light);
    background-color: var(--color-text);
  }

  .app-viewchip-count {
    font-weight: var(--font-weight);
    opacity: 0.7;
    font-variant-numeric: tabular-nums;
  }

  .app-flow .app-tabbar {
    display: none;
  }

  .app-flow .app-main {
    padding-bottom: 0;
  }

  .app-flow .form-actions,
  .app-flow .action-bar {
    bottom: 0;
    padding-bottom: calc(var(--space-xs) + env(safe-area-inset-bottom));
  }

  .start-bar-total {
    display: flex;
    flex: 1 1 100%;
    align-items: center;
    gap: var(--space-xs);
    width: 100%;
    min-height: 32px;
    margin: 0;
    padding: 0;
    font-size: var(--font-size-sm);
    line-height: var(--line-height-sm);
    text-align: start;
    color: var(--color-text-secondary);
    background: none;
    border: 0;
    border-radius: var(--radius);
  }

  .start-bar-total:focus-visible {
    outline: 0;
    box-shadow: var(--focus-outline);
  }

  .start-bar-label {
    flex: 1 1 auto;
    min-width: 0;
  }

  .start-bar-chevron {
    flex: none;
    font-size: var(--icon-size-lg);
    color: var(--color-text-secondary);
    transition: transform var(--motion-duration-mid) var(--motion-ease-in-out);
  }

  body.sheet-open .start-bar-chevron {
    transform: rotate(180deg);
  }

  .sheet-backdrop {
    position: fixed;
    inset: 0;
    z-index: calc(var(--z-action-bar) - 5);
    background-color: var(--color-bg-mask);
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--motion-duration-mid) var(--motion-ease-in-out);
  }

  body.sheet-open .sheet-backdrop {
    opacity: 1;
    pointer-events: auto;
  }

  .contract-sheet {
    position: fixed;
    inset-inline: 0;
    bottom: 0;
    z-index: calc(var(--z-action-bar) - 4);
    max-height: 72dvh;
    padding: 0 var(--page-gutter) calc(112px + env(safe-area-inset-bottom));
    overflow-y: auto;
    overscroll-behavior: contain;
    background-color: var(--color-bg-layout);
    box-shadow: var(--shadow-up);
    visibility: hidden;
    transform: translateY(105%);
    transition: transform var(--motion-duration-slow) var(--motion-ease-out),
                visibility 0s linear var(--motion-duration-slow);
    -webkit-overflow-scrolling: touch;
  }

  .contract-sheet.is-open {
    visibility: visible;
    transform: none;
    transition-delay: 0s;
  }

  .contract-sheet > .contract-aside {
    gap: var(--space-xs);
    padding-top: var(--space-xs);
  }

  .sheet-head {
    position: sticky;
    top: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    height: var(--head-height);
    margin: 0 calc(var(--page-gutter) * -1);
    padding-inline: var(--page-gutter);
    background-color: var(--color-bg-container);
    border-bottom: 1px solid var(--color-border-secondary);
  }

  .sheet-head::before {
    content: "";
    position: absolute;
    top: 6px;
    left: 50%;
    width: 36px;
    height: 4px;
    margin-left: -18px;
    background-color: var(--color-border);
  }

  .sheet-title {
    flex: 1 1 auto;
    margin: 0;
    font-family: var(--font-family-display);
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    line-height: 24px;
    letter-spacing: -0.01em;
  }
}

@media (max-width: 767.98px) {
  .start-bar-cancel {
    display: none;
  }

  .form-actions-end:has(> .start-bar-total) > .btn-primary {
    flex: 1 1 auto;
    height: var(--control-height-lg);
  }

  .page-body > .container-fluid > .list-toolbar,
  .page-body > .container-fluid > .list-surface,
  .page-body > .container-fluid > .worklist-alert,
  .worklist-layout > .worklist-main,
  .worklist-aside > .dcard,
  .dash-top > .dash-next,
  .dash-week > .dcard,
  .dash-week > .lazy-skeleton,
  .start-main .dcard,
  .contract-sheet .dcard {
    margin-inline: calc(var(--page-gutter) * -1);
    border-inline: 0;
  }

  .list-toolbar {
    flex-wrap: nowrap;
    gap: var(--space-xs);
    margin-top: calc(var(--page-top) * -1);
    margin-bottom: 0;
    padding: var(--space-xs) var(--page-gutter) var(--space-sm);
    border-top: 0;
  }

  .list-toolbar + .list-surface {
    border-top: 0;
  }

  .list-surface .list-footer {
    padding: var(--space-sm) var(--page-gutter);
  }

  .list-chips {
    margin-block: var(--space-xs);
  }

  .list-toolbar-search {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
  }

  .list-toolbar > .dropdown,
  .list-toolbar > .btn {
    flex: none;
  }

  .list-toolbar-search .form-control {
    height: var(--control-height);
    background-color: var(--color-fill-tertiary);
    border-color: transparent;
  }

  .list-toolbar-search .form-control:focus {
    background-color: var(--color-bg-container);
    border-color: var(--color-primary);
  }

  .list-toolbar-label {
    display: none;
  }

  .list-toolbar > .btn,
  .list-toolbar > .dropdown > .btn {
    position: relative;
    flex: none;
    gap: 0;
    width: var(--control-height);
    height: var(--control-height);
    padding: 0;
    justify-content: center;
  }

  .list-toolbar > .btn .ti,
  .list-toolbar > .dropdown > .btn .ti {
    margin: 0;
    font-size: var(--icon-size-lg);
  }

  .list-toolbar > .btn > .btn-count {
    position: absolute;
    top: 4px;
    right: 4px;
    min-width: 16px;
    height: 16px;
    padding-inline: 4px;
    font-size: 10px;
    color: var(--color-text-light);
    background-color: var(--color-primary);
  }

  .list-toolbar-end:empty {
    display: none;
  }

  .list-surface .table-cards tbody tr {
    grid-template-columns: minmax(0, 1fr) minmax(0, auto);
    row-gap: var(--space-xxs);
    padding: var(--space-sm) var(--page-gutter);
  }

  .list-surface .table-cards tbody tr[data-href] {
    cursor: pointer;
  }

  .list-surface .table-cards tbody tr[data-href]:active {
    background-color: var(--color-fill-tertiary);
  }

  .list-surface .table-cards td[data-slot="title"] .table-link {
    font-size: 15px;
    font-weight: var(--font-weight-strong);
  }

  .list-surface .table-cards tbody tr:has(td[data-slot="meta"] + td[data-slot="actions"]) {
    position: relative;
  }

  .table-cards td[data-slot="meta"] {
    display: flex;
    grid-column: 1 / -1;
    flex-direction: column;
    align-items: stretch;
    gap: 2px;
    min-height: 0;
    margin-top: var(--space-xxs);
    font-size: 13px;
    line-height: 18px;
    color: var(--color-text-secondary);
  }

  .table-cards td[data-slot="meta"] + td[data-slot="actions"] {
    position: absolute;
    right: var(--page-gutter);
    bottom: var(--space-sm);
    grid-column: auto;
    padding-top: 0;
  }

  .table-cards td[data-slot="meta"]:has(+ td[data-slot="actions"] .btn) {
    padding-right: 44px;
  }

  .table-cards td[data-slot="meta"] + td[data-slot="actions"] .row-actions .btn {
    width: 36px;
    height: 36px;
    min-height: 36px;
    margin-right: -8px;
  }

  .cell-meta-text {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 2px var(--space-xs);
    min-width: 0;
  }

  .cell-meta-value {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: flex-start;
    gap: 2px var(--space-sm);
    font-weight: var(--font-weight-strong);
    color: var(--color-text);
  }

  .statement-filter .field-quick,
  .list-range .field-quick,
  .list-toolbar .field-quick,
  .tl-filters .field-quick {
    display: none;
  }

  .statement-filter .statement-filter-actions {
    flex: 1 1 100%;
  }

  .statement-filter .statement-filter-actions .btn {
    width: 100%;
  }

  .cell-meta-value .text-danger {
    font-weight: var(--font-weight-medium);
  }

  .dash-top {
    gap: var(--space-xs);
    margin-bottom: var(--space-xs);
  }

  .worklist-layout {
    gap: var(--space-xs);
  }

  .tabs-full {
    gap: var(--space-xs);
    height: auto;
    padding: var(--space-sm) var(--page-gutter);
    background-color: var(--color-bg-container);
    scroll-padding-inline: var(--page-gutter);
  }

  .tab-full,
  .tab-full + .tab-full {
    flex: 0 0 auto;
    height: 36px;
    padding-inline: 14px;
    font-size: 13px;
    color: var(--color-text);
    background-color: var(--color-fill-secondary);
    box-shadow: none;
  }

  .tab-full.active {
    color: var(--color-text-light);
    background-color: var(--color-text);
  }

  .tab-full.active::after {
    content: none;
  }

  .tab-full-count {
    color: inherit;
    opacity: 0.7;
  }

  .worklist-row {
    padding: var(--space-sm) var(--page-gutter);
  }

  .worklist-actions {
    justify-content: flex-end;
    gap: var(--space-xs);
  }

  .worklist-actions > .btn,
  .worklist-actions > .d-inline-block {
    flex: 0 0 auto;
    min-width: 0;
  }

  .worklist-actions > .d-inline-block .btn {
    width: auto;
  }

  .worklist-actions > .btn,
  .worklist-actions > .d-inline-block .btn,
  .worklist-actions > .dropdown > .btn {
    min-height: 36px;
    height: 36px;
    padding-inline: var(--space-sm);
    font-size: 13px;
  }

  .worklist-actions > .dropdown > .btn {
    width: 36px;
    padding: 0;
  }

  .worklist-foot {
    height: var(--control-height);
  }

  .dash-week {
    margin-top: var(--space-xs);
  }

  .start-main {
    gap: var(--space-xs);
  }

  .start-results .list-group-item {
    padding-inline: var(--page-gutter);
  }

  .start-search,
  .start-chosen {
    padding-inline: var(--page-gutter);
  }
}

@media (pointer: coarse) {
  .btn:not(:disabled):not(.disabled):active {
    transform: scale(0.97);
  }

  .drow:active,
  .list-group-item-action:active,
  .app-viewchip:active,
  .tab-full:active,
  .app-tab:active {
    background-color: var(--color-fill-secondary);
  }
}

@media (max-width: 767.98px) {
  .record-tabs,
  .section-nav,
  .settings-nav {
    position: sticky;
    top: var(--topbar-height);
    z-index: calc(var(--z-topbar) - 1);
    display: flex;
    gap: var(--space-xs);
    width: auto;
    margin: 0 calc(var(--page-gutter) * -1) var(--space-xs);
    padding: var(--space-sm) var(--page-gutter);
    overflow-x: auto;
    background-color: var(--color-bg-container);
    border-bottom: 1px solid var(--color-border-secondary);
    scroll-padding-inline: var(--page-gutter);
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .page-body > .container-fluid > .record-tabs,
  .dcard > .record-tabs,
  .record-tabs:first-child {
    margin-top: 0;
  }

  .settings-nav::-webkit-scrollbar {
    display: none;
  }

  .settings-nav-list {
    display: flex;
    gap: var(--space-xs);
  }

  .record-tab,
  .record-tab + .record-tab,
  .section-nav-link,
  .settings-nav-link {
    flex: none;
    gap: 6px;
    min-height: 0;
    height: 36px;
    margin: 0;
    padding: 0 14px;
    font-size: 13px;
    font-weight: var(--font-weight-medium);
    line-height: 20px;
    color: var(--color-text);
    white-space: nowrap;
    background-color: var(--color-fill-secondary);
    border: 0;
    border-radius: var(--radius);
    box-shadow: none;
    text-decoration: none;
  }

  .record-tab[aria-current],
  .section-nav-link.active,
  .section-nav-link[aria-current],
  .settings-nav-link[aria-current] {
    font-weight: var(--font-weight-strong);
    color: var(--color-text-light);
    background-color: var(--color-text);
    border: 0;
  }

  .record-tab[aria-current]::after {
    content: none;
  }

  .record-tab-count {
    color: inherit;
    opacity: 0.7;
  }

  .settings-nav-link .ti,
  .settings-nav-link[aria-current] .ti {
    font-size: var(--icon-size);
    color: inherit;
  }

  .settings-layout {
    gap: 0;
  }

  .settings-head .settings-title,
  .settings-head h1 {
    font-size: var(--font-size-xl);
    line-height: 28px;
  }

  .list-surface .table-cards tbody tr {
    grid-template-columns: minmax(38%, 1fr) minmax(0, auto);
  }

  .table-cards td[data-slot="aside"] {
    max-width: none;
  }

  .table-cards td[data-slot="aside"] .status {
    max-width: 100%;
    white-space: nowrap;
  }

  .table-cards td[data-slot="aside"] .cell-truncate {
    max-width: 100%;
    white-space: normal;
    text-align: end;
  }

  .table-cards td[data-slot="aside"] .status {
    display: inline-flex;
    align-items: flex-start;
    line-height: 18px;
  }

  .table-cards td[data-slot="aside"] .status-dot {
    flex: none;
    margin-top: 6px;
  }

  .summary-strip {
    gap: var(--space-xs);
    margin: 0 calc(var(--page-gutter) * -1) var(--space-xs);
    padding: var(--space-xs) var(--page-gutter);
    scroll-snap-type: x mandatory;
    scroll-padding-inline: var(--page-gutter);
  }

  .summary-strip-item {
    flex: 0 0 auto;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    min-width: 40%;
    padding: var(--space-sm) var(--space);
    font-size: 12px;
    line-height: 16px;
    scroll-snap-align: start;
  }

  .summary-strip-value {
    font-family: var(--font-family-display);
    font-size: 20px;
    font-weight: 800;
    line-height: 24px;
    letter-spacing: -0.02em;
  }

  .list-export,
  .receivable-top-export,
  .collect-bar-export,
  .invoice-credit-bar > .btn {
    display: none;
  }

  .collect-bar {
    display: block;
    margin-bottom: 0;
  }

  .settings-card-head {
    flex-wrap: wrap;
    padding-inline: var(--page-gutter);
  }

  .settings-card-head > * {
    flex: 1 1 100%;
    min-width: 0;
  }

  .settings-card-head .settings-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
  }

  .settings-card-head .settings-card-actions .btn {
    flex: 1 1 auto;
    height: var(--control-height);
  }

  .invoice-credit-bar {
    justify-content: flex-start;
    margin-bottom: var(--space-xs);
    font-size: 13px;
  }

  .receivable-top {
    display: block;
    margin: 0 calc(var(--page-gutter) * -1) var(--space-xs);
    padding-inline: var(--page-gutter);
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .receivable-top::-webkit-scrollbar {
    display: none;
  }

  .receivable-top-title {
    margin-bottom: var(--space-xs);
    font-size: 12px;
  }

  .receivable-top-list {
    flex-wrap: nowrap;
  }

  .receivable-top-list > li {
    flex: none;
  }

  .receivable-top-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    padding: var(--space-xs) var(--space-sm);
    font-size: 13px;
    background-color: var(--color-bg-container);
  }

  .receivable-top-name {
    max-width: 10rem;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }

  .list-toolbar > .segmented {
    flex: 1 1 100%;
    order: -1;
    display: flex;
  }

  .list-toolbar > .segmented > .segmented-item {
    flex: 1 1 0;
    justify-content: center;
  }

  .list-toolbar:has(> .segmented) {
    flex-wrap: wrap;
  }

  .notify-footer {
    flex-wrap: wrap;
  }

  .notify-footer > .notify-footer-primary {
    flex: 1 1 100%;
    order: -1;
  }

  .notify-footer > .notify-footer-primary > .btn,
  .notify-footer > .agd-footer-start {
    flex: 1 1 auto;
    width: 100%;
  }
}

@media (max-width: 767.98px) {
  .dropdown-menu.show:not(.list-range):not(.palette-menu) {
    position: fixed !important;
    inset: auto 0 0 0 !important;
    z-index: calc(var(--z-action-bar) + 5);
    max-height: 70dvh;
    margin: 0 !important;
    padding: 20px var(--space-xs) calc(var(--space-xs) + env(safe-area-inset-bottom));
    overflow-y: auto;
    overscroll-behavior: contain;
    border-radius: 0;
    box-shadow: var(--shadow-up);
    transform: none !important;
    animation: sheet-up var(--motion-duration-slow) var(--motion-ease-out);
  }

  .dropdown-menu.show:not(.list-range)::before {
    content: "";
    position: absolute;
    top: 6px;
    left: 50%;
    width: 36px;
    height: 4px;
    margin-left: -18px;
    background-color: var(--color-border);
  }

  .dropdown-menu.show .dropdown-item {
    min-height: var(--control-height-lg);
    padding-inline: var(--space);
    font-size: 15px;
  }

  .dropdown-menu.show .dropdown-item .ti {
    font-size: var(--icon-size-lg);
    color: var(--color-text-secondary);
  }

  .dropdown-menu.show .dropdown-header {
    padding-inline: var(--space);
    font-size: 12px;
  }

  .dropdown-menu.show .app-user-card {
    padding: var(--space-xs) var(--space) var(--space-sm);
  }

  .dropdown-menu.show .app-user-name {
    font-size: 15px;
  }

  body:has(.dropdown-menu.show) .app-tabbar {
    visibility: hidden;
  }

  .menu-backdrop {
    position: fixed;
    inset: 0;
    z-index: calc(var(--z-topbar) - 1);
    background-color: var(--color-bg-mask);
    animation: fade-in var(--motion-duration-mid) var(--motion-ease-in-out);
  }

  @keyframes sheet-up {
    from { translate: 0 100%; }
    to { translate: 0 0; }
  }

  @keyframes fade-in {
    from { opacity: 0; }
    to { opacity: 1; }
  }
}

@media (max-width: 767.98px) {
  .cell-meta-text .cell-meta-body {
    flex: 1 1 100%;
    min-width: 0;
    overflow-wrap: anywhere;
  }

  .cell-meta-text .badge {
    align-self: center;
  }
}

@media (max-width: 767.98px) {
  .table-cards td[data-slot="meta"] + td[data-slot="actions"] .row-actions .btn:not(.btn-icon) {
    width: auto;
    margin-right: 0;
    padding-inline: var(--space-sm);
  }
}

@media (max-width: 767.98px) {
  .settings-card .table-cards tbody tr[data-href] {
    cursor: pointer;
  }

  .settings-card .table-cards tbody tr[data-href]:active {
    background-color: var(--color-fill-tertiary);
  }

  .settings-card .table-cards tbody tr {
    padding-inline: var(--page-gutter);
  }

  .settings-card .table-cards td[data-slot="title"] .table-link {
    font-size: 15px;
    font-weight: var(--font-weight-strong);
  }

  .settings-views {
    display: flex;
    gap: var(--space-xs);
    margin: 0;
    padding: var(--space-sm) var(--page-gutter);
    overflow-x: auto;
    border-bottom: 1px solid var(--color-border-secondary);
    scroll-padding-inline: var(--page-gutter);
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .settings-views::-webkit-scrollbar {
    display: none;
  }

  .settings-view,
  .settings-view.is-active {
    flex: none;
    gap: 6px;
    height: 36px;
    margin: 0;
    padding: 0 14px;
    font-size: 13px;
    font-weight: var(--font-weight-medium);
    line-height: 20px;
    color: var(--color-text);
    white-space: nowrap;
    background-color: var(--color-fill-secondary);
    border: 0;
    border-radius: var(--radius);
    text-decoration: none;
  }

  .settings-view.is-active {
    font-weight: var(--font-weight-strong);
    color: var(--color-text-light);
    background-color: var(--color-text);
  }

  .settings-view-count {
    font-size: inherit;
    color: inherit;
    opacity: 0.7;
  }

  .tl-mobile-filters {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    margin: 0 calc(var(--page-gutter) * -1) var(--space-sm);
    padding: 0 var(--page-gutter);
  }

  .tl-mobile-filter {
    display: flex;
    width: 100%;
    max-width: none;
    scroll-padding-inline: 2px;
  }

  .tl-mobile-filter > .segmented-item {
    flex: none;
    min-height: 36px;
    font-size: 13px;
  }

  .tl-mobile-item {
    margin-inline: calc(var(--page-gutter) * -1);
    padding-inline: var(--page-gutter);
    -webkit-tap-highlight-color: transparent;
  }

  .tl-mobile-item[data-href] {
    cursor: pointer;
  }

  .tl-mobile-item[data-href]:active {
    background-color: var(--color-fill-tertiary);
  }

  .tl-mobile-item > .btn,
  .tl-mobile-item > .d-inline-block > .btn {
    height: 36px;
    min-height: 36px;
    padding-inline: var(--space-sm);
    font-size: 13px;
    white-space: nowrap;
  }

  .queue-row {
    cursor: default;
    -webkit-tap-highlight-color: transparent;
  }

  .queue-row[data-href] {
    cursor: pointer;
  }

  .queue-row[data-href]:active {
    background-color: var(--color-fill-tertiary);
  }

  .queue-row .worklist-type {
    display: none;
  }
}

.worklist-type {
  flex: none;
  font-size: 13px;
  font-weight: var(--font-weight-medium);
  color: var(--color-text-secondary);
}

.worklist-meta-error {
  -webkit-line-clamp: 2;
}

@media (max-width: 767.98px) {
  .tabs-full.is-calendar {
    display: none;
  }

  .worklist-calendar {
    padding: var(--space-sm) var(--page-gutter) var(--space);
  }

  .agd-toolbar {
    display: grid;
    grid-template-columns: var(--touch-target) minmax(0, 1fr) var(--touch-target) auto;
    grid-template-areas:
      "prev range next today"
      "modes modes modes modes";
    gap: var(--space-xs);
    align-items: center;
    margin: 0 0 var(--space-xs);
    padding: 0;
    background-color: transparent;
    border: 0;
  }

  .agd-toolbar > .btn-group {
    display: contents;
  }

  .agd-toolbar > .btn-group > .btn {
    margin: 0;
    border-radius: var(--radius);
  }

  .agd-toolbar .agd-prev,
  .agd-toolbar .agd-next {
    width: var(--touch-target);
    height: var(--touch-target);
    padding: 0;
    justify-content: center;
  }

  .agd-toolbar .agd-prev {
    grid-area: prev;
  }

  .agd-toolbar .agd-next {
    grid-area: next;
  }

  .agd-toolbar .agd-today {
    grid-area: today;
    height: var(--touch-target);
    padding-inline: var(--space-sm);
  }

  .agd-toolbar .agd-range {
    grid-area: range;
    order: 0;
    flex: none;
    min-width: 0;
    overflow: hidden;
    font-size: 15px;
    line-height: var(--line-height-heading-3);
    text-align: center;
    text-overflow: ellipsis;
  }

  .agd-toolbar > .segmented {
    grid-area: modes;
    order: 0;
    display: flex;
    width: 100%;
    max-width: none;
    margin: 0;
  }

  .agd-toolbar > .segmented > .segmented-item {
    flex: 1 1 0;
    justify-content: center;
    min-height: 36px;
  }

  .agd-toolbar > .list-toolbar-end {
    display: none;
  }

  .agd-filters {
    flex-wrap: nowrap;
    gap: var(--space-xs);
    margin: 0 calc(var(--page-gutter) * -1) var(--space-sm);
    padding: 0 var(--page-gutter);
    overflow-x: auto;
    scroll-padding-inline: var(--page-gutter);
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .agd-filters::-webkit-scrollbar {
    display: none;
  }

  .agd-filter {
    flex: none;
    min-height: 36px;
    padding-inline: var(--space-sm);
    white-space: nowrap;
    border-radius: var(--radius);
  }

  .agd-filters > .dropdown {
    flex: none;
    order: -1;
  }

  .agd-filters .agd-filter-btn {
    gap: 0;
    width: 36px;
    height: 36px;
    min-height: 36px;
    padding: 0;
    justify-content: center;
    border-radius: var(--radius);
  }

  .agd-filters .agd-filter-btn .ti {
    margin: 0;
    font-size: var(--icon-size);
  }

  .agd-filters .agd-filter-btn .ti-chevron-down,
  .agd-filters .agd-filter-btn-label {
    display: none;
  }

  .agd-filters .agd-filter-btn.is-filtered {
    color: var(--color-text-light);
    background-color: var(--color-text);
    border-color: var(--color-text);
  }

  .agd-daystrip {
    position: sticky;
    top: var(--topbar-height);
    z-index: calc(var(--z-topbar) - 1);
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: var(--space-xxs);
    margin: 0 calc(var(--page-gutter) * -1) var(--space-sm);
    padding: var(--space-xs) var(--page-gutter);
    background-color: var(--color-bg-container);
    border-bottom: 1px solid var(--color-border-secondary);
  }

  .agd-daystrip-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    min-height: var(--touch-target);
    padding: var(--space-xxs) 0;
    color: var(--color-text-secondary);
    text-decoration: none;
    border-radius: var(--radius);
  }

  .agd-daystrip-item:hover {
    color: var(--color-text);
    text-decoration: none;
  }

  .agd-daystrip-item:focus-visible {
    outline: 0;
    box-shadow: var(--focus-outline);
  }

  .agd-daystrip-name {
    font-size: 11px;
    line-height: 14px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
  }

  .agd-daystrip-num {
    position: relative;
    font-size: 15px;
    font-weight: var(--font-weight-strong);
    line-height: 20px;
    color: var(--color-text);
    font-variant-numeric: tabular-nums;
  }

  .agd-daystrip-item.has-events .agd-daystrip-num::after {
    content: "";
    position: absolute;
    bottom: -4px;
    left: 50%;
    width: 4px;
    height: 4px;
    margin-left: -2px;
    background-color: currentColor;
    border-radius: var(--radius-full);
  }

  .agd-daystrip-item.is-today {
    color: var(--color-primary-text);
    background-color: var(--color-primary-bg);
  }

  .agd-daystrip-item.is-today .agd-daystrip-num {
    color: var(--color-primary-text);
  }

  .agd-daystrip-item.is-selected,
  .agd-daystrip-item.is-selected:hover {
    color: var(--color-text-light);
    background-color: var(--color-text);
  }

  .agd-daystrip-item.is-selected .agd-daystrip-num {
    color: var(--color-text-light);
  }

  .agd-list-day {
    margin: var(--space) 0 0;
    font-size: 15px;
    scroll-margin-top: calc(var(--topbar-height) + 72px);
  }

  .agd-list-day:first-of-type {
    margin-top: 0;
  }

  .agd-list-item {
    gap: var(--space-xs);
    padding: var(--space-sm) 0;
  }

  .agd-list-time {
    width: 48px;
    padding-top: 2px;
    align-self: flex-start;
  }

  .agd-list-item > .agd-swatch {
    align-self: flex-start;
    margin-top: 5px;
  }

  .agd-list-title {
    overflow: visible;
    white-space: normal;
    text-overflow: clip;
    overflow-wrap: anywhere;
  }

  .agd-list-item > .btn,
  .agd-list-item > form > .btn {
    flex: none;
    min-width: 36px;
    height: 36px;
    padding-inline: var(--space-xs);
    font-size: 13px;
  }

  .agd-empty-hint {
    font-size: var(--font-size-sm);
  }

  .agd-list .list-surface {
    margin-inline: 0;
    border: 0;
  }
}

.dsub-menu {
  display: contents;
}

.dsub-more {
  display: none;
}

.perm-group-head {
  list-style: none;
  pointer-events: none;
}

.perm-group-head::-webkit-details-marker {
  display: none;
}

@media (max-width: 767.98px) {
  .lane {
    display: flex;
    flex-wrap: wrap;
    padding: var(--space-xs) var(--space) var(--space);
  }

  .lane-node {
    display: contents;
  }

  .lane-node::before {
    content: none;
  }

  .lane-step {
    position: relative;
    order: 0;
    display: flex;
    flex: 1 1 15%;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: var(--touch-target);
    padding: 0;
    background: none;
    border: 0;
  }

  .lane-step:focus-visible {
    outline: 0;
  }

  .lane-step:focus-visible .lane-dot {
    box-shadow: var(--focus-outline);
  }

  .lane-step::before,
  .lane-step::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 50%;
    height: 2px;
    margin-top: -1px;
    background-color: var(--color-border);
  }

  .lane-step::before {
    left: 0;
  }

  .lane-step::after {
    right: 0;
  }

  .lane-node:first-child .lane-step::before,
  .lane-node:last-child .lane-step::after {
    content: none;
  }

  .lane-node[data-state="done"] .lane-step::before,
  .lane-node[data-state="done"] .lane-step::after,
  .lane-node[data-state="current"] .lane-step::before,
  .lane-node[data-state="cancelled"] .lane-step::before {
    background-color: var(--green-6);
  }

  .lane-step .lane-dot {
    position: relative;
    z-index: 1;
    width: 24px;
    height: 24px;
    font-size: 14px;
  }

  .lane-node[data-state="todo"] .lane-step .lane-dot,
  .lane-node[data-state="current"] .lane-step .lane-dot {
    background-color: var(--color-bg-container);
  }

  .lane-node.is-open .lane-step .lane-dot {
    box-shadow: 0 0 0 2px var(--color-bg-container), 0 0 0 4px var(--lane-tone);
  }

  .lane-node > .lane-head,
  .lane-node > .lane-line,
  .lane-node > .lane-action {
    display: none;
    flex: 1 1 100%;
    order: 1;
    min-width: 0;
  }

  .lane-node.is-open > .lane-head {
    display: flex;
    margin-top: var(--space-xs);
  }

  .lane-node.is-open > .lane-line,
  .lane-node.is-open > .lane-action {
    display: block;
  }

  .lane-node > .lane-head > .lane-dot {
    display: none;
  }

  .lane-node.is-open > .lane-head > .lane-label {
    font-size: 15px;
  }

  .dsub {
    position: relative;
  }

  .dsub-actions.has-more > .dsub-more {
    display: inline-flex;
    width: 40px;
    height: 32px;
    min-height: 0;
    margin-inline-end: calc(var(--space-xs) * -1);
    padding: 0;
  }

  .dsub-actions.has-more > .dsub-menu {
    display: none;
  }

  .dsub-actions.has-more.is-open > .dsub-menu {
    position: absolute;
    top: calc(100% - var(--space-xxs));
    right: var(--space-xs);
    z-index: 5;
    display: grid;
    min-width: 200px;
    padding: var(--space-xxs);
    background-color: var(--color-bg-container);
    border: 1px solid var(--color-border-secondary);
    border-radius: var(--radius);
    box-shadow: var(--shadow-card);
  }

  .dsub-actions.has-more.is-open > .dsub-menu > .btn,
  .dsub-actions.has-more.is-open > .dsub-menu > .d-inline-block > .btn {
    justify-content: flex-start;
    width: 100%;
    height: var(--touch-target);
    min-height: var(--touch-target);
    padding-inline: var(--space-sm);
    font-size: 15px;
    line-height: 20px;
    text-align: start;
  }

  .dsub-actions.has-more.is-open > .dsub-menu > .btn-link {
    color: var(--color-text);
  }

  .statement-filter {
    margin-bottom: var(--space-xs);
  }

  .statement-filter .col-6 {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
  }

  .statement-filter .statement-filter-actions {
    flex: 0 0 auto;
    width: auto;
  }

  .statement-filter .statement-filter-actions:has(> .btn + .btn) {
    flex: 1 1 100%;
  }

  .statement-filter .statement-filter-actions:has(> .btn + .btn) > .btn:first-child {
    flex: 1 1 auto;
  }

  .statement-filter .form-control {
    min-width: 0;
    padding-inline: var(--space-xs);
  }

  .statement-table td[data-slot="title"] > .d-block:first-child {
    font-weight: var(--font-weight-strong);
  }

  .statement-table td[data-slot="aside"] {
    font-size: 13px;
    color: var(--color-text-secondary);
  }

  .table-cards.statement-table tfoot,
  .table-cards.statement-table tfoot th,
  .table-cards.statement-table tfoot td {
    display: block;
  }

  .table-cards.statement-table tfoot tr {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--space-xxs);
    padding: var(--space-sm) var(--page-gutter);
    background-color: var(--color-fill-secondary);
  }

  .table-cards.statement-table tfoot tr > * {
    padding: 0;
    border: 0;
    background: transparent;
  }

  .table-cards.statement-table tfoot th {
    font-weight: var(--font-weight-strong);
  }

  .table-cards.statement-table tfoot td[data-label] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--space-sm);
  }

  .table-cards.statement-table tfoot td[data-label]::before {
    font-weight: var(--font-weight);
    color: var(--color-text-secondary);
    content: attr(data-label);
  }

  .table-cards.statement-table tfoot td:not([data-label]) {
    display: none;
  }

  .invoice-preview {
    overflow: visible;
    padding: var(--space);
  }

  .invoice-preview-open {
    display: inline-flex;
    justify-content: center;
    gap: var(--space-xs);
    width: 100%;
    height: var(--control-height-lg);
  }

  .invoice-doc-dl > div {
    flex-wrap: wrap;
  }

  .invoice-doc-dl dd {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  .settings-head .settings-title {
    font-size: 20px;
    line-height: 28px;
  }

  .settings-main > .settings-card,
  .settings-main > form > .settings-card {
    margin-inline: calc(var(--page-gutter) * -1);
    border-inline: 0;
    border-radius: 0;
  }

  .settings-card-foot,
  .record-form-foot {
    position: sticky;
    bottom: calc(var(--tabbar-height) + env(safe-area-inset-bottom));
    z-index: var(--z-action-bar);
    margin-top: var(--space);
    padding: var(--space-xs) var(--page-gutter);
    background-color: var(--color-bg-container);
    border-top: 0;
    border-radius: 0;
    box-shadow: 0 -1px 0 var(--color-border-secondary);
  }

  .record-form-foot {
    margin-inline: calc(var(--page-gutter) * -1);
  }

  body.kb-open .settings-card-foot,
  body.kb-open .record-form-foot {
    bottom: 0;
  }

  .settings-card-foot > .btn,
  .record-form-foot > .btn {
    flex: 1 1 0;
    min-height: var(--touch-target);
  }

  .record-section > .settings-form,
  .record-section > .record-inline-form {
    padding-inline: var(--page-gutter);
  }

  .perm-tree {
    gap: var(--space-xs);
  }

  .perm-group {
    padding-block: 0;
  }

  .perm-group-head {
    align-items: center;
    justify-content: flex-start;
    min-height: 48px;
    margin-bottom: 0;
    pointer-events: auto;
    cursor: pointer;
  }

  .perm-group-head::after {
    content: "";
    flex: none;
    width: 8px;
    height: 8px;
    margin-inline-start: var(--space-xs);
    border-right: 2px solid var(--color-text-secondary);
    border-bottom: 2px solid var(--color-text-secondary);
    transform: translateY(-2px) rotate(45deg);
  }

  .perm-group[open] > .perm-group-head::after {
    transform: translateY(2px) rotate(-135deg);
  }

  .perm-group-count {
    margin-inline-start: auto;
  }

  .perm-fields {
    padding-bottom: var(--space-sm);
  }

  .perm-item {
    padding-block: var(--space-xxs);
  }
}

@media (max-width: 767.98px) {
  .fuel-quick {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 3px;
  }

  .fuel-quick-seg {
    position: relative;
    min-height: var(--touch-target);
    padding: 0 var(--space-xxs);
    font-size: var(--font-size);
    font-weight: var(--font-weight-strong);
    font-variant-numeric: tabular-nums;
    color: var(--color-text-secondary);
    background-color: var(--color-fill-tertiary);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    touch-action: manipulation;
    transition: background-color var(--motion-duration-fast) var(--motion-ease-out),
                border-color var(--motion-duration-fast) var(--motion-ease-out);
  }

  .fuel-quick-seg[aria-pressed="true"] {
    color: var(--color-text-light);
    background-color: var(--color-text);
    border-color: var(--color-text);
  }

  .fuel-quick-seg:focus-visible {
    outline: 0;
    box-shadow: var(--focus-outline);
  }

  .fuel-quick-seg:disabled {
    cursor: not-allowed;
    opacity: 0.6;
  }

  .fuel-quick.is-invalid .fuel-quick-seg {
    border-color: var(--color-error);
  }

  .fuel-quick .fuel-ref {
    inset-inline: var(--space-xxs);
  }

  .offcanvas-footer > .btn[data-bs-dismiss="offcanvas"]:not(.btn-primary),
  .offcanvas-footer > .btn[data-bs-dismiss="modal"]:not(.btn-primary) {
    display: none;
  }

  .modal-form.modal-sheet-sm .modal-dialog {
    align-items: flex-end;
    min-height: 100%;
  }

  .modal-form.modal-sheet-sm.fade .modal-dialog {
    transform: translateY(100%);
  }

  .modal-form.modal-sheet-sm.show .modal-dialog {
    transform: none;
  }

  .modal-form.modal-sheet-sm .modal-content {
    height: auto;
    max-height: 90dvh;
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
    box-shadow: var(--shadow-up);
  }

  .field-quick {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xxs);
    margin-top: var(--space-xxs);
  }

  .field-quick-chip {
    flex: 1 1 auto;
    padding-inline: var(--space-xs);
    font-size: var(--font-size-sm);
    color: var(--color-text-secondary);
    background-color: var(--color-bg-container);
  }

  .field-quick-chip:active {
    color: var(--color-text);
    background-color: var(--color-fill-tertiary);
  }
}

.settings-hub {
  display: grid;
  gap: var(--space-lg);
  max-width: 56rem;
}

.settings-hub-title {
  margin: 0 0 var(--space-xs);
  font-family: var(--font-family-display);
  font-size: 11px;
  font-weight: var(--font-weight-medium);
  line-height: 16px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-text-tertiary);
}

.settings-hub-list {
  display: grid;
  background-color: var(--color-bg-container);
  border: 1px solid var(--color-border-secondary);
}

.settings-hub-item {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  min-height: 64px;
  padding: var(--space-sm) var(--card-pad-x);
  color: var(--color-text);
  text-decoration: none;
}

.settings-hub-item + .settings-hub-item {
  border-top: 1px solid var(--color-border-secondary);
}

.settings-hub-item:hover {
  color: var(--color-text);
  text-decoration: none;
  background-color: var(--color-bg-subtle);
}

.settings-hub-item:focus-visible {
  outline: 0;
  box-shadow: inset var(--focus-outline);
}

.settings-hub-icon {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  font-size: var(--icon-size-lg);
  color: var(--color-text);
  background-color: var(--color-fill-secondary);
}

.settings-hub-main {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-width: 0;
}

.settings-hub-label {
  font-weight: var(--font-weight-strong);
}

.settings-hub-text {
  font-size: 13px;
  line-height: 18px;
  color: var(--color-text-secondary);
}

.settings-hub-chevron {
  flex: none;
  font-size: var(--icon-size-lg);
  color: var(--color-text-tertiary);
}

.ptr {
  position: fixed;
  top: var(--topbar-height);
  left: 50%;
  z-index: calc(var(--z-topbar) - 1);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  margin-left: -18px;
  color: var(--color-text-secondary);
  background-color: var(--color-bg-container);
  border: 1px solid var(--color-border-secondary);
  box-shadow: var(--shadow-card);
  opacity: 0;
  transform: translateY(-48px);
  transition: transform var(--motion-duration-mid) var(--motion-ease-out),
              opacity var(--motion-duration-mid) var(--motion-ease-out);
  pointer-events: none;
}

.ptr.is-pulling {
  opacity: 1;
  transform: translateY(var(--ptr-offset, 0));
}

.ptr.is-ready {
  color: var(--color-primary);
}

.ptr.is-loading {
  opacity: 1;
  transform: translateY(8px);
}

.ptr.is-loading .ti {
  animation: ui-spin 0.8s linear infinite;
}

.offline-strip {
  position: fixed;
  inset-inline: 0;
  bottom: calc(var(--tabbar-height) + env(safe-area-inset-bottom));
  z-index: var(--z-topbar);
  display: none;
  align-items: center;
  justify-content: center;
  gap: var(--space-xs);
  height: 36px;
  font-size: 13px;
  font-weight: var(--font-weight-medium);
  color: var(--color-text-light);
  background-color: var(--gray-8);
}

body.is-offline .offline-strip {
  display: flex;
}

@media (min-width: 992px) {
  .offline-strip {
    bottom: 0;
  }
}

@media (max-width: 767.98px) {
  .settings-hub {
    gap: var(--space);
  }

  .settings-hub-title {
    padding-inline: 0;
  }

  .settings-hub-list {
    margin-inline: calc(var(--page-gutter) * -1);
    border-inline: 0;
  }

  .settings-hub-item {
    padding-inline: var(--page-gutter);
  }

  .settings-hub-item:active {
    background-color: var(--color-fill-tertiary);
  }
}

.worklist-rows > .worklist-row > .worklist-rail {
  order: 2;
  min-width: 0;
  text-align: right;
}

.worklist-rows > .worklist-row > .worklist-main {
  order: 1;
}

.worklist-rows > .worklist-row > .worklist-actions {
  order: 3;
}

.dash-next-actions {
  display: flex;
  gap: var(--space-xs);
  margin-top: auto;
}

.dash-next-actions .dash-next-action {
  flex: 1 1 auto;
  width: auto;
}

.dash-next-meta {
  margin: 0;
}

.drow-link {
  color: inherit;
}

.drow-link:hover {
  color: var(--color-primary-text);
  text-decoration: none;
}

.dcard-subtitle {
  margin-inline-start: var(--space-xxs);
  font-size: 13px;
  font-weight: var(--font-weight);
  color: var(--color-text-secondary);
}

@media (max-width: 767.98px) {
  .dash-top {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-bottom: var(--space-xs);
  }

  .dash-day,
  .dash-stats {
    margin-inline: calc(var(--page-gutter) * -1);
    background-color: var(--color-bg-container);
  }

  .dash-day {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--space-sm);
    padding: var(--space-sm) var(--page-gutter) 0;
  }

  .dash-day b {
    font-family: var(--font-family-display);
    font-size: 16px;
    font-weight: var(--font-weight-bold);
    line-height: 24px;
    letter-spacing: -0.01em;
    white-space: nowrap;
  }

  .dash-day span {
    font-size: 12px;
    line-height: 16px;
    color: var(--color-text-secondary);
    text-align: right;
  }

  .dash-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    padding: var(--space-xs) var(--page-gutter) 0;
    overflow: visible;
    border-bottom: 1px solid var(--color-border-secondary);
  }

  .dash-stat {
    position: relative;
    flex: none;
    gap: 0;
    height: auto;
    min-height: 0;
    padding: var(--space-xs) 0 10px var(--space-sm);
    border: 0;
    border-left: 1px solid var(--color-border-secondary);
  }

  .dash-stat:first-child {
    padding-left: 0;
    border-left: 0;
  }

  .dash-stat:active,
  .dash-stat:hover {
    background-color: transparent;
  }

  .dash-stat.active::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: var(--space-sm);
    height: 2px;
    background-color: var(--color-primary);
  }

  .dash-stat:first-child.active::after {
    left: 0;
  }

  .dash-stat-num {
    order: 1;
    font-size: 26px;
    line-height: 32px;
    letter-spacing: -0.03em;
  }

  .dash-stat-label {
    order: 2;
    font-size: 12px;
    font-weight: var(--font-weight-medium);
    line-height: 16px;
  }

  .dash-stat-sub {
    order: 3;
    overflow: hidden;
    font-size: 11px;
    line-height: 14px;
    white-space: nowrap;
    text-overflow: ellipsis;
  }

  .dash-top > .dash-next {
    gap: var(--space-xxs);
    height: auto;
    margin-top: var(--space-xs);
    padding: var(--space-sm) var(--page-gutter) var(--space);
    color: var(--color-text);
    background-color: var(--color-bg-container);
    border-top: 3px solid var(--color-primary);
  }

  .dash-next .dash-stat-label {
    order: 0;
    font-size: 12px;
    color: var(--color-text-secondary);
  }

  .dash-next-time {
    font-size: 20px;
    line-height: 24px;
    letter-spacing: -0.02em;
  }

  .dash-next-who {
    height: auto;
    min-height: 28px;
    margin-top: 2px;
    font-size: var(--font-size-lg);
  }

  .dash-next .plate {
    border-color: var(--color-text);
  }

  .dash-next-meta {
    font-size: 13px;
    line-height: 18px;
    color: var(--color-text-secondary);
  }

  .dash-next-actions {
    margin-top: var(--space-sm);
  }

  .dash-next .btn {
    height: var(--control-height);
    font-weight: var(--font-weight-strong);
  }

  .dash-next .dash-next-action {
    --tblr-btn-color: var(--color-text-light);
    --tblr-btn-bg: var(--color-primary);
    --tblr-btn-border-color: var(--color-primary);
    --tblr-btn-hover-color: var(--color-text-light);
    --tblr-btn-hover-bg: var(--color-primary-hover);
    --tblr-btn-hover-border-color: var(--color-primary-hover);
    --tblr-btn-active-color: var(--color-text-light);
    --tblr-btn-active-bg: var(--color-primary-active);
    --tblr-btn-active-border-color: var(--color-primary-active);
  }

  .dash-next .dash-next-phone {
    flex: none;
    width: var(--control-height);
    padding: 0;
  }

  .dash-next-empty {
    color: var(--color-text-tertiary);
  }

  .worklist-main > .tabs-full {
    display: none;
  }

  .worklist-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-sm);
    height: 44px;
    padding: 0 var(--page-gutter);
    font-size: 13px;
    color: var(--color-text-secondary);
  }

  .worklist-head b {
    font-weight: var(--font-weight-strong);
    color: var(--color-text);
  }

  .worklist-head-link {
    font-weight: var(--font-weight-medium);
    color: var(--color-primary-text);
    white-space: nowrap;
  }

  .worklist-rows > .worklist-row {
    grid-template-columns: 48px minmax(50%, 1fr) minmax(0, auto);
    grid-template-rows: auto;
    column-gap: var(--space-xs);
    row-gap: 0;
    align-items: center;
    min-height: 64px;
    padding: var(--space-xs) var(--page-gutter);
  }

  .worklist-rows > .worklist-row > .worklist-rail {
    display: flex;
    flex-direction: column;
    grid-column: 1;
    grid-row: 1;
    gap: 1px;
    align-self: start;
    padding-top: 3px;
    text-align: left;
  }

  .worklist-rows > .worklist-row > .worklist-main {
    grid-column: 2;
    grid-row: 1;
  }

  .worklist-rows > .worklist-row > .worklist-actions {
    grid-column: 3;
    grid-row: 1;
    justify-content: flex-end;
    gap: var(--space-xxs);
    min-width: 0;
  }

  .worklist-rows > .worklist-row > .worklist-actions > .d-inline-block {
    min-width: 0;
  }

  .worklist-rail .worklist-time {
    grid-column: auto;
    grid-row: auto;
    padding: 0;
    font-family: var(--font-family-display);
    font-size: 13px;
    font-weight: var(--font-weight-bold);
    line-height: 18px;
    color: var(--color-text);
    text-align: left;
  }

  .worklist-rail .worklist-kind {
    display: block;
    height: auto;
    margin: 0;
    padding: 0;
    overflow: hidden;
    font-size: 11px;
    font-weight: var(--font-weight-medium);
    line-height: 14px;
    color: var(--color-text-tertiary);
    background: none;
    white-space: nowrap;
    text-overflow: ellipsis;
  }

  .worklist-rail .worklist-kind[data-tone="red"],
  .worklist-row-late .worklist-rail .worklist-time {
    color: var(--color-error-text);
  }

  .worklist-rail .worklist-kind[data-tone="yellow"] {
    color: var(--color-warning-text);
  }

  .worklist-rows .worklist-title {
    flex-wrap: nowrap;
    min-height: 24px;
  }

  .worklist-rows .worklist-link,
  .worklist-rows .record-list-title {
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }

  .worklist-rows .worklist-meta {
    font-size: 13px;
    line-height: 18px;
  }

  .worklist-rows > .worklist-row > .worklist-actions > .btn,
  .worklist-rows > .worklist-row > .worklist-actions > .d-inline-block .btn {
    height: 32px;
    min-height: 32px;
    padding-inline: 10px;
    font-size: 13px;
    white-space: nowrap;
  }

  .worklist-rows > .worklist-row-wide {
    grid-template-rows: auto auto;
    row-gap: var(--space-xxs);
  }

  .worklist-rows > .worklist-row-wide > .worklist-main {
    grid-column: 2 / -1;
  }

  .worklist-rows > .worklist-row-wide > .worklist-actions {
    grid-column: 2 / -1;
    grid-row: 2;
    justify-content: flex-start;
  }

  .worklist-rows > .worklist-row > .worklist-actions > .worklist-call {
    width: 32px;
    padding: 0;
  }

  .worklist-rows > .worklist-row > .worklist-actions > .dropdown {
    display: none;
  }

  .dcells {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid var(--color-border-secondary);
  }

  .dcell {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 10px var(--page-gutter) 12px;
    border-left: 1px solid var(--color-border-secondary);
  }

  .dcell:first-child {
    border-left: 0;
  }

  .dcell-label {
    font-size: 12px;
    line-height: 16px;
    color: var(--color-text-secondary);
  }

  .dcell-value {
    font-family: var(--font-family-display);
    font-size: 20px;
    font-weight: 800;
    line-height: 28px;
    letter-spacing: -0.02em;
    font-variant-numeric: tabular-nums;
  }

  .dcell-note {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    font-size: 11px;
    font-weight: var(--font-weight-medium);
    line-height: 14px;
    color: var(--color-text-tertiary);
  }

  .dcell-note.statistic-trend-up {
    color: var(--color-success-text);
  }

  .dcell-note.statistic-trend-down {
    color: var(--color-error-text);
  }

  .worklist-aside .drow {
    min-height: 44px;
    padding-inline: var(--page-gutter);
  }

  .aside-fleet .ov-fleet-bar {
    margin: 0 var(--page-gutter) var(--space-sm);
  }

  .aside-fleet .ov-legend {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid var(--color-border-secondary);
  }

  .aside-fleet .ov-legend-item {
    height: 40px;
    min-width: 0;
    padding-inline: var(--page-gutter);
    font-size: 13px;
    border-top: 0;
    border-bottom: 1px solid var(--color-border-secondary);
  }

  .aside-fleet .ov-legend-item:nth-child(odd) {
    border-right: 1px solid var(--color-border-secondary);
  }

  .aside-fleet .ov-legend-item:nth-last-child(-n+2) {
    border-bottom: 0;
  }

  .aside-fleet .ov-legend-label {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }

  .aside-fleet .ov-legend-more .ov-legend-label {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    font-weight: var(--font-weight-medium);
    color: var(--color-primary-text);
  }

  .dash-week .ahead-days {
    grid-template-columns: minmax(0, 1fr);
  }

  .dash-week .ahead-day + .ahead-day {
    box-shadow: none;
  }

  .dash-week .ahead-day-head {
    justify-content: space-between;
    padding-inline: var(--page-gutter);
  }

  .dash-week .ahead-day-name {
    font-weight: var(--font-weight-bold);
    letter-spacing: 0.02em;
    color: var(--color-text);
  }

  .dash-week .ahead-day-summary {
    display: inline;
  }

  .dash-week .ahead-item {
    grid-template-columns: 44px 10px minmax(0, 1fr);
    height: 40px;
    padding-inline: var(--page-gutter);
    font-size: 13px;
  }

  .dash-week .ahead-item .agd-swatch {
    width: 10px;
    height: 10px;
  }

  .dash-week .ahead-time {
    font-family: var(--font-family-display);
    font-size: 12px;
    font-weight: var(--font-weight-bold);
  }
}

.list-toolbar {
  gap: var(--space-xs);
  padding: var(--space-sm) var(--space);
  margin-bottom: var(--space);
}

.list-toolbar:has(+ .list-surface) {
  margin-bottom: 0;
  border-bottom: 0;
}

.list-toolbar > .list-toolbar-error,
.list-toolbar > .list-chips {
  flex: 1 1 100%;
  order: 20;
  margin: 0;
}

.list-toolbar > .list-chips {
  padding-top: var(--space-xs);
  border-top: 1px dashed var(--color-border-secondary);
}

.list-toolbar-primary {
  display: inline-flex;
}

.list-surface .list-footer {
  min-height: 48px;
  padding: var(--space-xs) var(--space);
  font-size: var(--font-size-sm);
  line-height: 20px;
  background-color: var(--color-bg-subtle);
  border-top: 1px solid var(--color-border-secondary);
}

.list-surface .list-footer .pagination {
  gap: var(--space-xxs);
}

.list-surface .list-footer .page-link {
  min-width: var(--control-height-sm);
  height: var(--control-height-sm);
  font-size: var(--font-size-sm);
}

@media (max-width: 767.98px) {
  .list-toolbar {
    flex-wrap: wrap;
    margin-bottom: 0;
    padding: var(--space-xs) var(--page-gutter) var(--space-sm);
    border-bottom: 0;
  }

  .list-toolbar:has(+ .list-surface) {
    border-bottom: 0;
  }

  .list-toolbar-search {
    flex: 1 1 0;
    min-width: 0;
  }

  .list-toolbar-search .input-icon,
  .list-toolbar-search .form-control {
    min-width: 0;
    width: 100%;
  }

  .list-toolbar-search .form-control {
    height: 40px;
    padding-inline-start: 38px;
    font-size: var(--font-size-input);
    border-radius: 20px;
  }

  .list-toolbar-search .input-icon-addon {
    width: 38px;
  }

  .list-toolbar > .btn,
  .list-toolbar > .dropdown > .btn,
  .list-toolbar-primary > .btn {
    position: relative;
    flex: none;
    gap: 0;
    width: 40px;
    height: 40px;
    padding: 0;
    justify-content: center;
    background-color: var(--color-fill-tertiary);
    border-color: transparent;
    border-radius: 20px;
  }

  .list-toolbar > .btn.btn-selected,
  .list-toolbar > .dropdown > .btn.btn-selected {
    color: var(--color-primary-text);
    background-color: var(--color-primary-bg);
  }

  .list-toolbar-primary > .btn {
    color: var(--color-text-light);
    background-color: var(--color-primary);
  }

  .list-toolbar-primary > .btn .ti {
    margin: 0;
    font-size: var(--icon-size-lg);
  }

  .list-toolbar > .segmented {
    display: none;
  }

  .list-toolbar > .list-toolbar-lead {
    order: 5;
  }

  .list-toolbar-end {
    display: contents;
  }

  .list-toolbar > .list-chips {
    order: 20;
    padding-top: var(--space-xs);
    border-top: 0;
  }

  .list-surface .list-footer {
    justify-content: center;
    min-height: 44px;
    padding: var(--space-xs) var(--page-gutter);
    background-color: transparent;
  }

  .list-surface .list-footer nav {
    flex: 1 1 100%;
    margin-inline-start: 0;
  }

  .list-surface .list-footer .pagination {
    justify-content: center;
  }

  .list-surface .table-cards tbody tr,
  .list-surface .table-cards tbody tr:has(td[data-slot="meta"] + td[data-slot="actions"]) {
    position: static;
    grid-template-columns: minmax(0, 1fr) minmax(0, auto) auto;
    column-gap: var(--space-xs);
    row-gap: var(--space-xxs);
    padding: var(--space-sm) var(--page-gutter) var(--space-sm);
  }

  .list-surface .table-cards tbody tr:first-child {
    border-top: 1px solid var(--color-border-secondary);
  }

  .list-surface .table-cards td[data-slot="title"] {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    min-height: 32px;
  }

  .list-surface .table-cards td[data-slot="aside"] {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    max-width: none;
  }

  .list-surface .table-cards td[data-slot="actions"],
  .list-surface .table-cards td[data-slot="meta"] + td[data-slot="actions"] {
    position: static;
    grid-column: 3;
    grid-row: 1;
    align-self: center;
    justify-self: end;
    padding: 0;
  }

  .list-surface .table-cards td[data-slot="subtitle"],
  .list-surface .table-cards td[data-slot="meta"],
  .list-surface .table-cards td[data-label],
  .list-surface .table-cards td:not([data-slot], [data-label]) {
    grid-column: 1 / -1;
  }

  .list-surface .table-cards td[data-slot="meta"],
  .list-surface .table-cards td[data-slot="meta"]:has(+ td[data-slot="actions"] .btn) {
    margin-top: 2px;
    padding-right: 0;
  }

  .list-surface .table-cards td[data-slot="actions"] .row-actions {
    justify-content: flex-end;
  }

  .list-surface .table-cards td[data-slot="actions"] .row-actions .btn,
  .list-surface .table-cards td[data-slot="meta"] + td[data-slot="actions"] .row-actions .btn {
    width: 32px;
    height: 32px;
    min-height: 32px;
    margin: 0 -6px 0 0;
    border-radius: 16px;
  }

  .list-surface .table-cards td[data-slot="actions"] .row-actions .btn:not(.btn-icon),
  .list-surface .table-cards td[data-slot="meta"] + td[data-slot="actions"] .row-actions .btn:not(.btn-icon) {
    width: auto;
    margin: 0;
    padding-inline: var(--space-sm);
    border-radius: 16px;
  }

  .list-surface .table-cards td[data-slot="subtitle"] .cell-inline {
    gap: var(--space-xs);
  }

  .list-surface .table-cards .cell-meta-value {
    margin-top: 2px;
    font-size: 15px;
  }
}

@media (min-width: 768px) {
  .list-surface .table td[data-slot="subtitle"] {
    white-space: normal;
  }

  .list-surface .table td[data-slot="subtitle"] .cell-inline {
    flex-wrap: wrap;
    row-gap: 2px;
  }
}

@media (max-width: 991.98px) {
  .app-tab-new {
    flex: 0 0 72px;
  }

  .app-tab-plus {
    width: 44px;
    height: 44px;
    border-radius: var(--radius);
    box-shadow: 0 4px 12px rgba(11, 92, 173, 0.3);
    transition: transform var(--motion-duration-fast) var(--motion-ease-out);
  }

  .app-tab-plus .ti {
    font-size: 26px;
  }

  .app-tab-new:active .app-tab-plus {
    transform: scale(0.94);
  }

  .app-sheet {
    max-height: 85dvh;
    border: 0;
    box-shadow: 0 -8px 32px rgba(0, 0, 0, 0.16);
  }

  .app-sheet-head {
    position: relative;
    align-items: center;
    min-height: 60px;
    padding: 18px var(--space) var(--space-xs);
    border-bottom: 0;
  }

  .app-sheet-head::before {
    content: "";
    position: absolute;
    top: 6px;
    left: 50%;
    width: 36px;
    height: 4px;
    margin-left: -18px;
    background-color: var(--color-border);
  }

  .app-sheet-head .offcanvas-title {
    font-family: var(--font-family-display);
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    letter-spacing: -0.01em;
  }

  .app-sheet-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--space-xs);
    padding: var(--space-xs) var(--space) calc(var(--space-lg) + env(safe-area-inset-bottom));
  }

  .app-sheet-tile {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: var(--space-xs);
    min-width: 0;
    padding: var(--space-sm) var(--space-xxs) var(--space-xs);
    font-size: 12px;
    font-weight: var(--font-weight-medium);
    line-height: 15px;
    color: var(--color-text);
    text-align: center;
    text-decoration: none;
    background-color: var(--color-bg-subtle);
    border: 1px solid var(--color-border-subtle);
    border-radius: var(--radius);
    transition: background-color var(--motion-duration-fast) var(--motion-ease-out);
  }

  .app-sheet-tile:hover,
  .app-sheet-tile:focus-visible {
    color: var(--color-text);
    text-decoration: none;
    background-color: var(--color-fill-secondary);
  }

  .app-sheet-tile:focus-visible {
    outline: 0;
    box-shadow: var(--focus-outline);
  }

  .app-sheet-tile:active {
    background-color: var(--color-fill);
  }

  .app-sheet-tile .ti {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin: 0;
    font-size: 24px;
    color: var(--color-primary);
    background-color: var(--color-bg-container);
    border: 1px solid var(--color-border-secondary);
    border-radius: var(--radius);
  }

  .app-sheet-tile span {
    display: -webkit-box;
    width: 100%;
    min-height: 30px;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    font-size: 11px;
    letter-spacing: -0.01em;
    overflow-wrap: normal;
    word-break: keep-all;
  }

  .app-sheet-grid {
    overflow-y: auto;
    scrollbar-width: none;
  }

  .app-sheet-grid::-webkit-scrollbar {
    display: none;
  }
}

@media (max-width: 359.98px) {
  .app-sheet-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 768px) {
  .list-toolbar:has(+ .fine-query-bar),
  .list-toolbar:has(+ .invoice-credit-bar),
  .list-toolbar:has(+ .collect-bar),
  .list-toolbar:has(+ .income-bar),
  .list-toolbar:has(+ .list-export) {
    margin-bottom: 0;
    border-bottom: 0;
  }

  .list-toolbar + .fine-query-bar,
  .list-toolbar + .invoice-credit-bar,
  .list-toolbar + .collect-bar,
  .list-toolbar + .income-bar,
  .list-toolbar + .list-export {
    margin-bottom: 0;
    padding: var(--space-xs) var(--space);
    background-color: var(--color-bg-container);
    border: 1px solid var(--color-border-secondary);
    border-bottom: 0;
  }

  .list-toolbar + .collect-bar {
    padding-block: var(--space-sm);
  }

  .list-toolbar + .income-bar {
    margin-bottom: var(--space);
    border-bottom: 1px solid var(--color-border-secondary);
  }

  .list-toolbar + .income-bar:has(+ .list-surface) {
    margin-bottom: 0;
    border-bottom: 0;
  }

  .list-surface .cell-truncate {
    max-width: 8.5rem;
  }
}

@media (max-width: 767.98px) {
  .list-surface .table-cards tbody tr,
  .list-surface .table-cards tbody tr:has(td[data-slot="meta"] + td[data-slot="actions"]) {
    grid-template-columns: minmax(0, 1fr) fit-content(58%) auto;
  }

  .list-surface .table-cards td[data-slot="aside"] {
    max-width: none;
  }

  .list-toolbar > .btn,
  .list-toolbar > .dropdown > .btn {
    gap: var(--space-xxs);
    width: auto;
    padding-inline: var(--space-sm);
  }

  .list-toolbar > .btn:has(> .list-toolbar-label),
  .list-toolbar > .dropdown > .btn:has(> .list-toolbar-label),
  .list-toolbar > .btn.btn-icon,
  .list-toolbar > .dropdown > .btn.btn-icon {
    gap: 0;
    width: 40px;
    padding: 0;
  }

  .list-toolbar + .fine-query-bar,
  .list-toolbar + .invoice-credit-bar,
  .list-toolbar + .collect-bar {
    margin: 0 calc(var(--page-gutter) * -1);
    padding: 0 var(--page-gutter) var(--space-sm);
    background-color: var(--color-bg-container);
    border-bottom: 1px solid var(--color-border-secondary);
  }

  .list-toolbar + .fine-query-bar {
    gap: var(--space-xs);
  }

  .fine-query-text {
    font-size: 12px;
    line-height: 16px;
  }

  .income-bar-end {
    display: none;
  }

  .list-toolbar > .sms-lead {
    display: flex;
    flex: 1 1 100%;
    order: -1;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-xs);
    margin-bottom: var(--space-xxs);
  }
}

@media (min-width: 768px) {
  .list-toolbar-label {
    display: none;
  }

  .list-toolbar > .btn:has(> .list-toolbar-label),
  .list-toolbar > .dropdown > .btn:has(> .list-toolbar-label) {
    position: relative;
    gap: 0;
    width: var(--control-height);
    padding: 0;
    justify-content: center;
  }

  .list-toolbar > .btn:has(> .list-toolbar-label) .ti,
  .list-toolbar > .dropdown > .btn:has(> .list-toolbar-label) .ti {
    margin: 0;
    font-size: var(--icon-size-lg);
  }

  .list-toolbar > .btn:has(> .list-toolbar-label) > .btn-count:not(.list-toolbar-label),
  .list-toolbar > .dropdown > .btn:has(> .list-toolbar-label) > .btn-count:not(.list-toolbar-label) {
    position: absolute;
    top: 3px;
    right: 3px;
    min-width: 16px;
    height: 16px;
    padding-inline: 4px;
    font-size: 10px;
    color: var(--color-text-light);
    background-color: var(--color-primary);
  }

  .list-toolbar > .dropdown > .btn:has(> .tabular-nums.list-toolbar-label) {
    width: auto;
    padding-inline: var(--space-sm);
    gap: var(--space-xxs);
  }

  .list-toolbar > .dropdown > .btn > .tabular-nums.list-toolbar-label {
    display: inline;
  }
}

.vj-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-md);
  margin-bottom: var(--space-lg);
}

.vj-stat {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  column-gap: var(--space-md);
  align-items: center;
  padding: var(--space-lg);
  border: 1px solid var(--color-border-secondary);
  border-radius: var(--radius-lg);
  background: var(--color-bg-container);
  color: var(--color-text);
  text-decoration: none;
  box-shadow: var(--shadow-card);
  transition: border-color 0.15s ease, transform 0.15s ease;
}

.vj-stat:hover {
  border-color: var(--color-primary-border);
  color: var(--color-text);
  text-decoration: none;
  transform: translateY(-1px);
}

.vj-stat .ti {
  grid-row: span 2;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: var(--radius-full);
  background: var(--color-primary-bg);
  color: var(--color-primary);
  font-size: 22px;
}

.vj-stat-value {
  font-family: var(--font-family-display);
  font-size: var(--font-size-stat);
  font-weight: var(--font-weight-bold);
  line-height: 1.1;
}

.vj-stat-label {
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
}

.vj-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-lg);
  align-items: start;
}

.vj-when {
  margin-left: auto;
  padding: 0 var(--space-sm);
  color: var(--color-text-secondary);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.vj-claim {
  margin-left: auto;
  flex-shrink: 0;
}

.vj-priority {
  flex-shrink: 0;
  white-space: nowrap;
}

.vj-setup {
  margin-bottom: var(--space-lg);
}

@media (max-width: 991.98px) {
  .vj-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-sm);
  }

  .vj-stat {
    padding: var(--space-md);
  }

  .vj-columns {
    grid-template-columns: minmax(0, 1fr);
  }
}

.vj-stack {
  display: flex;
  flex-direction: column;
  gap: var(--space);
  min-width: 0;
}

.vj-steps {
  display: flex;
  gap: var(--space-xs);
  margin-bottom: var(--space);
  padding: var(--space-sm);
  border: 1px solid var(--color-border-secondary);
  border-radius: var(--radius-lg);
  background: var(--color-bg-container);
  overflow-x: auto;
}

.vj-step {
  display: flex;
  flex: 1 1 0;
  align-items: center;
  gap: var(--space-xs);
  min-width: max-content;
  color: var(--color-text-tertiary);
  font-size: var(--font-size-sm);
}

.vj-step + .vj-step::before {
  content: "";
  flex: 1 1 auto;
  min-width: var(--space);
  height: 2px;
  margin-right: var(--space-xs);
  background: var(--color-border-secondary);
}

.vj-step.is-done + .vj-step.is-done::before {
  background: var(--color-primary);
}

.vj-step-dot {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 26px;
  height: 26px;
  border: 2px solid var(--color-border);
  border-radius: var(--radius-full);
  background: var(--color-bg-container);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-sm);
  font-variant-numeric: tabular-nums;
}

.vj-step.is-done {
  color: var(--color-text);
}

.vj-step.is-done .vj-step-dot {
  border-color: var(--color-primary);
  background: var(--color-primary);
  color: var(--color-text-light);
}

.vj-step.is-current .vj-step-label {
  font-weight: var(--font-weight-bold);
}

.vj-pay-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-sm);
  margin-bottom: var(--space-sm);
}

.vj-pay-summary > span {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: var(--space-sm);
  border-radius: var(--radius);
  background: var(--color-fill-quaternary);
  font-size: var(--font-size-sm);
}

.vj-pay-summary strong {
  font-size: var(--font-size-lg);
}

.vj-signature {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

.vj-signature img {
  max-width: 220px;
  max-height: 90px;
  border: 1px solid var(--color-border-secondary);
  border-radius: var(--radius);
  background: var(--color-text-light);
}

.vj-photo-group {
  margin: var(--space-sm) 0 var(--space-xs);
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-strong);
}

.vj-quote {
  min-height: 1.2em;
  margin: 0;
  color: var(--color-primary-text);
}

.vj-inline-check {
  display: flex;
  align-items: flex-end;
  padding-bottom: var(--space-sm);
}

.vj-share {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-xs);
}

.item-row.is-muted {
  opacity: 0.55;
}

.item-row.is-muted .item-title {
  text-decoration: line-through;
}

.public-receipt {
  padding: var(--space-lg);
  border: 1px solid var(--color-border-secondary);
  border-radius: var(--radius-lg);
  background: var(--color-text-light);
  overflow-x: auto;
}

.public-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: var(--space);
}

@media (max-width: 991.98px) {
  .vj-step-label {
    display: none;
  }

  .vj-step.is-current .vj-step-label {
    display: inline;
  }

  .vj-quick .btn {
    flex: 1 1 0;
  }

  .vj-pay-summary strong {
    font-size: var(--font-size);
  }
}

.vj-stats-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.vj-section-title {
  margin: 0 0 var(--space-sm);
  font-family: var(--font-family-display);
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-bold);
}

.vj-field-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.vj-field-card {
  border: 1px solid var(--color-border-secondary);
  border-left: 4px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-bg-container);
  box-shadow: var(--shadow-card);
}

.vj-field-card.is-active {
  border-left-color: var(--color-primary);
}

.vj-field-head {
  display: flex;
  align-items: flex-start;
  gap: var(--space-sm);
  padding: var(--space) var(--space) var(--space-sm);
  color: var(--color-text);
  text-decoration: none;
}

.vj-field-head:hover {
  color: var(--color-text);
  text-decoration: none;
}

.vj-field-time {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  min-width: 52px;
  font-family: var(--font-family-display);
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-bold);
  line-height: 1.1;
}

.vj-field-time small {
  color: var(--color-text-secondary);
  font-family: var(--font-family);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight);
}

.vj-field-main {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.vj-field-title {
  font-weight: var(--font-weight-strong);
}

.vj-field-meta {
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
}

.vj-field-actions {
  display: flex;
  gap: var(--space-xs);
  padding: 0 var(--space) var(--space);
}

.vj-field-primary {
  flex: 1 1 auto;
  min-height: 44px;
}

.vj-quick {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
  margin-top: var(--space-sm);
}

.vj-price-list {
  display: flex;
  flex-direction: column;
}

.vj-price-row {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 0.8fr) minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-sm);
  align-items: end;
  margin: 0;
  padding: var(--space-sm) 0;
  border: 0;
  border-bottom: 1px solid var(--color-border-secondary);
}

.vj-price-row:last-child {
  border-bottom: 0;
}

.vj-price-name {
  align-self: center;
  font-weight: var(--font-weight-strong);
}

.vj-price-row + .vj-price-row .form-label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

@media (max-width: 767.98px) {
  .vj-price-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .vj-price-name {
    grid-column: 1 / -1;
  }

  .vj-price-row + .vj-price-row .form-label {
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
    clip: auto;
  }
}

.vj-pay-pad {
  padding: 0 var(--space-lg) var(--space-sm);
}

.vj-stats-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.vj-stats-5 {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.vj-stats-5 > .vj-stat {
  grid-column: span 2;
}

.vj-stats-5 > .vj-stat:nth-child(n + 4) {
  grid-column: span 3;
}

.vj-stat-money,
.vj-stats-3 .vj-stat-value,
.vj-stats-5 .vj-stat-value {
  font-size: var(--font-size-heading-1);
  white-space: nowrap;
}

.vj-stat.is-alert .ti {
  background: var(--color-error-bg);
  color: var(--color-error-text);
}

.vj-stat.is-alert .vj-stat-value {
  color: var(--color-error-text);
}

.vj-amount-reversed {
  color: var(--color-text-tertiary);
  text-decoration: line-through;
}

.vj-report-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  margin-bottom: var(--space);
}

.vj-report-presets {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
}

.vj-report-range {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
}

.vj-report-range .form-control {
  width: auto;
}

.vj-report-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-lg);
  align-items: start;
}

.vj-report-wide {
  grid-column: 1 / -1;
}

.vj-report-table {
  margin-bottom: 0;
}

.vj-share-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.vj-share-row {
  display: flex;
  flex-direction: column;
  gap: var(--space-xxs);
  padding: var(--space-sm) var(--card-pad-x);
  border-top: 1px solid var(--color-border-secondary);
}

.vj-share-row:first-child {
  border-top: 0;
}

.vj-share-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-sm);
}

.vj-share-name {
  min-width: 0;
  font-weight: var(--font-weight-strong);
}

.vj-share-bar {
  display: block;
  width: 100%;
  height: 8px;
  border: 0;
  background: var(--color-fill-quaternary);
  color: var(--color-primary);
  appearance: none;
}

.vj-share-bar::-webkit-progress-bar {
  background: var(--color-fill-quaternary);
}

.vj-share-bar::-webkit-progress-value {
  background: var(--color-primary);
}

.vj-share-bar::-moz-progress-bar {
  background: var(--color-primary);
}

.vj-share-meta {
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
}

@media (max-width: 1199.98px) {
  .vj-stats-3 .vj-stat,
  .vj-stats-5 .vj-stat {
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--space-xxs);
  }

  .vj-stats-3 .vj-stat .ti,
  .vj-stats-5 .vj-stat .ti {
    display: none;
  }
}

@media (max-width: 991.98px) {
  .vj-stats-3,
  .vj-stats-5 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .vj-stats-5 > .vj-stat,
  .vj-stats-5 > .vj-stat:nth-child(n + 4) {
    grid-column: auto;
  }

  .vj-stats-3 > .vj-stat:first-child,
  .vj-stats-5 > .vj-stat:last-child {
    grid-column: 1 / -1;
  }

  .vj-report-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space);
  }
}

@media (max-width: 767.98px) {
  .vj-report-range {
    display: grid;
    flex: 1 1 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .vj-report-range > span {
    display: none;
  }

  .vj-report-range .form-control {
    width: 100%;
    min-width: 0;
  }

  .vj-report-range .btn {
    grid-column: 1 / -1;
  }

  .vj-report-presets {
    display: grid;
    flex: 1 1 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .vj-stat-money,
  .vj-stats-3 .vj-stat-value,
  .vj-stats-5 .vj-stat-value {
    font-size: var(--font-size-xl);
  }
}

.contract-layout.is-single {
  grid-template-columns: minmax(0, 1fr);
}

.vj-board-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  margin-bottom: var(--space);
}

.vj-board-pool {
  margin-bottom: var(--space);
}

.vj-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
}

.vj-board {
  overflow-x: auto;
  border: 1px solid var(--color-border-secondary);
  border-radius: var(--radius-lg);
  background: var(--color-bg-container);
}

.vj-board-table {
  width: 100%;
  min-width: 960px;
  border-collapse: collapse;
  table-layout: fixed;
}

.vj-board-table th,
.vj-board-table td {
  padding: var(--space-xs);
  border-right: 1px solid var(--color-border-secondary);
  border-bottom: 1px solid var(--color-border-secondary);
  vertical-align: top;
  text-align: left;
}

.vj-board-table thead th {
  background: var(--color-fill-quaternary);
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-strong);
  white-space: nowrap;
}

.vj-board-table thead th span {
  color: var(--color-text);
}

.vj-board-table .is-today {
  background: var(--color-primary-bg);
}

.vj-board-table td {
  height: 92px;
}

.vj-board-vehicle {
  width: 150px;
}

.vj-board-plate {
  display: block;
  font-weight: var(--font-weight-bold);
  white-space: nowrap;
}

.vj-board-meta {
  display: block;
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight);
}

.vj-board-table tr.is-inactive th,
.vj-board-table tr.is-inactive td {
  opacity: 0.6;
}

.vj-job-chip {
  display: flex;
  flex-direction: column;
  gap: 1px;
  margin-bottom: var(--space-xxs);
  padding: var(--space-xxs) var(--space-xs);
  border-left: 3px solid var(--color-border);
  border-radius: var(--radius);
  background: var(--color-fill-quaternary);
  color: var(--color-text);
  font-size: var(--font-size-sm);
  line-height: 1.3;
  text-decoration: none;
}

.vj-job-chip:hover {
  color: var(--color-text);
  text-decoration: none;
  background: var(--color-fill-tertiary);
}

.vj-chip-list .vj-job-chip {
  margin-bottom: 0;
  min-width: 200px;
}

.vj-job-chip.is-new { border-left-color: var(--color-primary); }
.vj-job-chip.is-planned { border-left-color: var(--color-warning); }
.vj-job-chip.is-on_way { border-left-color: var(--orange-6); }
.vj-job-chip.is-on_site { border-left-color: var(--purple-6); }
.vj-job-chip.is-done { border-left-color: var(--color-success); opacity: 0.7; }

.vj-job-chip-time {
  font-weight: var(--font-weight-bold);
}

.vj-job-chip-title {
  overflow: hidden;
  font-weight: var(--font-weight-strong);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vj-job-chip-meta {
  overflow: hidden;
  color: var(--color-text-secondary);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vj-board-add {
  display: grid;
  place-items: center;
  height: 26px;
  border: 1px dashed var(--color-border);
  border-radius: var(--radius);
  color: var(--color-text-tertiary);
  opacity: 0;
  transition: opacity 0.15s ease;
}

.vj-board-table td:hover .vj-board-add,
.vj-board-add:focus-visible {
  opacity: 1;
}

.vj-board-add:hover {
  border-color: var(--color-primary);
  color: var(--color-primary);
}

.vj-day-strip {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: var(--space-xxs);
  margin-bottom: var(--space-sm);
}

.vj-day {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: var(--space-xs) 0;
  border: 1px solid var(--color-border-secondary);
  border-radius: var(--radius);
  background: var(--color-bg-container);
  color: var(--color-text);
  font-size: var(--font-size-sm);
  text-decoration: none;
}

.vj-day strong {
  font-size: var(--font-size-lg);
}

.vj-day small {
  color: var(--color-text-secondary);
}

.vj-day.is-today {
  border-color: var(--color-primary-border);
}

.vj-day.is-active {
  border-color: var(--color-primary);
  background: var(--color-primary);
  color: var(--color-text-light);
}

.vj-day.is-active small {
  color: var(--color-text-light);
}

.vj-board-day {
  margin-bottom: var(--space-sm);
}

.vj-when-first {
  margin-left: 0;
  padding-left: 0;
  font-weight: var(--font-weight-bold);
  color: var(--color-text);
}

@media (max-width: 575.98px) {
  .vj-columns .item-row:has(.vj-claim),
  .vj-columns .item-row:has(.btn) {
    flex-wrap: wrap;
  }

  .vj-columns .item-row:has(.vj-claim) .item-main,
  .vj-columns .item-row:has(.btn) .item-main {
    flex: 1 1 100%;
  }

  .vj-columns .item-row:has(.vj-claim) .vj-when,
  .vj-columns .item-row:has(.btn) .vj-when {
    margin-left: 0;
    padding-left: 0;
  }
}
