/* GENERATED FILE. Edit Web/Styles modules, then run build-site-css.mjs. */
:root {
  --admin-bg: var(--st-background);
  --admin-surface: var(--st-background);
  --admin-border: #c4d3df;
  --admin-text: var(--st-text);
  --admin-muted: #526577;
  --admin-primary: var(--st-primary);
  --admin-primary-soft: var(--st-surface);
  --admin-primary-dark: var(--st-text);
  /* Semantic states are separate from the corporate palette. */
  --admin-success: #276345;
  --admin-warning: #b45309;
  --admin-danger: #be123c;
  --admin-focus: var(--st-primary);
  --admin-shadow: none;
  --admin-radius: var(--st-radius-panel);
}

/* One-time provider attestations */
.external-action-body {
  min-height: 100vh;
  background: #eef2f3;
  color: #182228;
}

.external-action-brand {
  display: flex;
  align-items: center;
  min-height: 3.5rem;
  padding-inline: max(1rem, calc((100% - 58rem) / 2));
  border-bottom: 1px solid #d5dbe0;
  background: #fff;
  color: #164f43;
  font-size: 1.05rem;
  font-weight: 700;
}

.hr-provider-one-time-link {
  display: grid;
  grid-template-columns: minmax(14rem, .7fr) minmax(18rem, 1.3fr);
  gap: .75rem 1.25rem;
  align-items: center;
  margin-block: .75rem 1rem;
  padding: 1rem;
  border: 1px solid #9a6b16;
  border-radius: 6px;
  background: #fff9e8;
  color: #342a18;
}

.hr-provider-one-time-link > div:first-child {
  display: grid;
  gap: .2rem;
}

.hr-provider-one-time-link span,
.hr-provider-invitation-list small {
  color: #5f5a50;
}

.hr-provider-invitation-list {
  display: grid;
  gap: .5rem;
  margin: .75rem 0;
}

.hr-provider-invitation-list > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .7rem .8rem;
  border: 1px solid var(--admin-border, #d7dce2);
  border-radius: 6px;
  background: #f8fafb;
}

.hr-provider-invitation-list span {
  display: grid;
  gap: .15rem;
  min-width: 0;
}

.hr-provider-invite-delivery {
  display: flex;
  align-items: center;
  gap: .55rem;
  min-height: 2.5rem;
}

.external-signoff-shell {
  width: min(100% - 2rem, 58rem);
  margin-inline: auto;
  padding-block: clamp(1.5rem, 5vh, 4rem);
}

.external-signoff-panel {
  border: 1px solid #d5dbe0;
  border-top: 2px solid #165b4d;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 32px rgb(25 39 48 / 9%);
  overflow: hidden;
}

.external-signoff-head {
  padding: 1.5rem clamp(1rem, 4vw, 2rem) 1.25rem;
  border-bottom: 1px solid #e1e5e8;
  background: #f5f8f7;
}

.external-signoff-head h1 {
  margin: .25rem 0 .35rem;
  font-size: clamp(1.5rem, 3vw, 2rem);
  letter-spacing: 0;
}

.external-signoff-head p:last-child,
.external-signoff-legal {
  margin: 0;
  color: #535d63;
}

.external-signoff-dossier {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin: 1.25rem clamp(1rem, 4vw, 2rem) 0;
  border: 1px solid #dce1e4;
  border-radius: 6px;
  overflow: hidden;
}

.external-signoff-dossier > div {
  display: grid;
  gap: .15rem;
  padding: .75rem .9rem;
  border-bottom: 1px solid #e5e8ea;
}

.external-signoff-dossier > div:nth-child(odd) {
  border-right: 1px solid #e5e8ea;
}

.external-signoff-dossier span {
  font-size: .78rem;
  color: #687279;
}

.external-signoff-dossier strong {
  overflow-wrap: anywhere;
}

.external-signoff-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  padding: 1.5rem clamp(1rem, 4vw, 2rem) 2rem;
}

.external-signoff-form > .alert,
.external-signoff-declaration,
.external-signoff-confirmation,
.external-signoff-legal,
.external-signoff-form > button {
  grid-column: 1 / -1;
}

.external-signoff-form label {
  display: block;
  margin-bottom: .3rem;
  font-weight: 600;
}

.external-signoff-declaration {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .15rem .65rem;
  align-items: start;
  padding: .85rem;
  border: 1px solid #b8c9c4;
  border-radius: 6px;
  background: #f2f8f6;
}

.external-signoff-declaration label {
  margin: 0;
  font-weight: 500;
}

.external-signoff-declaration .text-danger {
  grid-column: 2;
}

.external-signoff-form > button {
  justify-self: start;
  min-width: 13rem;
}

.external-signoff-result,
.external-signoff-panel > .alert {
  margin: 1.5rem clamp(1rem, 4vw, 2rem) 2rem;
  padding: 1rem;
  border-radius: 6px;
}

.external-signoff-result p {
  margin: .35rem 0;
}

.external-signoff-result.is-success {
  border: 1px solid #83ad9f;
  background: #edf7f3;
  color: #174d40;
}

.external-signoff-result.is-warning {
  border: 1px solid #c5a45e;
  background: #fff8e8;
  color: #493a1d;
}

@media (max-width: 700px) {
  .hr-provider-one-time-link,
  .external-signoff-form,
  .external-signoff-dossier {
    grid-template-columns: 1fr;
  }

  .hr-provider-invitation-list > div {
    align-items: flex-start;
    flex-direction: column;
  }

  .external-signoff-dossier > div:nth-child(odd) {
    border-right: 0;
  }

  .external-signoff-form > button {
    width: 100%;
  }
}

/* Document conservation */
.document-conservation-page {
  display: grid;
  gap: 1rem;
}

.document-conservation-head {
  margin-bottom: 0;
}

.document-conservation-scope {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.25rem;
  border: 1px solid color-mix(in srgb, var(--admin-warning) 28%, var(--admin-border));
  background: color-mix(in srgb, var(--admin-warning) 7%, white);
}

.document-conservation-scope p,
.document-conservation-workflow-head p {
  max-width: 72ch;
  margin: 0.25rem 0 0;
  color: var(--admin-muted);
}

.document-conservation-filter {
  display: grid;
  grid-template-columns: repeat(2, minmax(10rem, 0.7fr)) repeat(2, minmax(9rem, auto));
  align-items: end;
  gap: 0.75rem;
  margin-bottom: 0;
}

.document-conservation-filter .form-control,
.document-conservation-filter .btn {
  min-height: 44px;
}

.document-conservation-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-block: 1px solid var(--admin-border);
  background: var(--admin-surface);
}

.document-conservation-summary > div {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
  padding: 1rem 1.15rem;
}

.document-conservation-summary > div + div {
  border-left: 1px solid var(--admin-border);
}

.document-conservation-summary span,
.document-conservation-summary small {
  color: var(--admin-muted);
}

.document-conservation-summary span {
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
}

.document-conservation-summary strong {
  font-size: 1.1rem;
}

.document-conservation-workflow,
.document-conservation-contents {
  padding: 1.2rem 1.25rem;
  border: 1px solid var(--admin-border);
  background: var(--admin-surface);
}

.document-conservation-workflow-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.document-conservation-workflow-head h2,
.document-conservation-contents h2 {
  margin: 0;
  font-size: 1.15rem;
}

.document-conservation-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 1.1rem 0 0;
  padding: 0;
  border-block: 1px solid var(--admin-border);
  list-style: none;
  counter-reset: conservation-step;
}

.document-conservation-steps li {
  display: grid;
  gap: 0.25rem;
  min-width: 0;
  padding: 1rem;
  counter-increment: conservation-step;
}

.document-conservation-steps li + li {
  border-left: 1px solid var(--admin-border);
}

.document-conservation-steps strong::before {
  content: counter(conservation-step) ". ";
  color: var(--admin-primary);
}

.document-conservation-steps span,
.document-conservation-actions span {
  color: var(--admin-muted);
  font-size: 0.88rem;
}

.document-conservation-warnings {
  margin-top: 1rem;
  padding: 0.85rem 1rem;
  border: 1px solid color-mix(in srgb, var(--admin-warning) 24%, var(--admin-border));
  background: color-mix(in srgb, var(--admin-warning) 6%, white);
}

.document-conservation-warnings ul {
  margin: 0.4rem 0 0;
  padding-left: 1.2rem;
}

.document-conservation-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1rem;
}

.document-conservation-actions > div {
  display: grid;
  gap: 0.15rem;
}

.document-conservation-actions .btn {
  min-height: 44px;
}

.document-conservation-contents dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 1rem 0 0;
  border-top: 1px solid var(--admin-border);
}

.document-conservation-contents dl > div {
  display: grid;
  grid-template-columns: minmax(6rem, 0.35fr) minmax(0, 1fr);
  gap: 0.75rem;
  padding: 0.8rem 1rem 0.8rem 0;
  border-bottom: 1px solid var(--admin-border);
}

.document-conservation-contents dl > div:nth-child(even) {
  padding-left: 1rem;
  border-left: 1px solid var(--admin-border);
}

.document-conservation-contents dt,
.document-conservation-contents dd {
  margin: 0;
}

.document-conservation-contents dd {
  color: var(--admin-muted);
}

@media (max-width: 767.98px) {
  .document-conservation-head,
  .document-conservation-scope,
  .document-conservation-workflow-head,
  .document-conservation-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .document-conservation-head .btn,
  .document-conservation-actions .btn {
    width: 100%;
  }

  .document-conservation-filter,
  .document-conservation-summary,
  .document-conservation-steps,
  .document-conservation-contents dl {
    grid-template-columns: minmax(0, 1fr);
  }

  .document-conservation-summary > div + div,
  .document-conservation-steps li + li,
  .document-conservation-contents dl > div:nth-child(even) {
    padding-left: 0;
    border-left: 0;
    border-top: 1px solid var(--admin-border);
  }

  .document-conservation-contents dl > div {
    grid-template-columns: minmax(0, 1fr);
    padding-right: 0;
  }
}

/* Accountant package */
.accountant-package-page {
  display: grid;
  gap: 1rem;
}

.accountant-package-head {
  margin-bottom: 0;
}

.accountant-package-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(16rem, 0.7fr);
  border: 1px solid var(--admin-border);
  background: var(--admin-surface);
  box-shadow: var(--admin-shadow);
}

.accountant-package-form-panel {
  min-width: 0;
  padding: 1.25rem;
}

.accountant-package-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.accountant-package-section-head h2 {
  margin: 0.15rem 0 0;
  font-size: 1.15rem;
}

.accountant-package-kicker {
  color: var(--admin-muted);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
}

.accountant-package-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr)) minmax(12rem, auto);
  align-items: end;
  gap: 0.75rem;
  margin-top: 1.25rem;
}

.accountant-package-form .form-control,
.accountant-package-download {
  min-height: 44px;
}

.accountant-package-assurance {
  margin-top: 1rem;
  padding: 0.85rem 1rem;
  border: 1px solid color-mix(in srgb, var(--admin-success) 24%, var(--admin-border));
  background: color-mix(in srgb, var(--admin-success) 9%, white);
}

.accountant-package-assurance p {
  margin: 0.2rem 0 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
}

.accountant-package-status {
  display: grid;
  align-content: stretch;
  border-left: 1px solid var(--admin-border);
  background: var(--admin-bg);
}

.accountant-package-status > div {
  display: grid;
  align-content: center;
  gap: 0.18rem;
  min-height: 6rem;
  padding: 0.9rem 1rem;
}

.accountant-package-status > div + div {
  border-top: 1px solid var(--admin-border);
}

.accountant-package-status span,
.accountant-package-status small {
  color: var(--admin-muted);
}

.accountant-package-status span {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
}

.accountant-package-contents {
  padding: 1.15rem 1.25rem;
  border: 1px solid var(--admin-border);
  background: var(--admin-surface);
}

.accountant-package-groups {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 1rem;
  border-top: 1px solid var(--admin-border);
}

.accountant-package-groups article {
  min-width: 0;
  padding: 1rem 1rem 0 0;
}

.accountant-package-groups article + article {
  padding-left: 1rem;
  border-left: 1px solid var(--admin-border);
}

.accountant-package-groups h3 {
  margin: 0 0 0.5rem;
  font-size: 0.95rem;
}

.accountant-package-groups ul {
  margin: 0;
  padding-left: 1.1rem;
  color: var(--admin-muted);
  font-size: 0.88rem;
}

.accountant-package-groups li + li {
  margin-top: 0.3rem;
}

.accountant-package-disclaimer {
  margin-bottom: 0;
}

@media (max-width: 991.98px) {
  .accountant-package-workspace {
    grid-template-columns: minmax(0, 1fr);
  }

  .accountant-package-status {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid var(--admin-border);
    border-left: 0;
  }

  .accountant-package-status > div + div {
    border-top: 0;
    border-left: 1px solid var(--admin-border);
  }

  .accountant-package-groups {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .accountant-package-groups article:nth-child(3) {
    padding-left: 0;
    border-left: 0;
  }
}

@media (max-width: 575.98px) {
  .accountant-package-head,
  .accountant-package-section-head {
    align-items: stretch;
    flex-direction: column;
  }

  .accountant-package-head .btn,
  .accountant-package-form {
    width: 100%;
  }

  .accountant-package-form,
  .accountant-package-status,
  .accountant-package-groups {
    grid-template-columns: minmax(0, 1fr);
  }

  .accountant-package-form-panel,
  .accountant-package-contents {
    padding: 1rem;
  }

  .accountant-package-status > div + div,
  .accountant-package-groups article + article {
    padding-left: 0;
    border-left: 0;
    border-top: 1px solid var(--admin-border);
  }

  .accountant-package-status > div {
    min-height: 0;
    padding: 0.85rem 1rem;
  }

  .accountant-package-groups article {
    padding: 0.85rem 0;
  }
}

/* HR notification inbox and delivery preferences */
.hr-notifications-page {
  --hr-notification-info: #246b61;
  --hr-notification-warning: #a15c08;
  --hr-notification-danger: #b7373f;
  max-width: 100%;
  overflow-x: clip;
}

.hr-notifications-page .admin-page-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.hr-notifications-page .admin-page-tools form {
  margin: 0;
}

.hr-notification-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-block: 1px solid var(--admin-border, #d8dee7);
  background: var(--admin-surface, #fff);
}

.hr-notification-summary > div {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
  padding: 1rem 1.25rem;
  border-right: 1px solid var(--admin-border, #d8dee7);
}

.hr-notification-summary > div:last-child {
  border-right: 0;
}

.hr-notification-summary span {
  color: var(--admin-text-muted, #5f6b7a);
  font-size: 0.8rem;
  font-weight: 700;
}

.hr-notification-summary strong {
  color: var(--admin-text, #172033);
  font-size: 1.55rem;
  line-height: 1.15;
}

.hr-notification-tabs {
  display: flex;
  gap: 1.25rem;
  margin-top: 1.25rem;
  border-bottom: 1px solid var(--admin-border, #d8dee7);
}

.hr-notification-tabs a {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-height: 44px;
  border-bottom: 3px solid transparent;
  color: var(--admin-text-muted, #5f6b7a);
  font-weight: 700;
  text-decoration: none;
}

.hr-notification-tabs a:hover,
.hr-notification-tabs a:focus-visible,
.hr-notification-tabs a.active {
  border-bottom-color: var(--bs-primary);
  color: var(--bs-primary);
}

.hr-notification-tabs span {
  min-width: 1.6rem;
  padding: 0.1rem 0.4rem;
  border-radius: 999px;
  background: #edf1f5;
  color: #39475a;
  font-size: 0.75rem;
  text-align: center;
}

.hr-notification-inbox,
.hr-notification-preferences {
  margin-top: 1.5rem;
}

.hr-notification-list {
  border-top: 1px solid var(--admin-border, #d8dee7);
}

.hr-notification-item {
  display: grid;
  grid-template-columns: 4px minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  min-width: 0;
  padding: 1rem 0.75rem 1rem 0;
  border-bottom: 1px solid var(--admin-border, #d8dee7);
  background: var(--admin-surface, #fff);
}

.hr-notification-item.is-read {
  background: #fafbfc;
}

.hr-notification-marker {
  align-self: stretch;
  min-height: 3.25rem;
  border-radius: 0 3px 3px 0;
  background: var(--hr-notification-info);
}

.hr-notification-warning .hr-notification-marker {
  background: var(--hr-notification-warning);
}

.hr-notification-danger .hr-notification-marker {
  background: var(--hr-notification-danger);
}

.hr-notification-content {
  min-width: 0;
}

.hr-notification-content h3 {
  margin: 0.25rem 0;
  color: var(--admin-text, #172033);
  font-size: 1rem;
}

.hr-notification-content p {
  margin: 0;
  color: var(--admin-text-muted, #5f6b7a);
  overflow-wrap: anywhere;
}

.hr-notification-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 0.75rem;
  color: var(--admin-text-muted, #5f6b7a);
  font-size: 0.76rem;
  font-weight: 650;
}

.hr-notification-meta > span:first-child {
  color: var(--hr-notification-info);
}

.hr-notification-reminder {
  color: var(--hr-notification-warning);
}

.hr-notification-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.45rem;
}

.hr-notification-actions form {
  margin: 0;
}

.hr-notification-read-state {
  min-width: 3.5rem;
  color: var(--admin-text-muted, #5f6b7a);
  font-size: 0.8rem;
  text-align: center;
}

.hr-notification-preference-list {
  border-top: 1px solid var(--admin-border, #d8dee7);
}

.hr-notification-preference-row {
  display: grid;
  grid-template-columns: minmax(14rem, 1.6fr) minmax(8rem, 0.65fr) minmax(10rem, 0.9fr) minmax(13rem, 1fr) minmax(9rem, 0.75fr) auto;
  gap: 0.85rem;
  align-items: end;
  min-width: 0;
  padding: 1rem 0;
  border-bottom: 1px solid var(--admin-border, #d8dee7);
}

.hr-notification-preference-row > div,
.hr-notification-preference-row fieldset {
  min-width: 0;
}

.hr-notification-preference-row label,
.hr-notification-channels legend {
  display: block;
  margin-bottom: 0.3rem;
  color: var(--admin-text-muted, #5f6b7a);
  font-size: 0.78rem;
  font-weight: 700;
}

.hr-notification-preference-name {
  align-self: center;
}

.hr-notification-preference-name h3 {
  margin: 0;
  color: var(--admin-text, #172033);
  font-size: 0.95rem;
}

.hr-notification-preference-name p {
  margin: 0.25rem 0 0;
  color: var(--admin-text-muted, #5f6b7a);
  font-size: 0.82rem;
}

.hr-notification-channels {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin: 0;
  padding: 0;
  border: 0;
}

.hr-notification-channels legend {
  width: 100%;
}

.hr-notification-channels label {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  min-height: 36px;
  margin: 0;
  color: var(--admin-text, #172033);
  cursor: pointer;
}

.hr-notification-channels input {
  width: 1rem;
  height: 1rem;
  accent-color: var(--bs-primary);
}

.hr-notification-quiet-hours > div {
  display: grid;
  grid-template-columns: minmax(5.25rem, 1fr) auto minmax(5.25rem, 1fr);
  gap: 0.35rem;
  align-items: center;
}

.hr-notification-preference-row .btn {
  min-height: 36px;
  white-space: nowrap;
}

.app-hr-notification-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

@media (max-width: 1199.98px) {
  .hr-notification-preference-row {
    grid-template-columns: minmax(14rem, 1.4fr) repeat(2, minmax(10rem, 1fr));
  }

  .hr-notification-preference-row > .hr-notification-preference-name {
    grid-column: 1 / -1;
  }

  .hr-notification-preference-row > .btn {
    justify-self: start;
  }
}

@media (max-width: 767.98px) {
  .hr-notification-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hr-notification-summary > div:nth-child(2) {
    border-right: 0;
  }

  .hr-notification-summary > div:nth-child(-n/**/+2) {
    border-bottom: 1px solid var(--admin-border, #d8dee7);
  }

  .hr-notification-item {
    grid-template-columns: 4px minmax(0, 1fr);
    gap: 0.75rem;
    align-items: stretch;
    padding-right: 0;
  }

  .hr-notification-actions {
    grid-column: 2;
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .hr-notification-actions .btn {
    min-height: 40px;
  }

  .hr-notification-preference-row {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }

  .hr-notification-preference-row > .hr-notification-preference-name {
    grid-column: auto;
  }

  .hr-notification-preference-row .btn {
    width: 100%;
    min-height: 44px;
  }

  .hr-notification-channels label {
    min-height: 44px;
  }
}

/* HR provider activation and certification */
.hr-provider-activation-page {
  display: grid;
  gap: 1rem;
}

.hr-provider-summary {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.hr-provider-activation-page > .admin-filter-bar {
  grid-template-columns: minmax(12rem, 16rem) minmax(12rem, 16rem) auto;
  align-items: end;
}

.hr-provider-activation-page .admin-status-badge {
  min-height: 1.75rem;
  padding: 0.2rem 0.5rem;
  display: inline-flex;
  align-items: center;
  border: 1px solid #b8c1ce;
  border-radius: 4px;
  background: #f4f6f8;
  color: #435063;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.2;
}

.hr-provider-activation-page .status-success,
.hr-provider-activation-page .status-ready {
  border-color: #91b99a;
  background: #eef7f0;
  color: #345f3a;
}

.hr-provider-activation-page .status-warning,
.hr-provider-activation-page .status-draft {
  border-color: #d7b170;
  background: #fff7e8;
  color: #7a4a0c;
}

.hr-provider-activation-page .status-failed {
  border-color: #d8a1a1;
  background: #fff1f1;
  color: #8f2525;
}

.hr-provider-activation-page .status-neutral {
  border-color: #b8c1ce;
  background: #f4f6f8;
  color: #435063;
}

.hr-provider-create,
.hr-provider-evidence,
.hr-provider-signoff,
.hr-provider-decision,
.hr-provider-history {
  border-block: 1px solid var(--admin-border);
  background: var(--admin-surface);
}

.hr-provider-create > summary,
.hr-provider-evidence > summary,
.hr-provider-signoff > summary,
.hr-provider-decision > summary,
.hr-provider-history > summary {
  min-height: 3.5rem;
  padding: 0.8rem 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  cursor: pointer;
  list-style: none;
}

.hr-provider-create > summary::-webkit-details-marker,
.hr-provider-evidence > summary::-webkit-details-marker,
.hr-provider-signoff > summary::-webkit-details-marker,
.hr-provider-decision > summary::-webkit-details-marker,
.hr-provider-history > summary::-webkit-details-marker {
  display: none;
}

.hr-provider-create > summary span:first-child,
.hr-provider-evidence > summary span:first-child,
.hr-provider-signoff > summary span:first-child,
.hr-provider-decision > summary span:first-child,
.hr-provider-history > summary span:first-child {
  display: grid;
  gap: 0.15rem;
}

.hr-provider-create > summary small,
.hr-provider-evidence > summary small,
.hr-provider-signoff > summary small,
.hr-provider-decision > summary small,
.hr-provider-history > summary small {
  color: var(--admin-muted);
}

.hr-provider-create-form,
.hr-provider-evidence-form,
.hr-provider-signoff-form {
  padding: 1rem;
  border-top: 1px solid var(--admin-border);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.9rem 1rem;
}

.hr-provider-create-form label,
.hr-provider-evidence-form label,
.hr-provider-signoff-form label,
.hr-provider-decision-form label {
  margin-bottom: 0.35rem;
  color: var(--admin-text);
  font-size: 0.875rem;
  font-weight: 700;
}

.hr-provider-form-wide {
  grid-column: 1 / -1;
}

.hr-provider-form-actions {
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-end;
}

.hr-provider-workspace {
  min-height: 34rem;
  display: grid;
  grid-template-columns: minmax(17rem, 25rem) minmax(0, 1fr);
  border-block: 1px solid var(--admin-border);
  background: var(--admin-surface);
}

.hr-provider-register {
  min-width: 0;
  border-right: 1px solid var(--admin-border);
}

.hr-provider-register .hr-overview-band-head,
.hr-provider-checklist .hr-overview-band-head {
  padding: 0.9rem 1rem;
}

.hr-provider-register-list {
  display: grid;
}

.hr-provider-register-item {
  min-width: 0;
  min-height: 4.5rem;
  padding: 0.75rem 1rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.75rem;
  border-top: 1px solid var(--admin-border);
  color: var(--admin-text);
  text-decoration: none;
}

.hr-provider-register-item:hover,
.hr-provider-register-item:focus-visible {
  background: #f5f8fc;
  color: var(--admin-text);
}

.hr-provider-register-item:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--admin-focus), transparent 58%);
  outline-offset: -3px;
}

.hr-provider-register-item.is-selected {
  box-shadow: inset 4px 0 0 var(--admin-primary);
  background: var(--admin-primary-soft);
}

.hr-provider-register-item > span:first-child,
.hr-provider-register-meta {
  min-width: 0;
  display: grid;
  gap: 0.2rem;
}

.hr-provider-register-item small {
  overflow-wrap: anywhere;
  color: var(--admin-muted);
}

.hr-provider-register-meta {
  justify-items: end;
  text-align: right;
}

.hr-provider-detail {
  min-width: 0;
  padding: 1rem 1.25rem 1.25rem;
  display: grid;
  align-content: start;
  gap: 1rem;
}

.hr-provider-detail-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.hr-provider-detail-head h2 {
  margin: 0;
  font-size: 1.35rem;
  letter-spacing: 0;
}

.hr-provider-detail-head h2 span {
  color: var(--admin-muted);
  font-size: 0.9rem;
}

.hr-provider-detail-head p {
  margin: 0.2rem 0 0;
  color: var(--admin-muted);
}

.hr-provider-detail-state {
  display: grid;
  justify-items: end;
  gap: 0.35rem;
}

.hr-provider-detail-state strong {
  font-size: 0.85rem;
}

.hr-provider-facts {
  margin: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border-block: 1px solid var(--admin-border);
}

.hr-provider-facts > div {
  min-width: 0;
  padding: 0.75rem;
  border-right: 1px solid var(--admin-border);
}

.hr-provider-facts > div:last-child {
  border-right: 0;
}

.hr-provider-facts dt {
  margin-bottom: 0.2rem;
  color: var(--admin-muted);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
}

.hr-provider-facts dd {
  margin: 0;
  overflow-wrap: anywhere;
  font-weight: 700;
}

.hr-provider-primary-actions {
  display: flex;
  justify-content: flex-end;
}

.hr-provider-checklist {
  border-block: 1px solid var(--admin-border);
}

.hr-provider-requirements {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.hr-provider-requirement {
  min-width: 0;
  padding: 0.8rem 1rem;
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: 0.7rem;
  border-top: 1px solid var(--admin-border);
}

.hr-provider-requirement:nth-child(odd) {
  border-right: 1px solid var(--admin-border);
}

.hr-provider-check-mark {
  width: 2rem;
  height: 2rem;
  display: grid;
  place-items: center;
  border: 1px solid #c8d1df;
  border-radius: 50%;
  color: var(--admin-muted);
  font-size: 0.7rem;
  font-weight: 800;
}

.hr-provider-requirement.is-passed .hr-provider-check-mark {
  border-color: #0f766e;
  background: #e7f7f3;
  color: #0f5f59;
}

.hr-provider-requirement p,
.hr-provider-requirement small {
  margin: 0.15rem 0 0;
  display: block;
  color: var(--admin-muted);
  overflow-wrap: anywhere;
}

.hr-provider-decision-form {
  padding: 1rem;
  border-top: 1px solid var(--admin-border);
  display: grid;
  grid-template-columns: minmax(13rem, 0.8fr) minmax(16rem, 1.2fr) auto;
  align-items: end;
  gap: 1rem;
}

.hr-provider-signoff-list {
  padding: 0 1rem;
  border-top: 1px solid var(--admin-border);
}

.hr-provider-signoff-list > div {
  padding: 0.7rem 0;
  display: grid;
  grid-template-columns: minmax(6rem, 0.35fr) minmax(12rem, 1fr) minmax(10rem, 0.8fr);
  gap: 0.75rem;
  border-bottom: 1px solid var(--admin-border);
}

.hr-provider-signoff-list span,
.hr-provider-signoff-list small {
  color: var(--admin-muted);
  overflow-wrap: anywhere;
}

.hr-provider-decision-blocked {
  grid-column: 1 / -1;
  margin: 0;
  color: #8a4b08;
  font-weight: 700;
}

.hr-provider-decision.is-danger {
  border-color: #e7c5c9;
}

.hr-provider-history ol {
  margin: 0;
  padding: 0 1rem 1rem 2.75rem;
  border-top: 1px solid var(--admin-border);
}

.hr-provider-history li {
  padding: 0.65rem 0;
  border-bottom: 1px solid var(--admin-border);
}

.hr-provider-history li:last-child {
  border-bottom: 0;
}

.hr-provider-history time,
.hr-provider-history span {
  margin-right: 0.7rem;
  color: var(--admin-muted);
}

@media (max-width: 1199.98px) {
  .hr-provider-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .hr-provider-create-form,
  .hr-provider-evidence-form,
  .hr-provider-signoff-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hr-provider-facts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 991.98px) {
  .hr-provider-workspace {
    grid-template-columns: 1fr;
  }

  .hr-provider-register {
    max-height: 22rem;
    overflow: auto;
    border-right: 0;
    border-bottom: 1px solid var(--admin-border);
  }

  .hr-provider-decision-form {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px) {
  .hr-provider-activation-page > .admin-filter-bar {
    grid-template-columns: 1fr;
  }

  .hr-provider-summary,
  .hr-provider-create-form,
  .hr-provider-evidence-form,
  .hr-provider-signoff-form,
  .hr-provider-facts,
  .hr-provider-requirements {
    grid-template-columns: 1fr;
  }

  .hr-provider-requirement:nth-child(odd),
  .hr-provider-facts > div {
    border-right: 0;
  }

  .hr-provider-signoff-list > div {
    grid-template-columns: 1fr;
    gap: 0.2rem;
  }

  .hr-provider-facts > div {
    border-bottom: 1px solid var(--admin-border);
  }

  .hr-provider-facts > div:last-child {
    border-bottom: 0;
  }

  .hr-provider-register-item {
    grid-template-columns: minmax(0, 1fr);
  }

  .hr-provider-register-meta {
    justify-items: start;
    text-align: left;
  }

  .hr-provider-detail {
    padding-inline: 0.75rem;
  }

  .hr-provider-detail-head {
    display: grid;
  }

  .hr-provider-detail-state {
    justify-items: start;
  }

  .hr-provider-form-actions .btn,
  .hr-provider-primary-actions,
  .hr-provider-primary-actions form,
  .hr-provider-primary-actions .btn,
  .hr-provider-decision-form .btn {
    width: 100%;
  }
}

/* HR recruiting */
.hr-recruiting-header {
  align-items: end;
}

.hr-recruiting-kpis {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin-block: 1rem 1.25rem;
  border-block: 1px solid var(--admin-border, #d8dee7);
}

.hr-recruiting-kpis > div {
  min-width: 0;
  padding: 0.85rem 1rem;
  border-right: 1px solid var(--admin-border, #d8dee7);
}

.hr-recruiting-kpis > div:last-child {
  border-right: 0;
}

.hr-recruiting-kpis span,
.hr-recruiting-kpis small {
  display: block;
  color: var(--admin-text-muted, #5f6b7a);
  font-size: 0.78rem;
  font-weight: 700;
}

.hr-recruiting-kpis strong {
  display: block;
  margin-top: 0.2rem;
  font-size: 1.35rem;
  line-height: 1.2;
}

.hr-recruiting-filters {
  display: grid;
  grid-template-columns: minmax(10rem, 0.8fr) minmax(14rem, 1.25fr) minmax(14rem, 1.35fr) auto;
}

.hr-recruiting-request .admin-status-badge,
.hr-recruiting-candidate .admin-status-badge {
  display: inline-flex;
  align-items: center;
  width: max-content;
  min-height: 1.7rem;
  padding: 0.2rem 0.5rem;
  border: 1px solid #aeb8c5;
  border-radius: 4px;
  background: #f3f5f7;
  color: #3e4855;
  font-size: 0.75rem;
  font-weight: 700;
}

.hr-recruiting-request .admin-status-badge[data-status="Open"],
.hr-recruiting-candidate .admin-status-badge[data-status="OfferAccepted"] {
  border-color: #3d7652;
  background: #eef7f1;
  color: #28573a;
}

.hr-recruiting-request .admin-status-badge[data-status="Filled"],
.hr-recruiting-candidate .admin-status-badge[data-status="Hired"] {
  border-color: #326b82;
  background: #edf6fa;
  color: #245367;
}

.hr-recruiting-filters label,
.hr-recruiting-form-grid label,
.hr-recruiting-operation label,
.hr-recruiting-danger-action label {
  display: block;
  margin-bottom: 0.3rem;
  color: var(--admin-text-muted, #5f6b7a);
  font-size: 0.8rem;
  font-weight: 700;
}

.hr-recruiting-create,
.hr-recruiting-add-candidate,
.hr-recruiting-operation,
.hr-recruiting-hire {
  margin-block: 1rem;
  border: 1px solid var(--admin-border, #d8dee7);
  border-radius: 6px;
  background: var(--admin-surface, #fff);
}

.hr-recruiting-create > summary,
.hr-recruiting-add-candidate > summary,
.hr-recruiting-operation > summary,
.hr-recruiting-hire > summary {
  padding: 0.75rem 1rem;
  cursor: pointer;
  font-weight: 700;
}

.hr-recruiting-form-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.85rem;
  padding: 0 1rem 1rem;
}

.hr-recruiting-form-wide,
.hr-recruiting-form-actions {
  grid-column: 1 / -1;
}

.hr-recruiting-form-actions {
  display: flex;
  justify-content: flex-end;
}

.hr-recruiting-currency {
  max-width: 5rem;
}

.hr-recruiting-register {
  margin-top: 1.5rem;
}

.hr-recruiting-request {
  margin-top: 1rem;
  border-top: 3px solid #2d6a6a;
  border-bottom: 1px solid var(--admin-border, #d8dee7);
  background: var(--admin-surface, #fff);
}

.hr-recruiting-request > header {
  display: grid;
  grid-template-columns: minmax(18rem, 1.4fr) minmax(28rem, 1fr);
  gap: 1rem;
  align-items: center;
  padding: 1rem;
}

.hr-recruiting-request-title {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  min-width: 0;
}

.hr-recruiting-request-title h3 {
  margin: 0;
  font-size: 1.08rem;
  overflow-wrap: anywhere;
}

.hr-recruiting-request-title p,
.hr-recruiting-request-context p {
  margin: 0.2rem 0 0;
  color: var(--admin-text-muted, #5f6b7a);
}

.hr-recruiting-request-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
}

.hr-recruiting-request-metrics div {
  min-width: 0;
  padding-inline: 0.75rem;
  border-left: 1px solid var(--admin-border, #d8dee7);
}

.hr-recruiting-request-metrics dt {
  color: var(--admin-text-muted, #5f6b7a);
  font-size: 0.72rem;
  text-transform: uppercase;
}

.hr-recruiting-request-metrics dd {
  margin: 0.15rem 0 0;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.hr-recruiting-request-context {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 1.25rem;
  padding: 0.75rem 1rem;
  border-top: 1px solid var(--admin-border, #d8dee7);
  background: #f7f9fb;
  font-size: 0.88rem;
}

.hr-recruiting-request-context p {
  flex-basis: 100%;
}

.hr-recruiting-request-actions,
.hr-recruiting-stage-actions,
.hr-recruiting-inline-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  align-items: end;
}

.hr-recruiting-request-actions {
  padding: 0.75rem 1rem;
  border-top: 1px solid var(--admin-border, #d8dee7);
}

.hr-recruiting-request-actions form {
  display: flex;
  gap: 0.5rem;
  align-items: end;
}

.hr-recruiting-danger-action {
  position: relative;
}

.hr-recruiting-danger-action > summary {
  min-height: 38px;
  padding: 0.42rem 0.75rem;
  border: 1px solid #b63d44;
  border-radius: 4px;
  color: #9a2e35;
  cursor: pointer;
  font-weight: 700;
  list-style: none;
}

.hr-recruiting-danger-action > form,
.hr-recruiting-operation > form {
  display: grid;
  gap: 0.65rem;
  padding: 0 1rem 1rem;
}

.hr-recruiting-candidates {
  border-top: 1px solid var(--admin-border, #d8dee7);
}

.hr-recruiting-candidate {
  border-bottom: 1px solid var(--admin-border, #d8dee7);
}

.hr-recruiting-candidate:last-child {
  border-bottom: 0;
}

.hr-recruiting-candidate > summary {
  display: grid;
  grid-template-columns: auto minmax(10rem, 0.75fr) minmax(13rem, 1fr) auto;
  gap: 0.75rem;
  align-items: center;
  min-height: 3.5rem;
  padding: 0.75rem 1rem;
  cursor: pointer;
  list-style-position: inside;
}

.hr-recruiting-candidate-checks {
  color: var(--admin-text-muted, #5f6b7a);
  font-size: 0.82rem;
}

.hr-recruiting-candidate-body {
  padding: 0.75rem 1rem 1rem;
  border-top: 1px solid var(--admin-border, #d8dee7);
}

.hr-recruiting-candidate-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.25rem;
  margin-bottom: 0.75rem;
  color: var(--admin-text-muted, #5f6b7a);
  font-size: 0.84rem;
}

.hr-recruiting-subsection {
  margin-top: 1rem;
  padding-top: 0.85rem;
  border-top: 1px solid var(--admin-border, #d8dee7);
}

.hr-recruiting-subsection h4 {
  margin: 0 0 0.5rem;
  font-size: 0.95rem;
}

.hr-recruiting-record {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  padding: 0.65rem 0;
  border-top: 1px solid #e8ebef;
}

.hr-recruiting-record > div:first-child {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
}

.hr-recruiting-record span {
  color: var(--admin-text-muted, #5f6b7a);
  font-size: 0.82rem;
  overflow-wrap: anywhere;
}

.hr-recruiting-checkbox {
  align-self: center;
  padding-top: 1.35rem;
}

.hr-recruiting-hire {
  border-color: #3d7652;
}

@media (max-width: 1199.98px) {
  .hr-recruiting-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hr-recruiting-kpis {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .hr-recruiting-kpis > div:nth-child(3) {
    border-right: 0;
  }

  .hr-recruiting-kpis > div:nth-child(-n + 3) {
    border-bottom: 1px solid var(--admin-border, #d8dee7);
  }

  .hr-recruiting-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hr-recruiting-request > header {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px) {
  .hr-recruiting-filters,
  .hr-recruiting-kpis,
  .hr-recruiting-form-grid,
  .hr-recruiting-request-metrics,
  .hr-recruiting-candidate > summary {
    grid-template-columns: 1fr;
  }

  .hr-recruiting-kpis > div,
  .hr-recruiting-kpis > div:nth-child(3) {
    border-right: 0;
    border-bottom: 1px solid var(--admin-border, #d8dee7);
  }

  .hr-recruiting-kpis > div:last-child {
    border-bottom: 0;
  }

  .hr-recruiting-request > header {
    grid-template-columns: minmax(0, 1fr);
  }

  .hr-recruiting-request-metrics div {
    display: grid;
    grid-template-columns: minmax(7rem, 40%) minmax(0, 1fr);
    padding: 0.35rem 0;
    border-left: 0;
    border-top: 1px solid #e8ebef;
  }

  .hr-recruiting-request-metrics dd {
    text-align: right;
  }

  .hr-recruiting-request-actions,
  .hr-recruiting-request-actions form,
  .hr-recruiting-stage-actions,
  .hr-recruiting-inline-actions,
  .hr-recruiting-record {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
  }

  .hr-recruiting-request-actions .btn,
  .hr-recruiting-stage-actions .btn,
  .hr-recruiting-inline-actions .btn,
  .hr-recruiting-record .btn,
  .hr-recruiting-form-actions .btn,
  .hr-recruiting-danger-action,
  .hr-recruiting-danger-action > summary {
    width: 100%;
  }

  .hr-recruiting-candidate > summary {
    gap: 0.35rem;
  }
}

/* HR health and safety */
.hr-safety-header {
  align-items: end;
}

.hr-safety-boundary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.75rem;
  align-items: center;
  margin-top: 1rem;
  padding: 0.75rem 1rem;
  border: 1px solid #b9d5df;
  background: #edf6fa;
  color: #244452;
}

.hr-safety-boundary span {
  overflow-wrap: anywhere;
}

.hr-safety-kpis {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin-block: 1rem 1.25rem;
  border-block: 1px solid var(--admin-border);
}

.hr-safety-kpis > div {
  min-width: 0;
  padding: 0.85rem 1rem;
  border-right: 1px solid var(--admin-border);
}

.hr-safety-kpis > div:last-child {
  border-right: 0;
}

.hr-safety-kpis > div[data-severity="danger"] {
  background: #fff8f8;
  color: #8f2830;
}

.hr-safety-kpis > div[data-severity="warning"] {
  background: #fffbf2;
  color: #784607;
}

.hr-safety-kpis span {
  display: block;
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.hr-safety-kpis strong {
  display: block;
  margin-top: 0.2rem;
  font-size: 1.35rem;
  line-height: 1.2;
}

.hr-safety-filters {
  display: grid;
  grid-template-columns: minmax(14rem, 1.35fr) minmax(12rem, 1fr) auto;
}

.hr-safety-filters label,
.hr-safety-form label {
  display: block;
  margin-bottom: 0.3rem;
  color: var(--admin-muted);
  font-size: 0.8rem;
  font-weight: 700;
}

.hr-safety-actions {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
  margin-top: 1rem;
}

.hr-safety-actions > details,
.hr-safety-clinical > details {
  min-width: 0;
  border: 1px solid var(--admin-border);
  border-radius: 6px;
  background: var(--admin-surface);
}

.hr-safety-actions > details[open] {
  grid-column: 1 / -1;
}

.hr-safety-actions summary,
.hr-safety-clinical summary {
  min-height: 44px;
  padding: 0.7rem 0.9rem;
  cursor: pointer;
  font-weight: 700;
}

.hr-safety-form {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.85rem;
  padding: 0 1rem 1rem;
}

.hr-safety-form h3,
.hr-safety-form-wide,
.hr-safety-form-actions {
  grid-column: 1 / -1;
}

.hr-safety-form h3 {
  margin: 0.25rem 0 0;
  font-size: 1rem;
}

.hr-safety-form-actions {
  display: flex;
  justify-content: flex-end;
}

.hr-safety-form-actions .btn {
  min-height: 42px;
}

.hr-safety-check {
  display: flex !important;
  gap: 0.5rem;
  align-items: center;
  min-height: 44px;
  margin: 0 !important;
}

.hr-safety-check input {
  width: 1.1rem;
  height: 1.1rem;
}

.hr-safety-config-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  padding: 0 1rem 1rem;
}

.hr-safety-config-grid .hr-safety-form {
  padding: 1rem;
  border: 1px solid #c9d7df;
  background: #f8fafc;
}

.hr-safety-register,
.hr-safety-matrix,
.hr-safety-visits,
.hr-safety-clinical {
  margin-top: 1.75rem;
}

.hr-safety-employee {
  margin-top: 0.9rem;
  border: 1px solid var(--admin-border);
  background: var(--admin-surface);
}

.hr-safety-employee > header {
  display: grid;
  grid-template-columns: minmax(14rem, 1fr) minmax(24rem, 1fr);
  gap: 1rem;
  align-items: center;
  padding: 0.9rem 1rem;
}

.hr-safety-employee h3 {
  margin: 0;
  font-size: 1.05rem;
}

.hr-safety-employee header p,
.hr-safety-no-controls {
  margin: 0.2rem 0 0;
  color: var(--admin-muted);
}

.hr-safety-employee dl {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
}

.hr-safety-employee dl div {
  min-width: 0;
  padding-inline: 0.75rem;
  border-left: 1px solid var(--admin-border);
}

.hr-safety-employee dt {
  color: var(--admin-muted);
  font-size: 0.72rem;
}

.hr-safety-employee dd {
  margin: 0.15rem 0 0;
  font-weight: 700;
}

.hr-safety-controls {
  border-top: 1px solid var(--admin-border);
}

.hr-safety-control {
  display: grid;
  grid-template-columns: 7rem minmax(14rem, 1fr) minmax(10rem, 0.5fr) auto;
  gap: 0.75rem;
  align-items: center;
  min-height: 3.6rem;
  padding: 0.65rem 1rem;
  border-bottom: 1px solid #e8ebef;
}

.hr-safety-control:last-child {
  border-bottom: 0;
}

.hr-safety-control > div {
  display: grid;
  gap: 0.1rem;
  min-width: 0;
}

.hr-safety-control > div:last-child {
  text-align: right;
}

.hr-safety-control-actions {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 0.35rem !important;
}

.hr-safety-control-actions form {
  margin: 0;
}

.hr-safety-control span {
  color: var(--admin-muted);
  font-size: 0.8rem;
  overflow-wrap: anywhere;
}

.hr-safety-control .admin-status-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: max-content;
  min-height: 1.75rem;
  padding: 0.2rem 0.5rem;
  border: 1px solid #aeb8c5;
  border-radius: 4px;
  background: #f3f5f7;
  color: #3e4855;
  font-size: 0.75rem;
  font-weight: 700;
}

.hr-safety-control .admin-status-badge[data-status="Compliant"] {
  border-color: #3d7652;
  background: #eef7f1;
  color: #28573a;
}

.hr-safety-control .admin-status-badge[data-status="DueSoon"],
.hr-safety-control .admin-status-badge[data-status="Scheduled"] {
  border-color: #a15c08;
  background: #fff7e8;
  color: #784607;
}

.hr-safety-control .admin-status-badge[data-status="Expired"],
.hr-safety-control .admin-status-badge[data-status="Missing"],
.hr-safety-control .admin-status-badge[data-status="NonCompliant"] {
  border-color: #b7373f;
  background: #fff1f2;
  color: #8f2830;
}

.hr-safety-no-controls {
  padding: 0.9rem 1rem;
  border-top: 1px solid var(--admin-border);
}

.hr-safety-matrix td > span,
.hr-safety-visits td > span {
  display: block;
  color: var(--admin-muted);
  font-size: 0.8rem;
}

.hr-safety-clinical {
  padding: 1rem;
  border: 2px solid #704c83;
  background: #fbf8fc;
}

.hr-safety-clinical > details {
  margin-top: 0.75rem;
}

.hr-safety-clinical-history {
  margin-top: 1rem;
  border-top: 1px solid #d8cce0;
}

.hr-safety-clinical-history article {
  padding: 0.9rem 0;
  border-bottom: 1px solid #d8cce0;
}

.hr-safety-clinical-history header {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  justify-content: space-between;
}

.hr-safety-clinical-history p {
  margin: 0.5rem 0 0;
  white-space: pre-wrap;
}

@media (max-width: 1199.98px) {
  .hr-safety-kpis {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .hr-safety-kpis > div:nth-child(3n) {
    border-right: 0;
  }

  .hr-safety-kpis > div:nth-child(-n + 3) {
    border-bottom: 1px solid var(--admin-border);
  }

  .hr-safety-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hr-safety-form,
  .hr-safety-employee > header {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .hr-safety-boundary,
  .hr-safety-kpis,
  .hr-safety-filters,
  .hr-safety-actions,
  .hr-safety-form,
  .hr-safety-config-grid,
  .hr-safety-employee > header,
  .hr-safety-employee dl,
  .hr-safety-control {
    grid-template-columns: minmax(0, 1fr);
  }

  .hr-safety-kpis > div,
  .hr-safety-kpis > div:nth-child(3n) {
    border-right: 0;
    border-bottom: 1px solid var(--admin-border);
  }

  .hr-safety-kpis > div:last-child {
    border-bottom: 0;
  }

  .hr-safety-actions > details[open] {
    grid-column: auto;
  }

  .hr-safety-form-actions .btn {
    width: 100%;
    min-height: 44px;
  }

  .hr-safety-employee dl div {
    display: grid;
    grid-template-columns: minmax(8rem, 1fr) auto;
    padding: 0.35rem 0;
    border-top: 1px solid #e8ebef;
    border-left: 0;
  }

  .hr-safety-control {
    gap: 0.35rem;
  }

  .hr-safety-control > div:last-child {
    text-align: left;
  }

  .hr-safety-matrix table,
  .hr-safety-visits table,
  .hr-safety-matrix tbody,
  .hr-safety-visits tbody,
  .hr-safety-matrix tr,
  .hr-safety-visits tr,
  .hr-safety-matrix td,
  .hr-safety-visits td {
    display: block;
    width: 100%;
  }

  .hr-safety-matrix thead,
  .hr-safety-visits thead {
    display: none;
  }

  .hr-safety-matrix tr,
  .hr-safety-visits tr {
    padding: 0.65rem 0;
    border-bottom: 1px solid var(--admin-border);
  }

  .hr-safety-matrix td,
  .hr-safety-visits td {
    display: grid;
    grid-template-columns: minmax(7.5rem, 38%) minmax(0, 1fr);
    gap: 0.65rem;
    padding: 0.35rem 0.5rem;
    border: 0;
    overflow-wrap: anywhere;
  }

  .hr-safety-matrix td::before,
  .hr-safety-visits td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.75rem;
    font-weight: 700;
  }
}

/* HR kiosk management and terminal */
.hr-kiosk-settings-page,
.hr-kiosk-settings-page > *,
.hr-kiosk-admin-grid,
.hr-kiosk-admin-grid > *,
.hr-kiosk-settings-page .admin-table-shell {
  min-width: 0;
  max-width: 100%;
}

.hr-kiosk-settings-page .admin-table-shell {
  contain: inline-size;
}

.hr-kiosk-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 1rem;
  border-block: 1px solid var(--admin-border);
  background: #f8fafc;
}

.hr-kiosk-summary > div {
  min-width: 0;
  padding: 0.85rem 1rem;
  border-right: 1px solid var(--admin-border);
}

.hr-kiosk-summary > div:last-child {
  border-right: 0;
}

.hr-kiosk-summary strong,
.hr-kiosk-summary span {
  display: block;
}

.hr-kiosk-summary strong {
  color: var(--admin-text);
  font-size: 1.15rem;
}

.hr-kiosk-summary span {
  margin-top: 0.15rem;
  color: var(--admin-muted);
  font-size: 0.82rem;
}

.hr-kiosk-activation {
  display: grid;
  grid-template-columns: minmax(12rem, 0.7fr) minmax(20rem, 1.3fr);
  gap: 0.9rem 1.5rem;
  align-items: start;
  margin-bottom: 1rem;
  padding: 1rem;
  border: 1px solid #86a8eb;
  border-radius: 6px;
  background: #f3f7ff;
}

.hr-kiosk-activation h2,
.hr-kiosk-activation p {
  margin: 0;
}

.hr-kiosk-activation h2 {
  font-size: 1rem;
}

.hr-kiosk-activation p {
  margin-top: 0.25rem;
  color: #42526a;
}

.hr-kiosk-activation dl {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
  margin: 0;
}

.hr-kiosk-activation dl > div {
  min-width: 0;
}

.hr-kiosk-activation dt {
  color: #42526a;
  font-size: 0.78rem;
}

.hr-kiosk-activation dd {
  margin: 0.2rem 0 0;
  overflow-wrap: anywhere;
}

.hr-kiosk-once-note {
  grid-column: 2;
  font-size: 0.82rem;
}

.hr-kiosk-admin-grid {
  display: grid;
  grid-template-columns: minmax(20rem, 0.72fr) minmax(0, 1.55fr);
  gap: 1.25rem;
  align-items: start;
}

.hr-kiosk-revoke {
  display: block;
  margin-top: 0.45rem;
  text-align: left;
}

.hr-kiosk-revoke summary {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  padding: 0.3rem 0.55rem;
  border: 1px solid #e11d48;
  border-radius: 4px;
  color: #9f1239;
  cursor: pointer;
  font-size: 0.875rem;
  list-style: none;
}

.hr-kiosk-revoke summary::-webkit-details-marker {
  display: none;
}

.hr-kiosk-revoke form {
  width: min(19rem, 100%);
  margin-top: 0.45rem;
  padding: 0.75rem;
  border: 1px solid var(--admin-border);
  border-radius: 6px;
  background: var(--admin-surface);
}

.hr-kiosk-revoke label {
  margin-bottom: 0.35rem;
  font-size: 0.82rem;
  font-weight: 600;
}

.hr-kiosk-revoke .btn {
  margin-top: 0.5rem;
}

.hr-kiosk-pin-form {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.45rem;
}

.hr-kiosk-pin-form .form-control {
  width: 7.25rem;
}

.hr-kiosk-body {
  min-width: 20rem;
  min-height: 100vh;
  margin: 0;
  color: #101828;
  background: #eef2f6;
  font-family: var(--st-font);
}

.hr-kiosk-shell {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-height: 100dvh;
}

.hr-kiosk-header {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 1rem;
  min-height: 4.5rem;
  padding: max(0.75rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) 0.75rem max(1rem, env(safe-area-inset-left));
  border-bottom: 1px solid #d3dae5;
  background: #ffffff;
}

.hr-kiosk-header > strong {
  color: #163f9d;
  font-size: 1.05rem;
}

.hr-kiosk-header time {
  color: #101828;
  font-size: 1.65rem;
  font-variant-numeric: tabular-nums;
  font-weight: 700;
}

.hr-kiosk-header form {
  justify-self: end;
}

.hr-kiosk-feedback {
  width: min(42rem, calc(100% - 2rem));
  margin: 1rem auto 0;
  padding: 0.8rem 1rem;
  border: 1px solid currentColor;
  border-radius: 6px;
  text-align: center;
  font-weight: 650;
}

.hr-kiosk-feedback.is-success {
  color: #126145;
  background: #edf9f3;
}

.hr-kiosk-feedback.is-error {
  color: #a31237;
  background: #fff1f4;
}

.hr-kiosk-identify,
.hr-kiosk-action {
  display: grid;
  width: min(48rem, calc(100% - 2rem));
  margin: auto;
  padding: 2rem 0 max(2rem, env(safe-area-inset-bottom));
}

.hr-kiosk-identify {
  grid-template-columns: minmax(15rem, 0.8fr) minmax(18rem, 1fr);
  gap: 2.5rem;
  align-items: center;
}

.hr-kiosk-identify h1,
.hr-kiosk-action h1 {
  margin: 0;
  color: #101828;
  font-size: 2rem;
  line-height: 1.15;
  letter-spacing: 0;
  text-wrap: balance;
}

.hr-kiosk-identify > div > p {
  margin: 0.65rem 0 0;
  color: #526174;
  font-size: 1rem;
}

.hr-kiosk-identify form {
  display: grid;
  gap: 0.55rem;
  padding: 1.25rem;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  background: #ffffff;
}

.hr-kiosk-identify label {
  margin-top: 0.35rem;
  font-weight: 650;
}

.hr-kiosk-identify .form-control {
  min-height: 3.25rem;
  border-color: #98a4b5;
  font-size: 1.12rem;
}

.hr-kiosk-identify .btn,
.hr-kiosk-actions .btn {
  min-height: 3.25rem;
  margin-top: 0.55rem;
  font-size: 1rem;
  font-weight: 700;
}

.hr-kiosk-validation:empty {
  display: none;
}

.hr-kiosk-validation {
  color: #a31237;
  font-weight: 600;
}

.hr-kiosk-action {
  grid-template-columns: minmax(0, 1fr) minmax(15rem, 0.8fr);
  gap: 1.5rem 2.5rem;
  align-items: center;
}

.hr-kiosk-person > span,
.hr-kiosk-state > span {
  display: block;
  margin-bottom: 0.35rem;
  color: #526174;
  font-size: 0.86rem;
}

.hr-kiosk-state {
  padding: 1rem 1.15rem;
  border: 1px solid #b9c5d5;
  border-radius: 6px;
  background: #ffffff;
}

.hr-kiosk-state strong,
.hr-kiosk-state small {
  display: block;
}

.hr-kiosk-state strong {
  font-size: 1.5rem;
}

.hr-kiosk-state small {
  margin-top: 0.25rem;
  color: #526174;
}

.hr-kiosk-action.is-working .hr-kiosk-state {
  border-color: #55a58a;
  background: #eefaf5;
}

.hr-kiosk-action.is-break .hr-kiosk-state {
  border-color: #d39a43;
  background: #fff8e8;
}

.hr-kiosk-actions {
  grid-column: 1 / -1;
  display: flex;
  gap: 0.75rem;
}

.hr-kiosk-actions form {
  flex: 1 1 0;
}

.hr-kiosk-actions .btn {
  width: 100%;
  min-height: 4rem;
}

.hr-kiosk-action > form:last-child {
  grid-column: 1 / -1;
  justify-self: center;
}

.hr-kiosk-period-closed {
  grid-column: 1 / -1;
  margin: 0;
  padding: 0.85rem 1rem;
  border: 1px solid #d39a43;
  border-radius: 6px;
  color: #784a08;
  background: #fff8e8;
}

@media (max-width: 900px) {
  .hr-kiosk-admin-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 700px) {
  .hr-kiosk-summary {
    grid-template-columns: 1fr;
  }

  .hr-kiosk-summary > div {
    border-right: 0;
    border-bottom: 1px solid var(--admin-border);
  }

  .hr-kiosk-summary > div:last-child {
    border-bottom: 0;
  }

  .hr-kiosk-activation,
  .hr-kiosk-activation dl {
    grid-template-columns: 1fr;
  }

  .hr-kiosk-once-note {
    grid-column: 1;
  }

  .hr-kiosk-pin-form {
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .hr-kiosk-settings-page .admin-table {
    width: 100%;
    min-width: 0;
  }

  .hr-kiosk-settings-page .admin-table thead {
    display: none;
  }

  .hr-kiosk-settings-page .admin-table tbody,
  .hr-kiosk-settings-page .admin-table tr,
  .hr-kiosk-settings-page .admin-table td {
    display: block;
    width: 100%;
  }

  .hr-kiosk-settings-page .admin-table tr {
    padding: 0.65rem 0.75rem;
    border-bottom: 1px solid var(--admin-border);
  }

  .hr-kiosk-settings-page .admin-table tr:last-child {
    border-bottom: 0;
  }

  .hr-kiosk-settings-page .admin-table td {
    display: grid;
    grid-template-columns: minmax(6.5rem, 0.42fr) minmax(0, 1fr);
    gap: 0.3rem 0.75rem;
    padding: 0.45rem 0;
    border: 0;
    text-align: left !important;
  }

  .hr-kiosk-settings-page .admin-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 650;
  }

  .hr-kiosk-settings-page .admin-table td:not([data-label]) {
    display: block;
  }

  .hr-kiosk-header {
    grid-template-columns: 1fr auto;
  }

  .hr-kiosk-header time {
    grid-column: 2;
    grid-row: 1;
  }

  .hr-kiosk-header form {
    grid-column: 1 / -1;
    justify-self: stretch;
  }

  .hr-kiosk-header form .btn {
    width: 100%;
    min-height: 2.75rem;
  }

  .hr-kiosk-identify,
  .hr-kiosk-action {
    grid-template-columns: 1fr;
    gap: 1.25rem;
    align-content: center;
  }

  .hr-kiosk-identify h1,
  .hr-kiosk-action h1 {
    font-size: 1.65rem;
  }

  .hr-kiosk-actions,
  .hr-kiosk-action > form:last-child,
  .hr-kiosk-period-closed {
    grid-column: 1;
  }

  .hr-kiosk-actions {
    flex-direction: column;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hr-kiosk-shell *,
  .hr-kiosk-shell *::before,
  .hr-kiosk-shell *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

/* HR scheduling and shift rotations */
.hr-scheduling-page {
  --hr-schedule-green: #16734a;
  --hr-schedule-amber: #9a5b05;
  --hr-schedule-red: #b42318;
  --hr-schedule-blue: #2457a6;
}

.hr-scheduling-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-block: 1px solid var(--admin-border, #d8dee7);
  background: var(--admin-surface-subtle, #f7f9fb);
  margin-bottom: 1rem;
}

.hr-scheduling-summary > div,
.hr-rotation-kpis > div {
  min-width: 0;
  padding: 0.85rem 1rem;
  border-right: 1px solid var(--admin-border, #d8dee7);
}

.hr-scheduling-summary > div:last-child,
.hr-rotation-kpis > div:last-child {
  border-right: 0;
}

.hr-scheduling-summary strong,
.hr-rotation-kpis strong {
  display: block;
  color: var(--admin-text, #17212f);
  font-size: 1.15rem;
  line-height: 1.2;
}

.hr-scheduling-summary span,
.hr-rotation-kpis span {
  display: block;
  margin-top: 0.2rem;
  color: var(--admin-text-muted, #5f6b7a);
  font-size: 0.82rem;
}

.hr-scheduling-filter {
  align-items: end;
}

.hr-scheduling-workspace {
  display: grid;
  grid-template-columns: minmax(21rem, 0.85fr) minmax(0, 1.5fr);
  min-height: 24rem;
  border-block: 1px solid var(--admin-border, #d8dee7);
}

.hr-rotation-register {
  align-self: start;
  border-right: 1px solid var(--admin-border, #d8dee7);
}

.hr-rotation-register .admin-table {
  margin-bottom: 0;
}

.hr-rotation-register tr.is-selected td {
  background: #eef4fb;
}

.hr-rotation-detail {
  min-width: 0;
  padding: 1rem 1.15rem;
}

.hr-rotation-detail-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.85rem;
}

.hr-rotation-detail-head h3 {
  margin: 0.35rem 0 0.2rem;
  font-size: 1.05rem;
}

.hr-rotation-detail-head p {
  margin: 0;
  color: var(--admin-text-muted, #5f6b7a);
}

.hr-scheduling-status {
  display: inline-flex;
  align-items: center;
  min-height: 1.6rem;
  padding: 0.15rem 0.5rem;
  border: 1px solid currentColor;
  border-radius: 4px;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.2;
}

.hr-scheduling-status.is-active,
.hr-scheduling-status.is-published {
  color: var(--hr-schedule-green);
  background: #edf8f2;
}

.hr-scheduling-status.is-draft {
  color: var(--hr-schedule-amber);
  background: #fff7e8;
}

.hr-scheduling-status.is-superseded {
  color: #596579;
  background: #f1f3f6;
}

.hr-rotation-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-block: 1px solid var(--admin-border, #d8dee7);
  margin-bottom: 1rem;
}

.hr-rotation-findings {
  margin-bottom: 1rem;
  border: 1px solid color-mix(in srgb, var(--hr-schedule-green) 45%, #d8dee7);
  border-radius: 6px;
  padding: 0.75rem 0.9rem;
  background: #f2faf6;
}

.hr-rotation-findings.is-blocked {
  border-color: color-mix(in srgb, var(--hr-schedule-red) 45%, #d8dee7);
  background: #fff3f1;
}

.hr-rotation-findings-head,
.hr-rotation-finding {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
}

.hr-rotation-findings-head {
  margin-bottom: 0.45rem;
}

.hr-rotation-finding {
  padding-top: 0.45rem;
  border-top: 1px solid color-mix(in srgb, currentColor 18%, transparent);
}

.hr-rotation-finding > span {
  flex: 0 0 auto;
  color: var(--hr-schedule-red);
  font-size: 0.72rem;
  font-weight: 700;
}

.hr-rotation-finding p {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
}

.hr-rotation-finding time {
  flex: 0 0 auto;
  color: var(--admin-text-muted, #5f6b7a);
  font-size: 0.78rem;
}

.hr-rotation-pattern {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(7rem, 1fr));
  gap: 0.45rem;
  margin-bottom: 1rem;
}

.hr-rotation-pattern > div {
  min-width: 0;
  min-height: 4rem;
  padding: 0.55rem 0.65rem;
  border: 1px solid var(--admin-border, #d8dee7);
  border-radius: 6px;
}

.hr-rotation-pattern > div.is-work {
  border-top: 3px solid var(--hr-schedule-blue);
}

.hr-rotation-pattern > div.is-rest {
  border-top: 3px solid #778294;
  background: var(--admin-surface-subtle, #f7f9fb);
}

.hr-rotation-pattern span,
.hr-rotation-pattern strong {
  display: block;
  overflow-wrap: anywhere;
}

.hr-rotation-pattern span {
  color: var(--admin-text-muted, #5f6b7a);
  font-size: 0.72rem;
}

.hr-rotation-pattern strong {
  margin-top: 0.25rem;
  font-size: 0.82rem;
}

.hr-scheduling-rule-grid {
  display: grid;
  grid-template-columns: minmax(22rem, 0.9fr) minmax(0, 1.35fr);
  gap: 1.25rem;
  align-items: start;
}

.hr-contract-details {
  margin-block: 1rem;
  border-block: 1px solid var(--admin-border, #d8dee7);
}

.hr-contract-details summary {
  min-height: 2.75rem;
  padding: 0.7rem 0.15rem;
  color: var(--admin-text, #17212f);
  font-weight: 650;
  cursor: pointer;
}

.hr-contract-details summary:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--hr-schedule-blue) 35%, transparent);
  outline-offset: 2px;
}

.hr-contract-settings {
  display: grid;
  gap: 1rem;
  padding-bottom: 1rem;
}

.hr-contract-settings fieldset {
  min-width: 0;
  padding: 0;
  border: 0;
}

.hr-contract-settings legend {
  margin-bottom: 0.65rem;
  font-size: 0.9rem;
  font-weight: 700;
}

.hr-premium-rule-table {
  table-layout: fixed;
}

.hr-premium-rule-table th:first-child {
  width: 9rem;
}

.hr-contract-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-block: 1px solid var(--admin-border, #d8dee7);
  background: var(--admin-surface-subtle, #f7f9fb);
}

.hr-contract-summary > div {
  min-width: 0;
  padding: 0.8rem 1rem;
  border-right: 1px solid var(--admin-border, #d8dee7);
}

.hr-contract-summary > div:last-child {
  border-right: 0;
}

.hr-contract-summary strong,
.hr-contract-summary span,
.hr-provider-component {
  display: block;
}

.hr-contract-summary strong {
  color: var(--admin-text, #17212f);
  font-size: 1.05rem;
  font-variant-numeric: tabular-nums;
}

.hr-contract-summary span {
  margin-top: 0.15rem;
  color: var(--admin-text-muted, #5f6b7a);
  font-size: 0.8rem;
}

.hr-contract-preview-table {
  table-layout: fixed;
}

.hr-contract-preview-table th:nth-child(1) {
  width: 18%;
}

.hr-contract-preview-table th:nth-child(2) {
  width: 16%;
}

.hr-contract-preview-table th:nth-child(3) {
  width: 22%;
}

.hr-contract-preview-table th:nth-child(4) {
  width: 22%;
}

.hr-provider-component {
  margin-bottom: 0.25rem;
  overflow-wrap: anywhere;
  font-size: 0.8rem;
  font-variant-numeric: tabular-nums;
}

.hr-rotation-form {
  display: grid;
  gap: 1rem;
}

.hr-rotation-general {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.hr-rotation-editor-grid {
  display: grid;
  grid-template-columns: minmax(27rem, 1.2fr) minmax(22rem, 0.8fr);
  gap: 1rem;
  align-items: start;
}

.hr-cycle-table {
  table-layout: fixed;
}

.hr-cycle-table th:nth-child(1) {
  width: 4.5rem;
}

.hr-cycle-table th:nth-child(2) {
  width: 8rem;
}

.hr-cycle-table th:nth-child(3) {
  width: 16rem;
}

.hr-rotation-members-table th:first-child {
  width: 5rem;
}

.hr-rotation-members-table th:last-child {
  width: 6rem;
}

.hr-cycle-table tr[hidden] {
  display: none;
}

@media (max-width: 1100px) {
  .hr-scheduling-workspace,
  .hr-scheduling-rule-grid,
  .hr-rotation-editor-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .hr-contract-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hr-contract-summary > div:nth-child(2) {
    border-right: 0;
  }

  .hr-contract-summary > div:nth-child(-n/**/+2) {
    border-bottom: 1px solid var(--admin-border, #d8dee7);
  }

  .hr-rotation-register {
    border-right: 0;
    border-bottom: 1px solid var(--admin-border, #d8dee7);
  }

  .hr-rotation-general {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .hr-scheduling-summary,
  .hr-rotation-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hr-scheduling-summary > div:nth-child(2),
  .hr-rotation-kpis > div:nth-child(2) {
    border-right: 0;
  }

  .hr-scheduling-summary > div:nth-child(-n/**/+2),
  .hr-rotation-kpis > div:nth-child(-n/**/+2) {
    border-bottom: 1px solid var(--admin-border, #d8dee7);
  }

  .hr-rotation-detail {
    padding-inline: 0;
  }

  .hr-rotation-detail-head,
  .hr-rotation-findings-head,
  .hr-rotation-finding {
    align-items: stretch;
    flex-direction: column;
  }

  .hr-rotation-detail-head .btn,
  .hr-rotation-detail-head form {
    width: 100%;
  }

  .hr-rotation-detail-head .btn {
    min-height: 44px;
  }

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

  .hr-scheduling-page .hr-rotation-register .admin-table,
  .hr-scheduling-page .hr-rotation-register .admin-table tbody,
  .hr-scheduling-page .hr-rotation-register .admin-table tr,
  .hr-scheduling-page .hr-rotation-register .admin-table td,
  .hr-scheduling-page .hr-cycle-table,
  .hr-scheduling-page .hr-cycle-table tbody,
  .hr-scheduling-page .hr-cycle-table tr,
  .hr-scheduling-page .hr-cycle-table td,
  .hr-scheduling-page .hr-rotation-members-table,
  .hr-scheduling-page .hr-rotation-members-table tbody,
  .hr-scheduling-page .hr-rotation-members-table tr,
  .hr-scheduling-page .hr-rotation-members-table td,
  .hr-scheduling-page .hr-premium-rule-table,
  .hr-scheduling-page .hr-premium-rule-table tbody,
  .hr-scheduling-page .hr-premium-rule-table tr,
  .hr-scheduling-page .hr-premium-rule-table td,
  .hr-scheduling-page .hr-contract-preview-table,
  .hr-scheduling-page .hr-contract-preview-table tbody,
  .hr-scheduling-page .hr-contract-preview-table tr,
  .hr-scheduling-page .hr-contract-preview-table td {
    display: block;
    width: 100%;
  }

  .hr-scheduling-page .hr-rotation-register .admin-table thead,
  .hr-scheduling-page .hr-cycle-table thead,
  .hr-scheduling-page .hr-rotation-members-table thead,
  .hr-scheduling-page .hr-premium-rule-table thead,
  .hr-scheduling-page .hr-contract-preview-table thead {
    display: none;
  }

  .hr-scheduling-page .hr-rotation-register .admin-table tr,
  .hr-scheduling-page .hr-cycle-table tr,
  .hr-scheduling-page .hr-rotation-members-table tr,
  .hr-scheduling-page .hr-premium-rule-table tr,
  .hr-scheduling-page .hr-contract-preview-table tr {
    padding: 0.65rem 0;
    border-bottom: 1px solid var(--admin-border, #d8dee7);
  }

  .hr-scheduling-page .hr-rotation-register .admin-table td,
  .hr-scheduling-page .hr-cycle-table td,
  .hr-scheduling-page .hr-rotation-members-table td,
  .hr-scheduling-page .hr-premium-rule-table td,
  .hr-scheduling-page .hr-contract-preview-table td {
    min-height: 2.25rem;
    padding: 0.3rem 0;
    display: grid;
    grid-template-columns: minmax(6.5rem, 35%) minmax(0, 1fr);
    gap: 0.65rem;
    align-items: center;
    text-align: left !important;
  }

  .hr-scheduling-page .hr-rotation-register .admin-table td::before,
  .hr-scheduling-page .hr-cycle-table td::before,
  .hr-scheduling-page .hr-rotation-members-table td::before,
  .hr-scheduling-page .hr-premium-rule-table td::before,
  .hr-scheduling-page .hr-contract-preview-table td::before {
    content: attr(data-label);
    color: var(--admin-text-muted, #5f6b7a);
    font-size: 0.78rem;
    font-weight: 700;
  }
}

/* HR shift changes, swaps and on-call duties */
.hr-shift-operations-page {
  --hr-shift-success: #16734a;
  --hr-shift-warning: #9a5b05;
  --hr-shift-danger: #b42318;
  --hr-shift-info: #2457a6;
}

.hr-shift-operations-page,
.hr-shift-operations-page section,
.hr-shift-operations-page form,
.hr-shift-operations-page .admin-table-shell {
  min-width: 0;
  max-width: 100%;
}

.hr-shift-operations-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 1rem;
  border-block: 1px solid var(--admin-border);
  background: #f7f9fb;
}

.hr-shift-operations-summary > div {
  min-width: 0;
  padding: 0.85rem 1rem;
  border-right: 1px solid var(--admin-border);
}

.hr-shift-operations-summary > div:last-child {
  border-right: 0;
}

.hr-shift-operations-summary strong,
.hr-shift-operations-summary span {
  display: block;
}

.hr-shift-operations-summary strong {
  font-size: 1.15rem;
  line-height: 1.2;
}

.hr-shift-operations-summary span {
  margin-top: 0.2rem;
  color: var(--admin-muted);
  font-size: 0.82rem;
}

.hr-shift-operations-summary .is-warning strong {
  color: var(--hr-shift-warning);
}

.hr-shift-operations-summary .is-success strong {
  color: var(--hr-shift-success);
}

.hr-shift-operations-filter {
  align-items: end;
  margin-bottom: 1rem;
}

.hr-shift-operations-workspace {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  align-items: start;
  margin-bottom: 1.25rem;
}

.hr-shift-operation-form {
  padding: 1rem;
  border: 1px solid var(--admin-border);
  border-radius: 6px;
  background: var(--admin-surface);
}

.hr-shift-operation-form-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 0.75rem;
  margin-bottom: 0.85rem;
  border-bottom: 1px solid var(--admin-border);
}

.hr-shift-operation-form-head h2,
.hr-shift-operation-form-head p {
  margin: 0;
}

.hr-shift-operation-form-head h2 {
  font-size: 1rem;
}

.hr-shift-operation-form-head p {
  margin-top: 0.2rem;
  color: var(--admin-muted);
  font-size: 0.82rem;
}

.hr-shift-operation-form-head > span {
  flex: 0 0 auto;
  color: var(--hr-shift-info);
  font-size: 0.75rem;
  font-weight: 700;
}

.hr-shift-operation-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.8rem;
  margin-bottom: 0.9rem;
}

.hr-shift-operation-fields > div {
  min-width: 0;
}

.hr-shift-operation-fields .is-wide {
  grid-column: 1 / -1;
}

.hr-shift-operation-status {
  display: inline-flex;
  align-items: center;
  min-height: 1.65rem;
  padding: 0.15rem 0.5rem;
  border: 1px solid currentColor;
  border-radius: 4px;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.2;
}

.hr-shift-operation-status.is-pendingtarget,
.hr-shift-operation-status.is-pendingapproval,
.hr-shift-operation-status.is-planned {
  color: var(--hr-shift-warning);
  background: #fff7e8;
}

.hr-shift-operation-status.is-approved,
.hr-shift-operation-status.is-confirmed {
  color: var(--hr-shift-success);
  background: #edf8f2;
}

.hr-shift-operation-status.is-rejected,
.hr-shift-operation-status.is-cancelled {
  color: var(--hr-shift-danger);
  background: #fff3f1;
}

.hr-shift-operation-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.45rem;
}

.hr-shift-operation-actions form {
  margin: 0;
}

.hr-shift-decision-form,
.hr-shift-cancel-form {
  display: grid;
  grid-template-columns: minmax(9rem, 1fr) auto auto;
  gap: 0.4rem;
  align-items: center;
  width: min(100%, 27rem);
}

.hr-shift-cancel-form {
  grid-template-columns: minmax(9rem, 1fr) auto;
}

.hr-shift-change-table td:last-child {
  min-width: 18rem;
}

@media (max-width: 1050px) {
  .hr-shift-operations-workspace {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 700px) {
  .hr-shift-operations-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hr-shift-operations-summary > div:nth-child(2) {
    border-right: 0;
  }

  .hr-shift-operations-summary > div:nth-child(-n/**/+2) {
    border-bottom: 1px solid var(--admin-border);
  }

  .hr-shift-operation-fields {
    grid-template-columns: minmax(0, 1fr);
  }

  .hr-shift-operation-fields .is-wide {
    grid-column: auto;
  }

  .hr-shift-operation-form-head {
    align-items: stretch;
    flex-direction: column;
  }

  .hr-shift-operation-form > .btn {
    width: 100%;
    min-height: 44px;
  }

  .hr-shift-operations-page .hr-shift-change-table,
  .hr-shift-operations-page .hr-shift-change-table tbody,
  .hr-shift-operations-page .hr-shift-change-table tr,
  .hr-shift-operations-page .hr-shift-change-table td,
  .hr-shift-operations-page .hr-on-call-table,
  .hr-shift-operations-page .hr-on-call-table tbody,
  .hr-shift-operations-page .hr-on-call-table tr,
  .hr-shift-operations-page .hr-on-call-table td {
    display: block;
    width: 100%;
  }

  .hr-shift-operations-page .hr-shift-change-table thead,
  .hr-shift-operations-page .hr-on-call-table thead {
    display: none;
  }

  .hr-shift-operations-page .hr-shift-change-table tr,
  .hr-shift-operations-page .hr-on-call-table tr {
    padding: 0.65rem 0;
    border-bottom: 1px solid var(--admin-border);
  }

  .hr-shift-operations-page .hr-shift-change-table td,
  .hr-shift-operations-page .hr-on-call-table td {
    min-width: 0;
    min-height: 2.4rem;
    padding: 0.35rem 0;
    display: grid;
    grid-template-columns: minmax(6.75rem, 34%) minmax(0, 1fr);
    gap: 0.65rem;
    align-items: start;
    text-align: left !important;
  }

  .hr-shift-operations-page .hr-shift-change-table td::before,
  .hr-shift-operations-page .hr-on-call-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 700;
  }

  .hr-shift-operation-actions,
  .hr-shift-decision-form,
  .hr-shift-cancel-form {
    width: 100%;
    justify-content: stretch;
  }

  .hr-shift-decision-form,
  .hr-shift-cancel-form {
    grid-template-columns: minmax(0, 1fr);
  }

  .hr-shift-operation-actions .btn {
    min-height: 44px;
  }
}

/* HR positions: capacity, vacancies and historical assignments. */
.hr-positions-page,
.hr-positions-page section,
.hr-positions-page form,
.hr-positions-page .admin-table-shell {
  min-width: 0;
  max-width: 100%;
}

.hr-positions-summary {
  margin-bottom: 1rem;
}

.hr-positions-filter {
  margin-bottom: 1rem;
}

.hr-positions-filter .admin-filter-grid {
  display: grid;
  grid-template-columns: minmax(9.5rem, 0.7fr) minmax(13rem, 1fr) minmax(9rem, 0.65fr) minmax(14rem, 1.2fr) auto auto;
  gap: 0.75rem;
  align-items: end;
}

.hr-positions-filter .form-control,
.hr-positions-filter .form-select,
.hr-positions-filter .btn,
.hr-positions-vacancy-toggle {
  min-height: 44px;
}

.hr-positions-vacancy-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  padding: 0 0.5rem;
  white-space: nowrap;
}

.hr-position-editor {
  margin-bottom: 1.25rem;
  border-block: 1px solid var(--admin-border);
}

.hr-position-editor > summary {
  display: flex;
  min-height: 52px;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.65rem 0.25rem;
  color: var(--admin-text);
  cursor: pointer;
  font-weight: 700;
}

.hr-position-editor > summary small {
  color: var(--admin-muted);
  font-size: 0.82rem;
  font-weight: 500;
}

.hr-position-editor > summary:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--admin-focus), transparent 55%);
  outline-offset: 2px;
}

.hr-position-form {
  padding: 0.9rem 0.25rem 1rem;
  border-top: 1px solid var(--admin-border);
}

.hr-position-form-grid {
  display: grid;
  grid-template-columns: minmax(8rem, 0.55fr) repeat(3, minmax(11rem, 1fr));
  gap: 0.85rem;
  align-items: start;
}

.hr-position-title-field,
.hr-position-notes-field {
  grid-column: span 2;
}

.hr-position-form .form-control,
.hr-position-form .form-select {
  min-height: 44px;
}

.hr-positions-register,
.hr-position-assignments {
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid var(--admin-border);
}

.hr-position-vacant {
  background: color-mix(in srgb, var(--admin-warning), white 96%);
}

.hr-position-actions {
  white-space: nowrap;
}

.hr-position-actions .btn {
  min-height: 36px;
}

.hr-position-assignment-form {
  display: grid;
  grid-template-columns: minmax(15rem, 1.5fr) repeat(4, minmax(8rem, 0.7fr)) auto;
  gap: 0.75rem;
  align-items: end;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--admin-border);
}

.hr-position-assignment-form .form-control,
.hr-position-assignment-form .form-select,
.hr-position-assignment-form .btn {
  min-height: 44px;
}

.hr-position-assignment-list {
  border-block: 1px solid var(--admin-border);
}

.hr-position-assignment-list article {
  display: grid;
  grid-template-columns: minmax(14rem, 1.4fr) minmax(11rem, 0.8fr) minmax(12rem, auto);
  gap: 1rem;
  align-items: center;
  min-height: 64px;
  padding: 0.7rem 0.25rem;
  border-bottom: 1px solid var(--admin-border);
}

.hr-position-assignment-list article:last-child {
  border-bottom: 0;
}

.hr-position-assignment-list strong,
.hr-position-assignment-list span {
  display: block;
}

.hr-position-assignment-list span {
  margin-top: 0.15rem;
  color: var(--admin-muted);
  font-size: 0.82rem;
}

.hr-position-assignment-list details {
  min-width: 0;
}

.hr-position-assignment-list summary {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  color: var(--admin-primary-dark);
  cursor: pointer;
  font-weight: 700;
}

.hr-position-assignment-list details form {
  display: grid;
  grid-template-columns: minmax(9rem, 0.7fr) minmax(12rem, 1fr) auto;
  gap: 0.5rem;
  align-items: end;
  padding: 0.5rem 0;
}

.hr-position-assignment-list details label {
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 600;
}

.hr-position-assignment-list details .form-control,
.hr-position-assignment-list details .btn {
  min-height: 40px;
}

@media (max-width: 1199.98px) {
  .hr-positions-filter .admin-filter-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .hr-position-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hr-position-assignment-form {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .hr-positions-filter .admin-filter-grid,
  .hr-position-form-grid,
  .hr-position-assignment-form {
    grid-template-columns: minmax(0, 1fr);
  }

  .hr-position-title-field,
  .hr-position-notes-field {
    grid-column: auto;
  }

  .hr-position-editor > summary {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.15rem;
  }

  .hr-position-actions {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 0.5rem;
    white-space: normal;
  }

  .hr-position-actions .btn {
    min-height: 44px;
  }

  .hr-position-assignment-list article {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.6rem;
    padding-block: 0.85rem;
  }

  .hr-position-assignment-list details form {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* HR employee portal: mobile-first attendance workspace. */
.hr-portal-clock {
  --hr-clock-accent: #276749;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(14rem, 0.32fr);
  gap: 1.5rem;
  align-items: center;
  margin-block: 1.25rem;
  padding-block: 1.25rem;
  border-block: 1px solid var(--admin-border, #d8dee7);
}

.hr-portal-clock[data-clock-state="OnBreak"] {
  --hr-clock-accent: #98620a;
}

.hr-portal-clock[data-clock-state="OffDuty"] {
  --hr-clock-accent: #536273;
}

.hr-portal-clock-status {
  display: grid;
  grid-template-columns: minmax(11rem, 0.55fr) minmax(0, 1.45fr);
  gap: 1.25rem;
  min-width: 0;
}

.hr-portal-clock-heading {
  min-width: 0;
  padding-left: 1rem;
  border-left: 4px solid var(--hr-clock-accent);
}

.hr-portal-clock-heading h2 {
  margin: 0.15rem 0 0.25rem;
  color: var(--admin-text, #1f2937);
  font-size: 1.35rem;
}

.hr-portal-clock-heading time {
  color: var(--admin-text-muted, #5f6b7a);
  font-size: 0.875rem;
}

.hr-portal-clock-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin: 0;
}

.hr-portal-clock-facts > div {
  min-width: 0;
}

.hr-portal-clock-facts dt {
  margin-bottom: 0.25rem;
  color: var(--admin-text-muted, #5f6b7a);
  font-size: 0.75rem;
  font-weight: 700;
}

.hr-portal-clock-facts dd {
  margin: 0;
  color: var(--admin-text, #1f2937);
  font-size: 0.92rem;
  font-weight: 600;
  overflow-wrap: anywhere;
}

.hr-portal-clock-actions {
  display: grid;
  gap: 0.6rem;
  min-width: 0;
}

.hr-portal-clock-actions form,
.hr-portal-clock-actions .btn {
  width: 100%;
}

.hr-portal-clock-actions .btn {
  min-height: 48px;
}

.hr-portal-clock-link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  color: var(--admin-link, #245f85);
  font-weight: 700;
  text-decoration: none;
}

.hr-portal-clock-link:hover {
  text-decoration: underline;
}

.hr-portal-clock-link:focus-visible {
  outline: 3px solid rgba(36, 95, 133, 0.3);
  outline-offset: 2px;
}

@media (max-width: 991.98px) {
  .hr-portal-clock {
    grid-template-columns: minmax(0, 1fr);
  }

  .hr-portal-clock-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hr-portal-clock-actions .hr-portal-clock-link,
  .hr-portal-clock-actions .alert {
    grid-column: 1 / -1;
  }
}

@media (max-width: 767.98px) {
  .hr-portal-clock-status,
  .hr-portal-clock-facts,
  .hr-portal-clock-actions {
    grid-template-columns: minmax(0, 1fr);
  }

  .hr-portal-clock {
    gap: 1rem;
    margin-block: 1rem;
    padding-block: 1rem;
  }

  .hr-portal-clock-facts {
    gap: 0.75rem;
    padding-left: 1rem;
  }

  .hr-portal-clock-actions .hr-portal-clock-link,
  .hr-portal-clock-actions .alert {
    grid-column: auto;
  }
}

/* HR welfare: programs, employee grants and provider batches. */
.hr-benefits-page,
.hr-benefits-page section,
.hr-benefits-page form,
.hr-benefits-page .admin-table-shell {
  min-width: 0;
  max-width: 100%;
}

.hr-benefits-summary,
.hr-benefits-filter {
  margin-bottom: 1rem;
}

.hr-benefits-filter .admin-filter-grid {
  display: grid;
  grid-template-columns: minmax(12rem, 0.8fr) minmax(8rem, 0.45fr) minmax(10rem, 1fr);
  gap: 0.75rem;
  align-items: end;
}

.hr-benefit-editor {
  margin-bottom: 1.25rem;
  border-block: 1px solid var(--admin-border);
}

.hr-benefit-editor > summary {
  display: flex;
  min-height: 52px;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.65rem 0.25rem;
  color: var(--admin-text);
  cursor: pointer;
  font-weight: 700;
}

.hr-benefit-editor > summary small,
.hr-benefit-batch-list span {
  color: var(--admin-muted);
  font-size: 0.82rem;
  font-weight: 500;
}

.hr-benefit-program-form {
  padding: 0.9rem 0.25rem 1rem;
  border-top: 1px solid var(--admin-border);
}

.hr-benefit-form-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(10rem, 1fr));
  gap: 0.85rem;
  align-items: start;
}

.hr-benefit-name-field,
.hr-benefit-notes-field {
  grid-column: span 2;
}

.hr-benefit-form-grid .form-control,
.hr-benefit-form-grid .form-select,
.hr-benefits-filter .form-control,
.hr-benefits-filter .form-select,
.hr-benefits-filter .btn {
  min-height: 44px;
}

.hr-benefit-programs,
.hr-benefit-grants,
.hr-benefit-provider {
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid var(--admin-border);
}

.hr-benefit-table td > strong,
.hr-benefit-table td > span {
  display: block;
}

.hr-benefit-actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.hr-benefit-actions form {
  display: inline-flex;
}

.hr-benefit-actions details {
  position: relative;
  min-width: 0;
  text-align: left;
}

.hr-benefit-actions summary {
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  color: var(--admin-primary-dark);
  cursor: pointer;
  font-weight: 700;
}

.hr-benefit-actions details form {
  display: grid;
  grid-template-columns: minmax(10rem, 1fr) auto;
  gap: 0.4rem;
  align-items: end;
  padding-top: 0.4rem;
}

.hr-benefit-actions details:not([open]) > form {
  display: none;
}

.hr-benefit-batch-list .hr-benefit-actions details form {
  position: absolute;
  z-index: 4;
  inset-inline-end: 0;
  width: min(22rem, calc(100vw - 2rem));
  padding: 0.75rem;
  border: 1px solid var(--admin-border);
  border-radius: 6px;
  background: var(--admin-surface);
  box-shadow: var(--admin-shadow-md);
}

.hr-benefit-batch-form {
  display: grid;
  grid-template-columns: minmax(16rem, 1fr) auto;
  gap: 0.75rem;
  align-items: end;
  max-width: 42rem;
  margin-bottom: 1rem;
}

.hr-benefit-batch-form .form-control,
.hr-benefit-batch-form .btn {
  min-height: 44px;
}

.hr-benefit-batch-list {
  border-block: 1px solid var(--admin-border);
}

.hr-benefit-batch-list article {
  display: grid;
  grid-template-columns: minmax(14rem, 1.2fr) minmax(10rem, 0.6fr) minmax(16rem, 1fr);
  gap: 1rem;
  align-items: center;
  min-height: 64px;
  padding: 0.7rem 0.25rem;
  border-bottom: 1px solid var(--admin-border);
}

.hr-benefit-batch-list article:last-child {
  border-bottom: 0;
}

.hr-benefit-batch-list strong,
.hr-benefit-batch-list span {
  display: block;
}

@media (max-width: 1199.98px) {
  .hr-benefit-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .hr-benefits-filter .admin-filter-grid,
  .hr-benefit-form-grid,
  .hr-benefit-batch-form,
  .hr-benefit-batch-list article {
    grid-template-columns: minmax(0, 1fr);
  }

  .hr-benefit-name-field,
  .hr-benefit-notes-field {
    grid-column: auto;
  }

  .hr-benefit-editor > summary {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.15rem;
  }

  .hr-benefit-actions {
    justify-content: flex-start;
  }

  .hr-benefit-actions .btn,
  .hr-benefit-actions summary {
    min-height: 44px;
  }

  .hr-benefit-actions details form {
    grid-template-columns: minmax(0, 1fr);
  }

  .hr-benefit-batch-list .hr-benefit-actions details form {
    position: static;
    width: 100%;
    margin-top: 0.35rem;
  }

  .hr-benefit-table,
  .hr-benefit-table tbody,
  .hr-benefit-table tr,
  .hr-benefit-table td {
    display: block;
    width: 100%;
  }

  .hr-benefit-table thead {
    display: none;
  }

  .hr-benefit-table tr {
    padding: 0.7rem 0.75rem;
    border-bottom: 1px solid var(--admin-border);
  }

  .hr-benefit-table td {
    display: grid;
    grid-template-columns: minmax(7rem, 0.42fr) minmax(0, 1fr);
    gap: 0.7rem;
    align-items: start;
    min-height: 44px;
    padding: 0.45rem 0;
    border: 0;
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  .hr-benefit-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 650;
  }

  .hr-benefit-table td.hr-benefit-actions {
    display: flex;
    justify-content: flex-start;
    padding-top: 0.65rem;
  }

  .hr-benefit-table td.hr-benefit-actions::before {
    display: none;
  }
}

/* HR management dashboard: aggregated workforce, attendance and cost control. */
.hr-management-dashboard,
.hr-management-dashboard section,
.hr-management-dashboard form,
.hr-management-dashboard .admin-table-shell {
  min-width: 0;
  max-width: 100%;
}

.hr-dashboard-filter .admin-filter-grid {
  display: grid;
  grid-template-columns: minmax(11rem, 0.65fr) minmax(8rem, 0.45fr) minmax(15rem, 1fr);
  gap: 1rem;
  align-items: end;
}

.hr-dashboard-filter .admin-filter-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: flex-end;
}

.hr-dashboard-filter .btn,
.hr-dashboard-filter .form-control,
.hr-dashboard-filter .form-select {
  min-height: 44px;
}

.hr-dashboard-period {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.5rem 1rem;
}

.hr-dashboard-summary {
  margin-block: 1rem 1.25rem;
}

.hr-dashboard-priorities,
.hr-dashboard-panel {
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid var(--admin-border);
}

.hr-dashboard-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.85rem;
}

.hr-dashboard-section-head h2,
.hr-dashboard-section-head h3 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1.05rem;
  line-height: 1.35;
}

.hr-dashboard-section-head p {
  max-width: 72ch;
  margin: 0.2rem 0 0;
  color: var(--admin-muted);
  font-size: 0.85rem;
  line-height: 1.5;
}

.hr-dashboard-section-head a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  font-size: 0.85rem;
  font-weight: 650;
}

.hr-dashboard-clear-state {
  padding: 0.9rem 1rem;
  border: 1px solid color-mix(in srgb, var(--admin-success), white 72%);
  border-radius: 0.5rem;
  background: color-mix(in srgb, var(--admin-success), white 94%);
  color: #0f5e58;
  font-weight: 650;
}

.hr-dashboard-priority-list {
  border-block: 1px solid var(--admin-border);
}

.hr-dashboard-priority {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr) auto;
  gap: 0.75rem;
  align-items: center;
  min-height: 64px;
  padding: 0.65rem 0.75rem;
  border-bottom: 1px solid var(--admin-border);
  color: var(--admin-text);
  text-decoration: none;
}

.hr-dashboard-priority:last-child {
  border-bottom: 0;
}

.hr-dashboard-priority:hover,
.hr-dashboard-priority:focus-visible {
  background: var(--admin-bg);
  color: var(--admin-text);
}

.hr-dashboard-priority:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--admin-focus), transparent 55%);
  outline-offset: 2px;
}

.hr-dashboard-priority-count {
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: var(--admin-primary-soft);
  color: var(--admin-primary-dark);
  font-weight: 750;
  font-variant-numeric: tabular-nums;
}

.hr-dashboard-priority-danger .hr-dashboard-priority-count {
  background: #fff1f2;
  color: var(--admin-danger);
}

.hr-dashboard-priority-warning .hr-dashboard-priority-count {
  background: #fff7ed;
  color: var(--admin-warning);
}

.hr-dashboard-priority strong,
.hr-dashboard-priority small {
  display: block;
}

.hr-dashboard-priority small {
  margin-top: 0.15rem;
  color: var(--admin-muted);
  line-height: 1.4;
}

.hr-dashboard-priority-action {
  color: var(--admin-primary-dark);
  font-size: 0.82rem;
  font-weight: 700;
}

.hr-dashboard-two-column {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
}

.hr-dashboard-two-column.is-single {
  grid-template-columns: minmax(0, 1fr);
}

.hr-dashboard-metric-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  border-block: 1px solid var(--admin-border);
}

.hr-dashboard-metric-list > div {
  min-width: 0;
  padding: 0.75rem 0.6rem;
  border-bottom: 1px solid var(--admin-border);
}

.hr-dashboard-metric-list > div:nth-last-child(-n + 2) {
  border-bottom: 0;
}

.hr-dashboard-metric-list dt {
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 600;
}

.hr-dashboard-metric-list dd {
  margin: 0.2rem 0 0;
  color: var(--admin-text);
  font-size: 1rem;
  font-weight: 720;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

.hr-dashboard-trend-chart {
  display: grid;
  grid-template-columns: repeat(6, minmax(5.5rem, 1fr));
  gap: 0.75rem;
  min-height: 17rem;
  padding: 1rem 0.5rem 0.5rem;
  overflow-x: auto;
  border-block: 1px solid var(--admin-border);
}

.hr-dashboard-chart-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 0.85rem;
  color: var(--admin-muted);
  font-size: 0.76rem;
}

.hr-dashboard-chart-legend span {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  gap: 0.35rem;
}

.hr-dashboard-chart-legend i {
  display: inline-block;
  width: 0.8rem;
  height: 0.45rem;
  border-radius: 0.15rem;
  background: var(--admin-primary);
}

.hr-dashboard-chart-legend .is-cost {
  background: var(--admin-success);
}

.hr-dashboard-trend-column {
  display: grid;
  grid-template-rows: 10rem auto auto auto auto;
  gap: 0.2rem;
  min-width: 5.5rem;
  text-align: center;
}

.hr-dashboard-trend-plot {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  height: 10rem;
}

.hr-dashboard-headcount-bar {
  width: min(2.4rem, 60%);
  height: max(0.25rem, var(--bar-height));
  border-radius: 0.3rem 0.3rem 0 0;
  background: var(--admin-primary);
}

.hr-dashboard-trend-value {
  position: absolute;
  bottom: calc(max(0.25rem, var(--bar-height)) + 0.25rem);
  color: var(--admin-text);
  font-size: 0.76rem;
  font-weight: 750;
  font-variant-numeric: tabular-nums;
}

.hr-dashboard-trend-column > strong {
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: capitalize;
}

.hr-dashboard-trend-column > small {
  color: var(--admin-muted);
  font-size: 0.72rem;
}

.hr-dashboard-cost-track,
.hr-dashboard-cost-track > span {
  display: block;
  height: 0.35rem;
  border-radius: 0.2rem;
}

.hr-dashboard-cost-track {
  margin-top: 0.15rem;
  background: #e8edf4;
}

.hr-dashboard-cost-track > span {
  width: var(--bar-width);
  background: var(--admin-success);
}

.hr-dashboard-share {
  width: min(11rem, 100%);
  height: 0.45rem;
  overflow: hidden;
  border-radius: 0.25rem;
  background: #e8edf4;
}

.hr-dashboard-share > span {
  display: block;
  width: var(--share);
  height: 100%;
  border-radius: inherit;
  background: var(--admin-primary);
}

.hr-dashboard-unit-table small {
  color: var(--admin-muted);
  font-size: 0.74rem;
}

@media (max-width: 900px) {
  .hr-dashboard-filter .admin-filter-grid,
  .hr-dashboard-two-column {
    grid-template-columns: 1fr;
  }

  .hr-dashboard-filter .admin-filter-actions {
    justify-content: stretch;
  }

  .hr-dashboard-filter .admin-filter-actions .btn {
    flex: 1 1 12rem;
  }
}

@media (max-width: 640px) {
  .hr-dashboard-section-head,
  .hr-dashboard-period {
    display: grid;
  }

  .hr-dashboard-section-head a {
    width: 100%;
  }

  .hr-dashboard-priority {
    grid-template-columns: 2.5rem minmax(0, 1fr);
    min-height: 72px;
  }

  .hr-dashboard-priority-action {
    grid-column: 2;
  }

  .hr-dashboard-metric-list {
    grid-template-columns: 1fr;
  }

  .hr-dashboard-metric-list > div,
  .hr-dashboard-metric-list > div:nth-last-child(-n + 2) {
    border-bottom: 1px solid var(--admin-border);
  }

  .hr-dashboard-metric-list > div:last-child {
    border-bottom: 0;
  }

  .hr-dashboard-trend-chart {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    min-height: 0;
    overflow-x: visible;
  }

  .hr-dashboard-unit-table .admin-table {
    display: block;
  }

  .hr-dashboard-unit-table .admin-table thead {
    display: none;
  }

  .hr-dashboard-unit-table .admin-table tbody,
  .hr-dashboard-unit-table .admin-table tr,
  .hr-dashboard-unit-table .admin-table td {
    display: block;
    width: 100%;
  }

  .hr-dashboard-unit-table .admin-table tr {
    padding: 0.75rem;
    border-bottom: 1px solid var(--admin-border);
  }

  .hr-dashboard-unit-table .admin-table td {
    display: grid;
    grid-template-columns: minmax(7.5rem, 0.48fr) minmax(0, 1fr);
    gap: 0.75rem;
    align-items: start;
    min-height: 44px;
    padding: 0.4rem 0;
    border: 0;
    text-align: left !important;
  }

  .hr-dashboard-unit-table .admin-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 650;
  }
}

/* HR expenses: employee submission, approval, accounting and settlement. */
.hr-expenses-page,
.hr-expenses-page section,
.hr-expenses-page form,
.hr-expenses-page .admin-table-shell {
  min-width: 0;
  max-width: 100%;
}

.hr-expenses-summary {
  margin-bottom: 1rem;
}

.hr-expense-workspace {
  display: grid;
  grid-template-columns: minmax(19rem, 0.72fr) minmax(0, 1.55fr);
  gap: 1.25rem;
  align-items: start;
  margin-top: 1.25rem;
}

.hr-expense-register,
.hr-expense-detail,
.hr-expense-editor,
.hr-expense-policy-panel {
  border-top: 1px solid #d8dee6;
  padding-top: 1.1rem;
}

.hr-expense-section-head,
.hr-expense-detail-head,
.hr-expense-lines-head,
.hr-expense-editor-actions {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.hr-expense-section-head h2,
.hr-expense-section-head h3,
.hr-expense-detail-head h2,
.hr-expense-lines-head h3 {
  margin: 0;
  color: #152033;
  font-size: 1.05rem;
  line-height: 1.3;
}

.hr-expense-section-head p,
.hr-expense-detail-head p,
.hr-expense-lines-head p,
.hr-expense-editor-actions span {
  margin: 0.25rem 0 0;
  color: #5d6878;
  font-size: 0.82rem;
}

.hr-expense-register-list {
  margin-top: 0.75rem;
  border-block: 1px solid #d8dee6;
}

.hr-expense-register-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0.25rem 0.7rem;
  min-height: 68px;
  padding: 0.75rem 0.65rem;
  border-bottom: 1px solid #e3e8ef;
  color: #182235;
  text-decoration: none;
}

.hr-expense-register-row:last-child {
  border-bottom: 0;
}

.hr-expense-register-row:hover,
.hr-expense-register-row:focus-visible {
  background: #f4f7fb;
  color: #152033;
}

.hr-expense-register-row.is-current {
  box-shadow: inset 3px 0 0 var(--admin-primary);
  background: var(--admin-primary-soft);
}

.hr-expense-register-reference {
  color: #475569;
  font-size: 0.76rem;
  font-weight: 700;
}

.hr-expense-register-title {
  min-width: 0;
  overflow: hidden;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.hr-expense-register-employee {
  grid-column: 1 / 3;
  color: #5d6878;
  font-size: 0.78rem;
}

.hr-expense-register-row > strong {
  grid-column: 3;
  grid-row: 1;
  font-size: 0.82rem;
  white-space: nowrap;
}

.hr-expense-register-row .admin-status-badge {
  grid-column: 3;
  grid-row: 2;
  justify-self: end;
}

.hr-expense-detail {
  padding-bottom: 1rem;
}

.hr-expense-detail-summary {
  margin-block: 1rem;
}

.hr-expense-primary-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-bottom: 1rem;
}

.hr-expense-primary-actions form {
  margin: 0;
}

.hr-expense-lines-review,
.hr-expense-receipts,
.hr-expense-approval,
.hr-expense-accounting,
.hr-expense-payments,
.hr-expense-payment-history {
  padding-block: 1rem;
  border-top: 1px solid #d8dee6;
}

.hr-expense-lines-review .admin-table-shell,
.hr-expense-policy-content .admin-table-shell {
  margin-top: 0.75rem;
}

.hr-expenses-page .admin-data-table td small {
  display: block;
  margin-top: 0.2rem;
  color: #687386;
}

.hr-expense-receipt-list,
.hr-expense-payment-history {
  margin-top: 0.75rem;
}

.hr-expense-receipt-row,
.hr-expense-payment-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 54px;
  padding: 0.55rem 0;
  border-bottom: 1px solid #e3e8ef;
}

.hr-expense-receipt-row > div,
.hr-expense-payment-row > div {
  display: grid;
  min-width: 0;
}

.hr-expense-receipt-row span,
.hr-expense-payment-row span {
  color: #687386;
  font-size: 0.78rem;
}

.hr-expense-receipt-form,
.hr-expense-payment-form,
.hr-expense-accounting-head,
.hr-expense-policy-form {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
  gap: 0.75rem;
  align-items: end;
  margin-top: 0.85rem;
}

.hr-expense-receipt-form label,
.hr-expense-payment-form label,
.hr-expense-accounting label,
.hr-expense-decision-grid label,
.hr-expense-policy-form label,
.hr-expense-head-fields label,
.hr-expense-line label,
.hr-expense-danger-zone label {
  display: block;
  margin-bottom: 0.3rem;
  color: #344154;
  font-size: 0.76rem;
  font-weight: 700;
}

.hr-expense-receipt-form .form-control,
.hr-expense-receipt-form .form-select,
.hr-expense-payment-form .form-control,
.hr-expense-payment-form .form-select,
.hr-expense-accounting .form-control,
.hr-expense-accounting .form-select,
.hr-expense-decision-grid .form-control,
.hr-expense-policy-form .form-control,
.hr-expense-policy-form .form-select,
.hr-expense-head-fields .form-control,
.hr-expense-head-fields .form-select,
.hr-expense-line .form-control,
.hr-expense-line .form-select,
.hr-expense-danger-zone .form-control {
  min-height: 42px;
}

.hr-expense-decision-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 0.8rem;
}

.hr-expense-decision-grid form {
  display: grid;
  gap: 0.65rem;
  padding-left: 0.85rem;
  border-left: 3px solid #d8dee6;
}

.hr-expense-decision-grid form:first-child {
  border-left-color: #0f766e;
}

.hr-expense-decision-grid form:last-child {
  border-left-color: #be123c;
}

.hr-expense-account-map {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
  margin-block: 0.85rem;
}

.hr-expense-inline-reversal {
  display: grid;
  grid-template-columns: minmax(9rem, auto) minmax(11rem, 1fr) auto;
  gap: 0.5rem;
  align-items: center;
}

.hr-expense-danger-zone,
.hr-expense-timeline,
.hr-expense-policy-panel {
  margin-top: 1rem;
  border: 1px solid #d8dee6;
  border-radius: 6px;
  background: #fff;
}

.hr-expense-danger-zone > summary,
.hr-expense-timeline > summary,
.hr-expense-policy-panel > summary {
  min-height: 44px;
  padding: 0.7rem 0.85rem;
  color: #243043;
  cursor: pointer;
  font-weight: 700;
}

.hr-expense-danger-zone[open] > summary,
.hr-expense-timeline[open] > summary,
.hr-expense-policy-panel[open] > summary {
  border-bottom: 1px solid #d8dee6;
}

.hr-expense-danger-zone form {
  display: grid;
  grid-template-columns: minmax(10rem, 0.6fr) minmax(14rem, 1fr) auto;
  gap: 0.75rem;
  align-items: end;
  padding: 0.85rem;
}

.hr-expense-timeline ol {
  display: grid;
  gap: 0.7rem;
  margin: 0;
  padding: 0.85rem 1rem 0.85rem 2.25rem;
}

.hr-expense-timeline li span {
  display: block;
  color: #687386;
  font-size: 0.78rem;
}

.hr-expense-timeline li p {
  margin: 0.2rem 0 0;
}

.hr-expense-editor {
  margin-top: 1.25rem;
  padding-bottom: 1rem;
}

.hr-expense-head-fields {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
  margin-top: 0.9rem;
}

.hr-expense-title-field {
  grid-column: span 2;
}

.hr-expense-wide-field {
  grid-column: span 3;
}

.hr-expense-lines-head {
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid #d8dee6;
}

.hr-expense-lines {
  display: grid;
  gap: 0.9rem;
  margin-top: 0.8rem;
}

.hr-expense-line {
  position: relative;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.6rem;
  padding: 0.85rem 2.8rem 0.85rem 0;
  border-bottom: 1px solid #d8dee6;
}

.hr-expense-line-description {
  grid-column: span 2;
}

.hr-expense-line-exception {
  grid-column: span 3;
}

.hr-expense-line-remove {
  position: absolute;
  top: 0.8rem;
  right: 0;
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  padding: 0;
  border: 1px solid #d7a1af;
  border-radius: 4px;
  background: #fff;
  color: #a4143b;
  font-size: 1.35rem;
  line-height: 1;
}

.hr-expense-line-remove:hover,
.hr-expense-line-remove:focus-visible {
  border-color: #be123c;
  background: #fff1f3;
}

.hr-expense-editor-actions {
  align-items: center;
  padding-top: 0.9rem;
}

.hr-expense-policy-panel {
  margin-bottom: 1.5rem;
}

.hr-expense-policy-content {
  padding: 0.9rem;
}

.hr-expense-policy-form {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding-bottom: 1rem;
  border-bottom: 1px solid #d8dee6;
}

@media (max-width: 1199.98px) {
  .hr-expense-workspace {
    grid-template-columns: minmax(17rem, 0.8fr) minmax(0, 1.2fr);
  }

  .hr-expense-line {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .hr-expense-head-fields,
  .hr-expense-policy-form {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 991.98px) {
  .hr-expense-workspace {
    grid-template-columns: minmax(0, 1fr);
  }

  .hr-expense-register-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
  }

  .hr-expense-register-row:nth-child(odd) {
    border-right: 1px solid #e3e8ef;
  }

  .hr-expense-receipt-form,
  .hr-expense-payment-form,
  .hr-expense-accounting-head,
  .hr-expense-policy-form,
  .hr-expense-danger-zone form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hr-expense-head-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hr-expense-wide-field,
  .hr-expense-title-field {
    grid-column: span 2;
  }
}

.hr-integration-endpoint {
  margin: 18px 0;
  padding: 16px 0;
  border-top: 1px solid var(--admin-border, #dfe3e8);
  border-bottom: 1px solid var(--admin-border, #dfe3e8);
}

.hr-integration-endpoint-head,
.hr-integration-endpoint-state {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.hr-integration-endpoint-head h4 {
  margin: 0 0 4px;
  font-size: 1rem;
}

.hr-integration-endpoint-head p,
.hr-integration-endpoint-state small {
  margin: 0;
  color: var(--admin-muted, #667085);
}

.hr-integration-endpoint-state {
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.hr-integration-endpoint-editor {
  margin-top: 14px;
}

.hr-integration-endpoint-editor > summary {
  min-height: 44px;
  display: flex;
  align-items: center;
  cursor: pointer;
  font-weight: 600;
}

.hr-integration-endpoint-form {
  display: grid;
  grid-template-columns: minmax(0, 2fr) repeat(3, minmax(130px, 1fr));
  gap: 12px;
  align-items: end;
  padding: 14px 0 2px;
}

.hr-integration-endpoint-form .hr-integration-endpoint-url {
  grid-column: span 2;
}

.hr-integration-endpoint-form .form-control,
.hr-integration-endpoint-form .form-select,
.hr-integration-endpoint-form .btn {
  min-height: 44px;
}

.hr-integration-endpoint-form textarea.form-control {
  min-height: 112px;
  resize: vertical;
}

.hr-integration-endpoint-form small {
  display: block;
  margin-top: 0.35rem;
  color: var(--admin-muted, #667085);
  line-height: 1.4;
}

.hr-integration-auto-commit {
  display: flex;
  min-height: 44px;
  align-items: center;
  gap: 8px;
  margin: 0;
}

.hr-integration-auto-commit .form-check-input {
  flex: 0 0 auto;
  margin: 0;
}

.hr-integration-payload-list {
  display: grid;
  gap: 6px;
  margin-top: 14px;
}

.hr-integration-payload-list > div {
  display: grid;
  grid-template-columns: minmax(150px, 0.9fr) minmax(130px, 0.7fr) minmax(180px, 1.2fr) minmax(110px, auto);
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid var(--admin-border);
  border-radius: 6px;
  background: var(--admin-surface);
}

.hr-integration-payload-list a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-self: end;
  color: var(--admin-primary-dark);
  font-weight: 700;
}

.hr-integration-webhook-url {
  display: block;
  max-width: min(100%, 72ch);
  margin-top: 0.45rem;
  padding: 0.45rem 0.6rem;
  overflow-wrap: anywhere;
  color: var(--admin-text);
  background: var(--admin-surface-subtle, #f5f7fa);
  border: 1px solid var(--admin-border);
  border-radius: 4px;
}

@media (max-width: 991px) {
  .hr-integration-endpoint-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hr-integration-endpoint-form .hr-integration-endpoint-url {
    grid-column: 1 / -1;
  }
}

@media (max-width: 768px) {
  .hr-integration-endpoint-head {
    flex-direction: column;
  }

  .hr-integration-endpoint-state {
    width: 100%;
    justify-content: flex-start;
  }

  .hr-integration-endpoint-form {
    grid-template-columns: minmax(0, 1fr);
  }

  .hr-integration-endpoint-form .hr-integration-endpoint-url {
    grid-column: auto;
  }

  .hr-integration-payload-list > div {
    grid-template-columns: minmax(0, 1fr);
  }

  .hr-integration-payload-list a {
    justify-self: start;
  }
}

/* HR attendance integrations: connector registry, preview and quarantine. */
.hr-integrations-page,
.hr-integrations-page section,
.hr-integrations-page article,
.hr-integrations-page form,
.hr-integrations-page .admin-table-shell {
  min-width: 0;
  max-width: 100%;
}

.hr-integration-boundary {
  display: flex;
  gap: 0.6rem;
  align-items: baseline;
  margin-bottom: 1rem;
  padding: 0.7rem 0.85rem;
  border-left: 4px solid var(--admin-success);
  background: color-mix(in srgb, var(--admin-success), white 94%);
  color: var(--admin-text);
}

.hr-integration-boundary span,
.hr-integration-connector-head p,
.hr-overview-band-head p,
.hr-integration-cell-note {
  color: var(--admin-muted);
}

.hr-integration-summary {
  margin-bottom: 1.1rem;
}

.hr-integration-create {
  margin-bottom: 1.25rem;
  border-block: 1px solid var(--admin-border);
}

.hr-integration-create > summary,
.hr-integration-mapping-editor > summary,
.hr-integration-import > summary {
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  cursor: pointer;
  color: var(--admin-text);
  font-weight: 700;
}

.hr-integration-create > summary {
  min-height: 52px;
  padding: 0.6rem 0.25rem;
}

.hr-integration-create > summary span:first-child {
  display: grid;
  gap: 0.1rem;
}

.hr-integration-create > summary small {
  color: var(--admin-muted);
  font-size: 0.82rem;
  font-weight: 500;
}

.hr-integration-connector-form {
  display: grid;
  grid-template-columns: minmax(10rem, 0.45fr) minmax(15rem, 1fr) auto;
  gap: 0.8rem;
  align-items: end;
  padding: 0.85rem 0.25rem 1rem;
  border-top: 1px solid var(--admin-border);
}

.hr-integration-connector-form .form-control,
.hr-integration-connector-form .btn,
.hr-integration-mapping-form .form-control,
.hr-integration-mapping-form .form-select,
.hr-integration-mapping-form .btn,
.hr-integration-import-form .form-control,
.hr-integration-import-form .btn {
  min-height: 44px;
}

.hr-integration-connectors,
.hr-integration-alerts,
.hr-integration-runs,
.hr-integration-run-detail {
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid var(--admin-border);
}

.hr-integration-alert-list {
  border-top: 1px solid var(--admin-border);
}

.hr-integration-alert {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  padding: 0.9rem 0;
  border-bottom: 1px solid var(--admin-border);
}

.hr-integration-alert strong {
  display: inline-block;
  margin-left: 0.45rem;
}

.hr-integration-alert p {
  margin: 0.4rem 0 0;
  color: var(--admin-muted);
}

.hr-integration-alert-meta {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.75rem;
  color: var(--admin-muted);
  font-size: 0.875rem;
}

.hr-integration-alert-meta .btn {
  min-height: 44px;
}

.hr-integration-connector-list {
  display: grid;
  gap: 0.85rem;
  margin-top: 0.8rem;
}

.hr-integration-connector {
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: 8px;
  background: var(--admin-surface);
}

.hr-integration-connector-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.hr-integration-connector-head h3 {
  margin: 0.12rem 0 0;
  font-size: 1.05rem;
  line-height: 1.35;
}

.hr-integration-connector-head p {
  margin: 0.2rem 0 0;
  font-size: 0.84rem;
}

.hr-integration-code {
  color: var(--admin-primary);
  font-size: 0.76rem;
  font-weight: 750;
  text-transform: uppercase;
}

.hr-integration-connector-state {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.5rem;
  align-items: center;
}

.hr-integration-mapping-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0.85rem 0;
  border-block: 1px solid var(--admin-border);
}

.hr-integration-mapping-facts > div {
  min-width: 0;
  padding: 0.65rem 0.7rem;
  border-right: 1px solid var(--admin-border);
}

.hr-integration-mapping-facts > div:last-child {
  border-right: 0;
}

.hr-integration-mapping-facts dt {
  color: var(--admin-muted);
  font-size: 0.75rem;
  font-weight: 650;
}

.hr-integration-mapping-facts dd {
  margin: 0.15rem 0 0;
  overflow-wrap: anywhere;
  color: var(--admin-text);
  font-size: 0.88rem;
  font-weight: 650;
}

.hr-integration-no-mapping {
  display: flex;
  gap: 0.55rem;
  margin: 0.85rem 0;
  padding: 0.65rem 0.75rem;
  border-left: 3px solid var(--admin-warning);
  background: color-mix(in srgb, var(--admin-warning), white 95%);
}

.hr-integration-no-mapping span {
  color: var(--admin-muted);
}

.hr-integration-actions {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(15rem, 0.65fr);
  gap: 0.8rem;
  margin-top: 0.85rem;
}

.hr-integration-mapping-editor,
.hr-integration-import {
  min-width: 0;
  border-top: 1px solid var(--admin-border);
}

.hr-integration-mapping-editor > summary,
.hr-integration-import > summary {
  padding-inline: 0.2rem;
  font-size: 0.9rem;
}

.hr-integration-mapping-form {
  display: grid;
  grid-template-columns: repeat(4, minmax(9rem, 1fr));
  gap: 0.7rem;
  padding: 0.75rem 0.2rem;
}

.hr-integration-mapping-form > button {
  align-self: end;
}

.hr-integration-import-form {
  display: grid;
  gap: 0.7rem;
  padding: 0.75rem 0.2rem;
}

.hr-integration-import-form .btn {
  justify-self: start;
}

.hr-integration-runs-table,
.hr-integration-rows-table {
  margin-top: 0.8rem;
}

.hr-integration-runs-table .is-selected {
  background: color-mix(in srgb, var(--admin-primary), white 95%);
}

.hr-integration-run-totals {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin: 0.8rem 0;
}

.hr-integration-run-totals span {
  min-height: 38px;
  padding: 0.48rem 0.7rem;
  border-left: 3px solid var(--admin-border);
  background: var(--admin-bg);
}

.hr-integration-run-totals .is-ready {
  border-color: var(--admin-primary);
}

.hr-integration-run-totals .is-imported {
  border-color: var(--admin-success);
}

.hr-integration-run-totals .is-existing {
  border-color: var(--admin-muted);
}

.hr-integration-run-totals .is-invalid {
  border-color: var(--admin-danger);
}

.hr-integration-commit {
  display: flex;
  min-height: 52px;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
  margin-bottom: 0.8rem;
  padding: 0.55rem 0.7rem;
  border-block: 1px solid var(--admin-border);
}

.hr-integration-cell-note {
  display: block;
  margin-top: 0.1rem;
  font-size: 0.78rem;
}

@media (max-width: 991.98px) {
  .hr-integration-connector-form {
    grid-template-columns: 0.65fr 1fr;
  }

  .hr-integration-connector-form .btn {
    grid-column: 1 / -1;
    justify-self: start;
  }

  .hr-integration-mapping-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hr-integration-mapping-facts > div:nth-child(2) {
    border-right: 0;
  }

  .hr-integration-mapping-facts > div:nth-child(-n + 2) {
    border-bottom: 1px solid var(--admin-border);
  }

  .hr-integration-actions {
    grid-template-columns: 1fr;
  }

  .hr-integration-mapping-form {
    grid-template-columns: repeat(2, minmax(9rem, 1fr));
  }
}

@media (max-width: 767.98px) {
  .hr-integration-alert {
    grid-template-columns: 1fr;
  }

  .hr-integration-alert-meta {
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .hr-integration-boundary,
  .hr-integration-no-mapping,
  .hr-integration-commit {
    align-items: flex-start;
    flex-direction: column;
  }

  .hr-integration-connector-form,
  .hr-integration-mapping-form {
    grid-template-columns: 1fr;
  }

  .hr-integration-connector-head {
    flex-direction: column;
  }

  .hr-integration-connector-state {
    justify-content: flex-start;
  }

  .hr-integration-mapping-facts {
    grid-template-columns: 1fr;
  }

  .hr-integration-mapping-facts > div {
    border-right: 0;
    border-bottom: 1px solid var(--admin-border);
  }

  .hr-integration-mapping-facts > div:last-child {
    border-bottom: 0;
  }

  .hr-integration-mapping-table .admin-table,
  .hr-integration-runs-table .admin-table,
  .hr-integration-rows-table .admin-table {
    display: block;
  }

  .hr-integration-mapping-table .admin-table thead,
  .hr-integration-runs-table .admin-table thead,
  .hr-integration-rows-table .admin-table thead {
    display: none;
  }

  .hr-integration-mapping-table .admin-table tbody,
  .hr-integration-mapping-table .admin-table tr,
  .hr-integration-runs-table .admin-table tbody,
  .hr-integration-runs-table .admin-table tr,
  .hr-integration-rows-table .admin-table tbody,
  .hr-integration-rows-table .admin-table tr {
    display: grid;
    width: 100%;
  }

  .hr-integration-mapping-table .admin-table tr,
  .hr-integration-runs-table .admin-table tr,
  .hr-integration-rows-table .admin-table tr {
    padding: 0.55rem 0;
    border-bottom: 1px solid var(--admin-border);
  }

  .hr-integration-mapping-table .admin-table td,
  .hr-integration-runs-table .admin-table td,
  .hr-integration-rows-table .admin-table td {
    display: grid;
    grid-template-columns: minmax(6.5rem, 0.42fr) minmax(0, 1fr);
    gap: 0.75rem;
    align-items: start;
    min-height: 42px;
    padding: 0.4rem 0;
    border: 0;
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  .hr-integration-mapping-table .admin-table td::before,
  .hr-integration-runs-table .admin-table td::before,
  .hr-integration-rows-table .admin-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.76rem;
    font-weight: 650;
  }
}

/* HR performance cycles, reviews and development plans. */
.hr-performance-page,
.hr-performance-page section,
.hr-performance-page form,
.hr-performance-page .admin-table-shell {
  min-width: 0;
  max-width: 100%;
}

.hr-performance-summary {
  margin-bottom: 1rem;
}

.hr-performance-cycle-editor {
  margin-bottom: 1.25rem;
  border-block: 1px solid var(--admin-border);
}

.hr-performance-cycle-form,
.hr-performance-objective-form,
.hr-performance-assessment-form,
.hr-performance-development-form,
.hr-performance-ack-form,
.hr-performance-progress-form {
  display: grid;
  grid-template-columns: repeat(4, minmax(9rem, 1fr));
  gap: 0.85rem;
  align-items: end;
  padding-block: 0.9rem;
}

.hr-performance-assessment-form,
.hr-performance-development-form,
.hr-performance-ack-form,
.hr-performance-progress-form {
  grid-template-columns: repeat(2, minmax(10rem, 1fr));
}

.hr-performance-page .form-control,
.hr-performance-page .form-select,
.hr-performance-page .btn {
  min-height: 44px;
}

.hr-performance-wide,
.hr-performance-page .admin-form-actions {
  grid-column: span 2;
}

.hr-performance-cycles,
.hr-performance-reviews,
.hr-performance-detail {
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid var(--admin-border);
}

.hr-performance-table tr.is-selected {
  background: color-mix(in srgb, var(--admin-primary), white 96%);
}

.hr-performance-actions {
  white-space: nowrap;
}

.hr-performance-actions > form,
.hr-performance-actions > details {
  display: inline-block;
  margin-inline-start: 0.25rem;
  vertical-align: top;
}

.hr-performance-actions details > summary {
  min-height: 36px;
  padding: 0.42rem 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.4rem;
  color: var(--admin-danger);
  cursor: pointer;
  font-size: 0.875rem;
  font-weight: 650;
  list-style: none;
}

.hr-performance-actions details > form {
  display: grid;
  gap: 0.5rem;
  width: min(20rem, calc(100vw - 2rem));
  margin-top: 0.35rem;
  margin-left: auto;
  padding: 0.75rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.4rem;
  background: var(--admin-surface);
  box-shadow: var(--admin-shadow);
  text-align: left;
  white-space: normal;
}

.hr-performance-detail-head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: start;
}

.hr-performance-detail-head h2,
.hr-performance-objective-head h4,
.hr-performance-development-list h3 {
  margin: 0;
  color: var(--admin-text);
}

.hr-performance-detail-head p,
.hr-performance-objective-head p {
  margin: 0.25rem 0 0;
  color: var(--admin-muted);
}

.hr-performance-steps {
  display: grid;
  grid-template-columns: repeat(5, minmax(7rem, 1fr));
  gap: 0.4rem;
  margin: 1rem 0 1.25rem;
  padding: 0;
  list-style: none;
}

.hr-performance-steps li {
  min-height: 42px;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.4rem;
  color: var(--admin-muted);
  font-size: 0.82rem;
  font-weight: 650;
  text-align: center;
}

.hr-performance-steps li.is-done {
  border-color: color-mix(in srgb, var(--admin-success), white 60%);
  background: color-mix(in srgb, var(--admin-success), white 94%);
  color: var(--admin-success);
}

.hr-performance-assessments {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-block: 1rem;
}

.hr-performance-assessments article {
  padding: 0.9rem 0;
  border-block: 1px solid var(--admin-border);
}

.hr-performance-assessments strong {
  display: block;
  margin-top: 0.25rem;
  color: var(--admin-text);
  font-size: 1.35rem;
}

.hr-performance-assessments p {
  margin: 0.45rem 0 0;
  color: var(--admin-muted);
  white-space: pre-line;
}

.hr-performance-objective-list {
  display: grid;
  gap: 0.85rem;
}

.hr-performance-objective {
  padding: 1rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.45rem;
  background: var(--admin-surface);
}

.hr-performance-objective-head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: start;
}

.hr-performance-objective-head > strong {
  color: var(--admin-primary-dark);
  font-size: 1.25rem;
  white-space: nowrap;
}

.hr-performance-objective .progress {
  height: 0.45rem;
  margin-block: 0.8rem;
  background: var(--admin-primary-soft);
}

.hr-performance-objective .progress-bar {
  background: var(--admin-primary);
}

.hr-performance-objective-meta {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 0;
}

.hr-performance-objective-meta div {
  min-width: 0;
}

.hr-performance-objective-meta dt {
  color: var(--admin-muted);
  font-size: 0.75rem;
  font-weight: 650;
}

.hr-performance-objective-meta dd {
  margin: 0.15rem 0 0;
  overflow-wrap: anywhere;
  color: var(--admin-text);
}

.hr-performance-note {
  margin: 0.75rem 0 0;
  padding-top: 0.75rem;
  border-top: 1px solid var(--admin-border);
  color: var(--admin-muted);
}

.hr-performance-objective .admin-progressive-compact {
  margin-top: 0.75rem;
  border: 0;
  border-top: 1px solid var(--admin-border);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.hr-performance-development-list {
  margin-top: 1rem;
  padding-block: 1rem;
  border-block: 1px solid var(--admin-border);
}

.hr-performance-development-list > div {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  min-height: 44px;
  padding-block: 0.65rem;
  border-bottom: 1px solid var(--admin-border);
}

.hr-performance-development-list > div:last-child {
  border-bottom: 0;
}

.hr-performance-development-list span {
  color: var(--admin-muted);
  text-align: right;
}

.hr-performance-complete-form,
.hr-performance-cancel-form {
  display: grid;
  grid-template-columns: minmax(15rem, 1fr) auto;
  gap: 0.75rem;
  align-items: end;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--admin-border);
}

.hr-performance-complete-form label,
.hr-performance-cancel-form label {
  grid-column: 1 / -1;
}

@media (max-width: 991.98px) {
  .hr-performance-cycle-form,
  .hr-performance-objective-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hr-performance-steps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .hr-performance-objective-meta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .hr-performance-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hr-performance-cycle-form,
  .hr-performance-objective-form,
  .hr-performance-assessment-form,
  .hr-performance-development-form,
  .hr-performance-ack-form,
  .hr-performance-progress-form {
    grid-template-columns: minmax(0, 1fr);
  }

  .hr-performance-wide,
  .hr-performance-page .admin-form-actions {
    grid-column: auto;
  }

  .hr-performance-table {
    display: block;
  }

  .hr-performance-table thead {
    display: none;
  }

  .hr-performance-table tbody,
  .hr-performance-table tr,
  .hr-performance-table td {
    display: block;
    width: 100%;
  }

  .hr-performance-table tr {
    padding: 0.75rem;
    border-bottom: 1px solid var(--admin-border);
  }

  .hr-performance-table td {
    display: grid;
    grid-template-columns: minmax(6.5rem, 0.42fr) minmax(0, 1fr);
    gap: 0.75rem;
    align-items: start;
    min-height: 44px;
    padding: 0.45rem 0;
    border: 0;
    text-align: left !important;
  }

  .hr-performance-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 650;
  }

  .hr-performance-actions {
    white-space: normal;
  }

  .hr-performance-actions > form,
  .hr-performance-actions > details {
    margin: 0 0.25rem 0.25rem 0;
  }

  .hr-performance-detail-head,
  .hr-performance-objective-head,
  .hr-performance-development-list > div {
    display: grid;
  }

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

  .hr-performance-assessments,
  .hr-performance-objective-meta {
    grid-template-columns: minmax(0, 1fr);
  }

  .hr-performance-development-list span {
    text-align: left;
  }

  .hr-performance-complete-form,
  .hr-performance-cancel-form {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 767.98px) {
  .hr-expense-register-list,
  .hr-expense-decision-grid,
  .hr-expense-account-map {
    grid-template-columns: minmax(0, 1fr);
  }

  .hr-expense-register-row:nth-child(odd) {
    border-right: 0;
  }

  .hr-expense-line {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding-right: 2.65rem;
  }

  .hr-expense-line-description,
  .hr-expense-line-exception {
    grid-column: span 2;
  }

  .hr-expense-inline-reversal {
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
  }

  .hr-expense-payment-row {
    align-items: stretch;
    flex-direction: column;
  }

  .hr-expenses-page .admin-data-table {
    display: block;
    width: 100%;
  }

  .hr-expenses-page .admin-data-table thead {
    display: none;
  }

  .hr-expenses-page .admin-data-table tbody,
  .hr-expenses-page .admin-data-table tr,
  .hr-expenses-page .admin-data-table td {
    display: block;
    width: 100%;
  }

  .hr-expenses-page .admin-data-table tr {
    padding-block: 0.35rem;
    border-bottom: 1px solid #d8dee6;
  }

  .hr-expenses-page .admin-data-table td {
    display: grid;
    grid-template-columns: minmax(7rem, 38%) minmax(0, 1fr);
    gap: 0.7rem;
    padding: 0.5rem 0.7rem;
    border: 0;
    overflow-wrap: anywhere;
  }

  .hr-expenses-page .admin-data-table td::before {
    content: attr(data-label);
    color: #5d6878;
    font-size: 0.73rem;
    font-weight: 700;
  }
}

@media (max-width: 575.98px) {
  .hr-expense-head-fields,
  .hr-expense-receipt-form,
  .hr-expense-payment-form,
  .hr-expense-accounting-head,
  .hr-expense-policy-form,
  .hr-expense-danger-zone form {
    grid-template-columns: minmax(0, 1fr);
  }

  .hr-expense-title-field,
  .hr-expense-wide-field {
    grid-column: auto;
  }

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

  .hr-expense-line-description,
  .hr-expense-line-exception {
    grid-column: auto;
  }

  .hr-expense-section-head,
  .hr-expense-detail-head,
  .hr-expense-lines-head,
  .hr-expense-editor-actions,
  .hr-expense-receipt-row {
    align-items: stretch;
    flex-direction: column;
  }

  .hr-expense-editor-actions .btn,
  .hr-expense-receipt-form .btn,
  .hr-expense-payment-form .btn,
  .hr-expense-policy-form .btn {
    width: 100%;
  }
}

/* Bank reconciliation policy workspace */
.reconciliation-rules-page {
  max-width: 100%;
  overflow-x: clip;
}

.reconciliation-rule-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 1rem;
  border-block: 1px solid var(--admin-border);
  background: var(--admin-surface);
}

.reconciliation-rule-summary > div {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
  padding: 0.9rem 1rem;
  border-inline-end: 1px solid var(--admin-border);
}

.reconciliation-rule-summary > div:last-child {
  border-inline-end: 0;
}

.reconciliation-rule-summary span {
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.reconciliation-rule-summary strong {
  color: var(--admin-text);
  font-size: 1.45rem;
  line-height: 1.15;
}

.reconciliation-rule-form-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.85rem 1rem;
}

.reconciliation-rule-form-grid > div {
  min-width: 0;
}

.reconciliation-rule-form-grid .field-span-2 {
  grid-column: span 2;
}

.reconciliation-rule-form-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--admin-border);
}

.reconciliation-simulation-form {
  display: grid;
  grid-template-columns: minmax(16rem, 2fr) repeat(2, minmax(10rem, 1fr)) auto;
  align-items: end;
  gap: 0.75rem;
}

.reconciliation-simulation-form > div {
  min-width: 0;
}

.reconciliation-simulation-result {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.55rem 1rem;
  margin-top: 1rem;
  padding: 0.75rem 0;
  border-block: 1px solid var(--admin-border);
}

.reconciliation-simulation-result span {
  color: var(--admin-muted);
}

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

  .reconciliation-simulation-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {
  .reconciliation-rule-summary,
  .reconciliation-rule-form-grid,
  .reconciliation-simulation-form {
    grid-template-columns: 1fr;
  }

  .reconciliation-rule-summary > div {
    border-inline-end: 0;
  }

  .reconciliation-rule-summary > div + div {
    border-block-start: 1px solid var(--admin-border);
  }

  .reconciliation-rule-form-grid .field-span-2 {
    grid-column: auto;
  }

  .reconciliation-rule-form-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .reconciliation-rule-form-actions .btn,
  .reconciliation-simulation-form .btn {
    width: 100%;
  }
}

.receipt-invoice-matching-table td[data-label="Azione"],
.receipt-invoice-matching-table td[data-label="Fattura passiva"] {
  min-width: 18rem;
}

.receipt-invoice-matching-table form.admin-actions {
  display: grid;
  grid-template-columns: minmax(14rem, 1fr) auto;
  align-items: start;
  justify-content: stretch;
  gap: 0.5rem;
  min-width: min(100%, 26rem);
}

.receipt-invoice-line-select,
.receipt-invoice-matching-table .form-text {
  min-width: 0;
  overflow-wrap: anywhere;
}

.receipt-invoice-matching-table .form-text {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--admin-muted);
  line-height: 1.35;
}

.receipt-invoice-matching-table form.admin-actions > .form-control {
  grid-column: 1 / -1;
}

@media (max-width: 575.98px) {
  .receipt-invoice-matching-table td[data-label="Azione"],
  .receipt-invoice-matching-table td[data-label="Fattura passiva"] {
    min-width: 0;
  }

  .receipt-invoice-matching-table form.admin-actions {
    grid-template-columns: minmax(0, 1fr);
    min-width: 0;
    width: 100%;
  }

  .receipt-invoice-matching-table form.admin-actions > * {
    grid-column: 1;
    width: 100%;
  }
}

/* HR payroll accounting: journal, liabilities and bank reconciliation. */
.hr-payroll-accounting-page,
.hr-payroll-accounting-page .admin-table-shell {
  min-width: 0;
  max-width: 100%;
}

.hr-payroll-accounting-prepare,
.hr-payroll-accounting-summary,
.hr-payroll-accounting-payables,
.hr-payroll-accounting-history {
  min-width: 0;
  max-width: 100%;
  padding: 1.35rem 0;
  border-top: 1px solid #d8dee6;
}

.hr-payroll-accounting-source {
  display: grid;
  grid-template-columns: minmax(16rem, 2fr) repeat(3, minmax(10rem, 1fr));
  gap: 0.85rem;
}

.hr-payroll-accounting-revision {
  margin-bottom: 0.85rem;
}

.hr-payroll-accounting-form label,
.hr-payroll-accounting-form legend,
.hr-payroll-payment-action label,
.hr-payroll-payment-reversal label,
.hr-payroll-accounting-reversal label {
  display: block;
  margin-bottom: 0.35rem;
  color: #344154;
  font-size: 0.8125rem;
  font-weight: 700;
}

.hr-payroll-accounting-form .form-control,
.hr-payroll-accounting-form .form-select,
.hr-payroll-accounting-form .btn,
.hr-payroll-payment-action .form-control,
.hr-payroll-payment-action .form-select,
.hr-payroll-payment-reversal .form-control,
.hr-payroll-accounting-reversal .form-control {
  min-height: 44px;
}

.hr-payroll-accounting-mapping,
.hr-payroll-accounting-reversal,
.hr-payroll-payment-action,
.hr-payroll-payment-reversal {
  margin-top: 1rem;
  border: 1px solid #d8dee6;
  border-radius: 6px;
  background: #fff;
}

.hr-payroll-accounting-mapping > summary,
.hr-payroll-accounting-reversal > summary,
.hr-payroll-payment-action > summary,
.hr-payroll-payment-reversal > summary {
  min-height: 44px;
  padding: 0.7rem 0.85rem;
  color: #243043;
  cursor: pointer;
  font-weight: 700;
}

.hr-payroll-accounting-map-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  padding: 1rem;
  border-top: 1px solid #d8dee6;
}

.hr-payroll-accounting-map-grid fieldset {
  display: grid;
  align-content: start;
  gap: 0.4rem;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.hr-payroll-accounting-map-grid legend {
  width: 100%;
  margin-bottom: 0.4rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #d8dee6;
  color: #111827;
  font-size: 0.9375rem;
}

.hr-payroll-accounting-map-grid label:not(:first-of-type) {
  margin-top: 0.45rem;
}

.hr-payroll-accounting-form .admin-check-row {
  display: flex;
  max-width: 72ch;
  align-items: flex-start;
  gap: 0.65rem;
  margin: 1rem 0;
  color: #344154;
  line-height: 1.45;
}

.hr-payroll-accounting-form .admin-check-row input {
  flex: 0 0 auto;
  margin-top: 0.15rem;
}

.hr-payroll-accounting-submit,
.hr-payroll-accounting-post {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.85rem 0;
}

.hr-payroll-accounting-submit p,
.hr-payroll-accounting-post p {
  margin: 0;
  color: #5d6878;
}

.hr-payroll-accounting-journal {
  margin-top: 1.25rem;
}

.hr-payroll-accounting-journal h3 {
  margin-bottom: 0.65rem;
  font-size: 1rem;
}

.hr-payroll-accounting-journal tfoot {
  border-top: 2px solid #aeb8c6;
}

.hr-payroll-accounting-kpis {
  margin-block: 1rem;
}

.hr-payroll-accounting-page .admin-status-badge {
  display: inline-flex;
  min-height: 1.75rem;
  align-items: center;
  padding: 0.2rem 0.5rem;
  border: 1px solid #b8c1ce;
  border-radius: 4px;
  background: #f4f6f8;
  color: #435063;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.2;
}

.hr-payroll-accounting-page .admin-status-badge.status-posted,
.hr-payroll-accounting-page .admin-status-badge.status-paid {
  border-color: #91b99a;
  background: #eef7f0;
  color: #345f3a;
}

.hr-payroll-accounting-page .admin-status-badge.status-preview,
.hr-payroll-accounting-page .admin-status-badge.status-open,
.hr-payroll-accounting-page .admin-status-badge.status-partiallypaid {
  border-color: #d7b170;
  background: #fff7e8;
  color: #7a4a0c;
}

.hr-payroll-accounting-page .admin-status-badge.status-reversed,
.hr-payroll-accounting-page .admin-status-badge.status-cancelled {
  border-color: #b8c1ce;
  background: #f4f6f8;
  color: #435063;
}

.hr-payroll-accounting-reversal > form {
  display: grid;
  grid-template-columns: 12rem minmax(16rem, 1fr) auto;
  align-items: end;
  gap: 0.75rem;
  padding: 1rem;
  border-top: 1px solid #d8dee6;
}

.hr-payroll-payment-action {
  min-width: min(31rem, 82vw);
  margin: 0;
}

.hr-payroll-payment-action > form,
.hr-payroll-payment-reversal > form {
  display: grid;
  gap: 0.65rem;
  padding: 0.85rem;
  border-top: 1px solid #d8dee6;
  text-align: left;
}

.hr-payroll-payment-fields {
  display: grid;
  grid-template-columns: minmax(8rem, 1fr) minmax(9rem, 1fr);
  gap: 0.65rem;
}

.hr-payroll-payment-row {
  background: #f7f9fc;
}

.hr-payroll-payment-row td:first-child {
  padding-left: 1.5rem;
}

@media (max-width: 1199.98px) {
  .hr-payroll-accounting-source {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hr-payroll-accounting-map-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hr-payroll-accounting-map-grid fieldset:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 767.98px) {
  .hr-payroll-accounting-source,
  .hr-payroll-accounting-map-grid,
  .hr-payroll-accounting-reversal > form,
  .hr-payroll-payment-fields {
    grid-template-columns: minmax(0, 1fr);
  }

  .hr-payroll-accounting-map-grid fieldset:last-child {
    grid-column: auto;
  }

  .hr-payroll-accounting-submit,
  .hr-payroll-accounting-post {
    align-items: stretch;
    flex-direction: column;
  }

  .hr-payroll-accounting-submit .btn,
  .hr-payroll-accounting-post .btn {
    width: 100%;
  }

  .hr-payroll-accounting-payables .admin-table,
  .hr-payroll-accounting-history .admin-table,
  .hr-payroll-accounting-journal .admin-table {
    display: block;
    min-width: 0;
    width: 100%;
  }

  .hr-payroll-accounting-payables .admin-table thead,
  .hr-payroll-accounting-history .admin-table thead,
  .hr-payroll-accounting-journal .admin-table thead,
  .hr-payroll-accounting-journal .admin-table tfoot {
    display: none;
  }

  .hr-payroll-accounting-payables .admin-table tbody,
  .hr-payroll-accounting-payables .admin-table tr,
  .hr-payroll-accounting-payables .admin-table td,
  .hr-payroll-accounting-history .admin-table tbody,
  .hr-payroll-accounting-history .admin-table tr,
  .hr-payroll-accounting-history .admin-table td,
  .hr-payroll-accounting-journal .admin-table tbody,
  .hr-payroll-accounting-journal .admin-table tr,
  .hr-payroll-accounting-journal .admin-table td {
    display: block;
    width: 100%;
  }

  .hr-payroll-accounting-payables .admin-table tr,
  .hr-payroll-accounting-history .admin-table tr,
  .hr-payroll-accounting-journal .admin-table tr {
    padding: 0.4rem 0;
    border-bottom: 1px solid #d8dee6;
  }

  .hr-payroll-accounting-payables .admin-table td,
  .hr-payroll-accounting-history .admin-table td,
  .hr-payroll-accounting-journal .admin-table td {
    display: grid;
    grid-template-columns: minmax(7rem, 38%) minmax(0, 1fr);
    gap: 0.75rem;
    padding: 0.55rem 0.75rem;
    border: 0;
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  .hr-payroll-accounting-payables .admin-table td::before,
  .hr-payroll-accounting-history .admin-table td::before,
  .hr-payroll-accounting-journal .admin-table td::before {
    content: attr(data-label);
    color: #5d6878;
    font-size: 0.75rem;
    font-weight: 700;
  }

  .hr-payroll-accounting-payables .admin-row-actions,
  .hr-payroll-accounting-history .admin-row-actions {
    grid-template-columns: minmax(0, 1fr);
  }

  .hr-payroll-accounting-payables .admin-row-actions::before,
  .hr-payroll-accounting-history .admin-row-actions::before {
    display: none;
  }

  .hr-payroll-accounting-payables .admin-row-actions .btn,
  .hr-payroll-accounting-history .admin-row-actions .btn,
  .hr-payroll-payment-action,
  .hr-payroll-payment-reversal {
    width: 100%;
    min-width: 0;
  }

  .hr-payroll-payment-row td:first-child {
    padding-left: 0.75rem;
  }
}

/* HR personnel cost allocation: analytical quadrature across business dimensions. */
.hr-cost-allocation-page,
.hr-cost-allocation-page .admin-table-shell {
  min-width: 0;
  max-width: 100%;
}

.hr-cost-allocation-filter label,
.hr-cost-allocation-form label {
  display: block;
  margin-bottom: 0.35rem;
  color: #344154;
  font-size: 0.8125rem;
  font-weight: 700;
}

.hr-cost-allocation-filter .form-control,
.hr-cost-allocation-filter .form-select,
.hr-cost-allocation-filter .btn,
.hr-cost-allocation-form .form-control,
.hr-cost-allocation-form .form-select,
.hr-cost-allocation-form .btn {
  min-height: 44px;
}

.hr-cost-allocation-filter .admin-filter-actions,
.hr-cost-allocation-actions,
.hr-cost-allocation-commit {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
}

.hr-cost-allocation-create {
  margin-bottom: 1.5rem;
  border: 1px solid #d8dee6;
  border-radius: 6px;
  background: #fff;
}

.hr-cost-allocation-create > summary {
  display: flex;
  min-height: 44px;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.75rem 1rem;
  color: #1f2938;
  cursor: pointer;
  list-style: none;
}

.hr-cost-allocation-create > summary::-webkit-details-marker {
  display: none;
}

.hr-cost-allocation-create > summary span:first-child {
  display: grid;
  gap: 0.15rem;
}

.hr-cost-allocation-create > summary small,
.hr-cost-allocation-create .form-text {
  color: #5d6878;
}

.hr-cost-allocation-form {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  padding: 1rem;
  border-top: 1px solid #d8dee6;
}

.hr-cost-allocation-source,
.hr-cost-allocation-name {
  grid-column: span 2;
}

.hr-cost-allocation-notes,
.hr-cost-allocation-reason {
  grid-column: span 2;
}

.hr-cost-allocation-manual {
  grid-column: 1 / -1;
  min-width: 0;
  padding-top: 1rem;
  border-top: 1px solid #d8dee6;
}

.hr-cost-allocation-manual[hidden] {
  display: none;
}

.hr-cost-allocation-source-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.5rem;
  margin: 0.75rem 0;
  padding: 0.75rem 0;
  border-block: 1px solid #e5e9ef;
  color: #435063;
  font-size: 0.875rem;
}

.hr-cost-allocation-source-summary span {
  display: flex;
  gap: 0.35rem;
  align-items: baseline;
}

.hr-cost-allocation-editor {
  margin-top: 0.75rem;
}

.hr-cost-allocation-editor table {
  min-width: 68rem;
}

.hr-cost-allocation-editor td {
  vertical-align: top;
}

.hr-cost-allocation-editor [data-target-field][hidden] {
  display: none;
}

.hr-cost-allocation-editor .admin-table-actions {
  display: grid;
  min-width: 10rem;
  gap: 0.35rem;
}

.hr-cost-allocation-quantity {
  min-width: 8rem;
}

.hr-cost-allocation-quantity .input-group-text {
  min-width: 2.5rem;
  justify-content: center;
}

.hr-cost-allocation-actions {
  grid-column: 1 / -1;
}

.hr-cost-allocation-overview,
.hr-cost-allocation-breakdown,
.hr-cost-allocation-lines,
.hr-cost-allocation-history {
  min-width: 0;
  max-width: 100%;
  padding: 1.35rem 0;
  border-top: 1px solid #d8dee6;
}

.hr-cost-allocation-summary {
  margin-block: 1rem;
}

.hr-cost-allocation-method {
  font-size: 1rem;
  line-height: 1.35;
}

.hr-cost-allocation-commit {
  justify-content: space-between;
  padding: 0.75rem 0;
  border-top: 1px solid #e5e9ef;
  color: #435063;
}

.hr-cost-allocation-page .admin-status-badge {
  display: inline-flex;
  min-height: 1.75rem;
  align-items: center;
  padding: 0.2rem 0.5rem;
  border: 1px solid #b8c1ce;
  border-radius: 4px;
  background: #f4f6f8;
  color: #435063;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.2;
}

.hr-cost-allocation-page .status-committed {
  border-color: #91b99a;
  background: #eef7f0;
  color: #345f3a;
}

.hr-cost-allocation-page .status-preview {
  border-color: #d7b170;
  background: #fff7e8;
  color: #7a4a0c;
}

.hr-cost-allocation-page .admin-table tr.is-selected {
  background: #eef6fc;
}

@media (max-width: 991.98px) {
  .hr-cost-allocation-filter {
    grid-template-columns: 8rem 8rem minmax(0, 1fr);
  }

  .hr-cost-allocation-filter .admin-filter-actions {
    grid-column: 1 / -1;
  }

  .hr-cost-allocation-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .hr-cost-allocation-filter,
  .hr-cost-allocation-form {
    grid-template-columns: minmax(0, 1fr);
  }

  .hr-cost-allocation-filter .admin-filter-actions,
  .hr-cost-allocation-source,
  .hr-cost-allocation-name,
  .hr-cost-allocation-notes,
  .hr-cost-allocation-reason {
    grid-column: auto;
  }

  .hr-cost-allocation-filter .admin-filter-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hr-cost-allocation-filter .btn,
  .hr-cost-allocation-actions .btn,
  .hr-cost-allocation-commit .btn {
    width: 100%;
  }

  .hr-cost-allocation-actions,
  .hr-cost-allocation-commit {
    align-items: stretch;
    justify-content: stretch;
  }

  .hr-cost-allocation-editor table,
  .hr-cost-allocation-breakdown .admin-table,
  .hr-cost-allocation-lines .admin-table,
  .hr-cost-allocation-history .admin-table {
    display: block;
    min-width: 0;
    width: 100%;
  }

  .hr-cost-allocation-editor .admin-table thead,
  .hr-cost-allocation-breakdown .admin-table thead,
  .hr-cost-allocation-lines .admin-table thead,
  .hr-cost-allocation-history .admin-table thead {
    display: none;
  }

  .hr-cost-allocation-editor .admin-table tbody,
  .hr-cost-allocation-editor .admin-table tr,
  .hr-cost-allocation-editor .admin-table td,
  .hr-cost-allocation-breakdown .admin-table tbody,
  .hr-cost-allocation-breakdown .admin-table tr,
  .hr-cost-allocation-breakdown .admin-table td,
  .hr-cost-allocation-lines .admin-table tbody,
  .hr-cost-allocation-lines .admin-table tr,
  .hr-cost-allocation-lines .admin-table td,
  .hr-cost-allocation-history .admin-table tbody,
  .hr-cost-allocation-history .admin-table tr,
  .hr-cost-allocation-history .admin-table td {
    display: block;
    width: 100%;
  }

  .hr-cost-allocation-editor .admin-table tr,
  .hr-cost-allocation-breakdown .admin-table tr,
  .hr-cost-allocation-lines .admin-table tr,
  .hr-cost-allocation-history .admin-table tr {
    padding: 0.4rem 0;
    border-bottom: 1px solid #d8dee6;
  }

  .hr-cost-allocation-editor .admin-table td,
  .hr-cost-allocation-breakdown .admin-table td,
  .hr-cost-allocation-lines .admin-table td,
  .hr-cost-allocation-history .admin-table td {
    display: grid;
    grid-template-columns: minmax(7rem, 38%) minmax(0, 1fr);
    gap: 0.75rem;
    min-width: 0;
    padding: 0.55rem 0.75rem;
    border: 0;
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  .hr-cost-allocation-editor .admin-table td::before,
  .hr-cost-allocation-breakdown .admin-table td::before,
  .hr-cost-allocation-lines .admin-table td::before,
  .hr-cost-allocation-history .admin-table td::before {
    content: attr(data-label);
    color: #5d6878;
    font-size: 0.75rem;
    font-weight: 700;
  }

  .hr-cost-allocation-page .admin-table-actions {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .hr-cost-allocation-page .admin-table-actions::before {
    display: none;
  }

  .hr-cost-allocation-page .admin-table-actions .btn {
    width: 100%;
  }
}

/* HR attendance: operational controls and responsive timesheet. */
.hr-attendance-filters {
  display: grid;
  grid-template-columns: minmax(14rem, 1.5fr) minmax(9rem, 0.7fr) 7rem auto;
  gap: 1rem;
  align-items: end;
}

.hr-attendance-filters > *,
.hr-attendance-settings-grid > *,
.hr-form-grid > *,
.hr-assignment-form > *,
.hr-attendance-correction-form > * {
  min-width: 0;
}

.hr-attendance-identity {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-block: 1.25rem 0.75rem;
  padding-block: 0.75rem;
  border-bottom: 1px solid #d4dbe3;
}

.hr-attendance-identity > div {
  display: grid;
  gap: 0.15rem;
}

.hr-attendance-identity > div > span:last-child {
  color: #5d6878;
  font-size: 0.875rem;
}

.hr-attendance-summary {
  margin-bottom: 1rem;
}

.hr-clock-actions {
  display: grid;
  grid-template-columns: repeat(4, minmax(8rem, 1fr));
  gap: 0.75rem;
}

.hr-clock-actions form,
.hr-clock-actions .btn {
  width: 100%;
}

.hr-clock-actions .btn {
  min-height: 44px;
}

.hr-time-entry-list,
.hr-anomaly-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
}

.hr-time-entry-list span {
  padding: 0.2rem 0.4rem;
  border-left: 2px solid #3f6f91;
  background: #eef4f7;
  color: #314657;
  font-size: 0.78rem;
  white-space: nowrap;
}

.hr-attendance-correction-form {
  display: grid;
  grid-template-columns: minmax(12rem, 1.3fr) minmax(12rem, 1fr) minmax(9rem, 0.8fr) auto;
  gap: 1rem;
  align-items: end;
}

.hr-attendance-correction-form .is-wide {
  grid-column: 1 / -2;
}

.hr-attendance-correction-form label,
.hr-form-grid label,
.hr-assignment-form label,
.hr-attendance-import-form label {
  display: block;
  margin-bottom: 0.4rem;
  color: #374151;
  font-size: 0.875rem;
  font-weight: 600;
}

.hr-correction-queue {
  border-top: 1px solid #d4dbe3;
}

.hr-correction-queue article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.8fr);
  gap: 1rem;
  align-items: center;
  padding-block: 0.9rem;
  border-bottom: 1px solid #e0e5eb;
}

.hr-correction-queue p {
  margin: 0.25rem 0 0;
  color: #5d6878;
}

.hr-correction-decision {
  display: grid;
  grid-template-columns: minmax(8rem, 1fr) auto auto;
  gap: 0.5rem;
  align-items: center;
}

.hr-period-actions > form {
  display: grid;
  grid-template-columns: minmax(14rem, 1fr) auto;
  gap: 0.75rem;
  align-items: center;
  max-width: 52rem;
  margin-top: 0.75rem;
}

.hr-period-actions .hr-reopen-form {
  grid-template-columns: minmax(12rem, 1fr) minmax(16rem, 1.3fr) auto;
  padding-top: 1rem;
  border-top: 1px solid #e0e5eb;
}

.hr-attendance-settings-grid {
  display: grid;
  grid-template-columns: minmax(19rem, 0.7fr) minmax(0, 1.5fr);
  gap: 1.5rem;
}

.hr-attendance-settings-page .hr-settings-form {
  display: block;
  margin: 0;
  padding-right: 1.5rem;
  border-right: 1px solid #d4dbe3;
}

.hr-settings-form-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.hr-settings-form-head h3 {
  margin: 0;
  font-size: 1rem;
}

.hr-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.9rem;
}

.hr-form-grid .is-wide {
  grid-column: 1 / -1;
}

.hr-attendance-settings-page .hr-settings-form > .btn {
  width: 100%;
  margin-top: 1rem;
}

.hr-assignment-form {
  display: grid;
  grid-template-columns: minmax(13rem, 1.4fr) minmax(13rem, 1.4fr) minmax(10rem, 0.8fr) minmax(9rem, 0.7fr);
  gap: 1rem;
  align-items: end;
}

.hr-assignment-form .is-wide {
  grid-column: 1 / -2;
}

.hr-attendance-import-form {
  display: grid;
  grid-template-columns: minmax(12rem, 0.5fr) minmax(0, 1.5fr) auto;
  gap: 1rem;
  align-items: end;
}

.hr-attendance-import-form .is-wide {
  grid-column: 2;
}

.hr-attendance-import-form textarea {
  min-height: 11rem;
  resize: vertical;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 0.82rem;
}

.hr-import-result {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.5rem;
  margin-top: 1rem;
  padding-block: 0.9rem;
  border-block: 1px solid #cdd8d0;
  color: #374151;
}

.hr-import-result p {
  flex-basis: 100%;
  margin: 0;
  color: #8a3d34;
  font-size: 0.875rem;
}

@media (max-width: 1199.98px) {
  .hr-attendance-filters {
    grid-template-columns: minmax(12rem, 1fr) minmax(9rem, 0.7fr) 7rem;
  }

  .hr-attendance-filters .btn {
    grid-column: 1 / -1;
    justify-self: start;
  }

  .hr-assignment-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hr-assignment-form .is-wide {
    grid-column: 1;
  }
}

@media (max-width: 991.98px) {
  .hr-attendance-settings-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .hr-attendance-settings-page .hr-settings-form {
    padding: 0 0 1.25rem;
    border-right: 0;
    border-bottom: 1px solid #d4dbe3;
  }

  .hr-attendance-import-form {
    grid-template-columns: minmax(0, 1fr);
  }

  .hr-attendance-import-form .is-wide {
    grid-column: auto;
  }
}

@media (max-width: 767.98px) {
  .hr-attendance-filters,
  .hr-attendance-correction-form,
  .hr-assignment-form,
  .hr-form-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .hr-attendance-filters .btn,
  .hr-attendance-correction-form .is-wide,
  .hr-assignment-form .is-wide,
  .hr-form-grid .is-wide {
    grid-column: auto;
  }

  .hr-attendance-filters .btn,
  .hr-attendance-correction-form .btn,
  .hr-assignment-form .btn,
  .hr-attendance-import-form .btn {
    width: 100%;
  }

  .hr-attendance-identity {
    align-items: flex-start;
    flex-direction: column;
  }

  .hr-clock-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hr-correction-queue article,
  .hr-correction-decision,
  .hr-period-actions > form,
  .hr-period-actions .hr-reopen-form {
    grid-template-columns: minmax(0, 1fr);
  }

  .hr-correction-decision .btn,
  .hr-period-actions .btn {
    width: 100%;
  }
}

/* HR workforce planning */
.hr-workforce-plan-page,
.hr-workforce-plan-page .admin-table-shell {
  min-width: 0;
  max-width: 100%;
}

.hr-workforce-plan-filter {
  grid-template-columns: 10rem minmax(12rem, 1fr) auto;
  margin-bottom: 1.25rem;
}

.hr-workforce-plan-filter > div,
.hr-workforce-plan-form > div,
.hr-workforce-plan-event-grid > div {
  min-width: 0;
}

.hr-workforce-plan-filter label,
.hr-workforce-plan-form label,
.hr-workforce-plan-events legend {
  display: block;
  margin-bottom: 0.35rem;
  color: #344154;
  font-size: 0.8125rem;
  font-weight: 700;
}

.hr-workforce-plan-page .form-control,
.hr-workforce-plan-page .form-select,
.hr-workforce-plan-page .btn {
  min-height: 44px;
}

.hr-workforce-plan-filter .admin-filter-actions,
.hr-workforce-plan-event-actions,
.hr-workforce-plan-submit {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
}

.hr-workforce-plan-create {
  margin-bottom: 1.5rem;
  border: 1px solid #d8dee6;
  border-radius: 6px;
  background: #fff;
}

.hr-workforce-plan-create > summary,
.hr-workforce-plan-event > summary {
  display: flex;
  min-height: 44px;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  color: #1f2938;
  cursor: pointer;
  list-style: none;
}

.hr-workforce-plan-create > summary {
  padding: 0.75rem 1rem;
}

.hr-workforce-plan-event > summary {
  padding: 0.65rem 0.75rem;
}

.hr-workforce-plan-create > summary::-webkit-details-marker,
.hr-workforce-plan-event > summary::-webkit-details-marker {
  display: none;
}

.hr-workforce-plan-create > summary span:first-child,
.hr-workforce-plan-event > summary span:first-child {
  display: grid;
  gap: 0.15rem;
}

.hr-workforce-plan-create > summary small,
.hr-workforce-plan-event > summary small,
.hr-workforce-plan-create .form-text {
  color: #5d6878;
}

.hr-workforce-plan-form {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  padding: 1rem;
  border-top: 1px solid #d8dee6;
}

.hr-workforce-plan-source,
.hr-workforce-plan-scenario {
  grid-column: span 2;
}

.hr-workforce-plan-notes,
.hr-workforce-plan-reason {
  grid-column: span 2;
}

.hr-workforce-plan-events {
  grid-column: 1 / -1;
  margin: 0;
  padding: 1rem 0 0;
  border: 0;
  border-top: 1px solid #d8dee6;
}

.hr-workforce-plan-events > legend {
  float: none;
  width: auto;
}

.hr-workforce-plan-event-actions {
  justify-content: space-between;
  margin-bottom: 0.75rem;
  color: #5d6878;
  font-size: 0.8125rem;
  font-weight: 700;
}

.hr-workforce-plan-events-empty {
  min-height: 7rem;
  border: 1px dashed #b8c1ce;
  border-radius: 6px;
}

.hr-workforce-plan-event {
  margin-top: 0.75rem;
  border: 1px solid #d8dee6;
  border-radius: 6px;
  background: #f8f9fb;
}

.hr-workforce-plan-event-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
  padding: 0.75rem;
  border-top: 1px solid #d8dee6;
  background: #fff;
}

.hr-workforce-plan-event-employee,
.hr-workforce-plan-event-notes {
  grid-column: span 2;
}

.hr-workforce-plan-event-remove {
  display: flex;
  grid-column: 1 / -1;
  justify-content: flex-end;
}

.hr-workforce-plan-submit {
  grid-column: 1 / -1;
  padding-top: 0.25rem;
}

.hr-workforce-plan-overview,
.hr-workforce-plan-months,
.hr-workforce-plan-event-log,
.hr-workforce-plan-people,
.hr-workforce-plan-history {
  min-width: 0;
  max-width: 100%;
  padding: 1.35rem 0;
  border-top: 1px solid #d8dee6;
}

.hr-workforce-plan-summary {
  margin-block: 1rem;
}

.hr-workforce-plan-page .admin-status-badge {
  display: inline-flex;
  min-height: 1.75rem;
  align-items: center;
  padding: 0.2rem 0.5rem;
  border: 1px solid #b8c1ce;
  border-radius: 4px;
  background: #f4f6f8;
  color: #435063;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.2;
}

.hr-workforce-plan-page .status-committed,
.hr-workforce-plan-page .status-ready {
  border-color: #91b99a;
  background: #eef7f0;
  color: #345f3a;
}

.hr-workforce-plan-page .status-preview,
.hr-workforce-plan-page .status-change,
.hr-workforce-plan-page .status-planned {
  border-color: #d7b170;
  background: #fff7e8;
  color: #7a4a0c;
}

.hr-workforce-plan-page .status-hire {
  border-color: #8aafd0;
  background: #eef6fc;
  color: #285d85;
}

.hr-workforce-plan-page .status-terminate,
.hr-workforce-plan-page .status-terminated {
  border-color: #d8a1a1;
  background: #fff1f1;
  color: #8f2525;
}

.hr-workforce-plan-delta {
  display: inline-flex;
  min-height: 1.75rem;
  align-items: center;
  justify-content: flex-end;
  padding: 0.15rem 0.4rem;
  border-radius: 4px;
  background: #f4f6f8;
  color: #435063;
  font-weight: 700;
}

.hr-workforce-plan-delta.is-positive {
  background: #eef7f0;
  color: #345f3a;
}

.hr-workforce-plan-delta.is-negative {
  background: #fff1f1;
  color: #8f2525;
}

.hr-workforce-plan-page .admin-table tr.is-selected {
  background: #eef6fc;
}

.hr-workforce-plan-page .admin-table tr.is-muted {
  background: #f4f6f8;
  color: #5d6878;
}

@media (max-width: 991.98px) {
  .hr-workforce-plan-filter {
    grid-template-columns: 10rem minmax(0, 1fr);
  }

  .hr-workforce-plan-filter .admin-filter-actions {
    grid-column: 1 / -1;
  }

  .hr-workforce-plan-form,
  .hr-workforce-plan-event-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .hr-workforce-plan-filter,
  .hr-workforce-plan-form,
  .hr-workforce-plan-event-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .hr-workforce-plan-filter .admin-filter-actions,
  .hr-workforce-plan-source,
  .hr-workforce-plan-scenario,
  .hr-workforce-plan-notes,
  .hr-workforce-plan-reason,
  .hr-workforce-plan-event-employee,
  .hr-workforce-plan-event-notes {
    grid-column: auto;
  }

  .hr-workforce-plan-filter .admin-filter-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hr-workforce-plan-filter .btn,
  .hr-workforce-plan-submit .btn,
  .hr-workforce-plan-event-remove .btn {
    width: 100%;
  }

  .hr-workforce-plan-event-remove,
  .hr-workforce-plan-submit {
    justify-content: stretch;
  }

  .hr-workforce-plan-months .admin-table,
  .hr-workforce-plan-event-log .admin-table,
  .hr-workforce-plan-people .admin-table,
  .hr-workforce-plan-history .admin-table {
    display: block;
    min-width: 0;
    width: 100%;
  }

  .hr-workforce-plan-months .admin-table thead,
  .hr-workforce-plan-event-log .admin-table thead,
  .hr-workforce-plan-people .admin-table thead,
  .hr-workforce-plan-history .admin-table thead {
    display: none;
  }

  .hr-workforce-plan-months .admin-table tbody,
  .hr-workforce-plan-months .admin-table tr,
  .hr-workforce-plan-months .admin-table td,
  .hr-workforce-plan-event-log .admin-table tbody,
  .hr-workforce-plan-event-log .admin-table tr,
  .hr-workforce-plan-event-log .admin-table td,
  .hr-workforce-plan-people .admin-table tbody,
  .hr-workforce-plan-people .admin-table tr,
  .hr-workforce-plan-people .admin-table td,
  .hr-workforce-plan-history .admin-table tbody,
  .hr-workforce-plan-history .admin-table tr,
  .hr-workforce-plan-history .admin-table td {
    display: block;
    width: 100%;
  }

  .hr-workforce-plan-months .admin-table tr,
  .hr-workforce-plan-event-log .admin-table tr,
  .hr-workforce-plan-people .admin-table tr,
  .hr-workforce-plan-history .admin-table tr {
    padding: 0.4rem 0;
    border-bottom: 1px solid #d8dee6;
  }

  .hr-workforce-plan-months .admin-table td,
  .hr-workforce-plan-event-log .admin-table td,
  .hr-workforce-plan-people .admin-table td,
  .hr-workforce-plan-history .admin-table td {
    display: grid;
    grid-template-columns: minmax(7rem, 38%) minmax(0, 1fr);
    gap: 0.75rem;
    padding: 0.55rem 0.75rem;
    border: 0;
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  .hr-workforce-plan-months .admin-table td::before,
  .hr-workforce-plan-event-log .admin-table td::before,
  .hr-workforce-plan-people .admin-table td::before,
  .hr-workforce-plan-history .admin-table td::before {
    content: attr(data-label);
    color: #5d6878;
    font-size: 0.75rem;
    font-weight: 700;
  }

  .hr-workforce-plan-page .admin-table-actions {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .hr-workforce-plan-page .admin-table-actions::before {
    display: none;
  }

  .hr-workforce-plan-page .admin-table-actions .btn {
    width: 100%;
  }
}

/* HR document vault: encrypted files, bulk preview and employee acknowledgement. */
.hr-document-summary {
  margin-bottom: 1.25rem;
}

.hr-document-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  margin-bottom: 1.5rem;
  border-block: 1px solid var(--admin-border);
}

.hr-document-action {
  min-width: 0;
  padding: 0 0 1rem;
}

.hr-document-action + .hr-document-action {
  padding: 0 0 1rem;
  border-top: 1px solid var(--admin-border);
}

.hr-document-action > summary {
  display: flex;
  min-height: 52px;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  color: var(--admin-text);
}

.hr-document-action > summary span {
  display: grid;
  gap: 0.1rem;
}

.hr-document-action > summary strong {
  font-size: 1rem;
}

.hr-document-action > summary small {
  color: var(--admin-muted);
  font-size: 0.82rem;
}

.hr-document-action-toggle {
  flex: 0 0 auto;
  min-width: 3.75rem;
  color: var(--admin-primary);
  font-size: 0.82rem;
  font-weight: 700;
  text-align: right;
}

.hr-document-action-toggle .when-open,
.hr-document-action[open] .hr-document-action-toggle .when-closed {
  display: none;
}

.hr-document-action[open] .hr-document-action-toggle .when-open {
  display: inline;
}

.hr-document-action[open] > summary {
  margin-bottom: 1rem;
  border-bottom: 1px solid var(--admin-border);
}

.hr-document-form-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.9rem;
}

.hr-document-form-grid > *,
.hr-document-import-form > * {
  min-width: 0;
}

.hr-document-form label,
.hr-document-import-form label {
  display: block;
  margin-bottom: 0.35rem;
  color: #374151;
  font-size: 0.875rem;
  font-weight: 600;
}

.hr-document-field-wide,
.hr-document-field-file {
  grid-column: span 2;
}

.hr-document-publish-check {
  display: flex !important;
  min-height: 44px;
  align-items: center;
  gap: 0.55rem;
  margin: 0;
}

.hr-document-publish-check .form-check-input {
  flex: 0 0 auto;
  margin: 0;
}

.hr-document-form-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.75rem;
  margin-top: 1rem;
}

.hr-document-form-actions .btn {
  min-height: 44px;
}

.hr-document-import-form {
  display: grid;
  grid-template-columns: minmax(12rem, 0.8fr) minmax(12rem, 0.8fr);
  gap: 0.9rem;
}

.hr-document-import-files,
.hr-document-import-form .hr-document-form-actions {
  grid-column: 1 / -1;
}

.hr-document-preview {
  margin-bottom: 1.5rem;
  padding-block: 1rem;
  border-block: 1px solid var(--admin-border);
  background: color-mix(in srgb, var(--admin-primary-soft) 35%, transparent);
}

.hr-document-preview-status {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 0.9rem;
}

.hr-document-preview-status span {
  padding: 0.35rem 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.35rem;
  background: var(--admin-surface);
  color: var(--admin-muted);
  font-size: 0.82rem;
  font-weight: 700;
}

.hr-document-preview-status .is-ready {
  border-color: #99c5b9;
  color: #0f5f57;
}

.hr-document-preview-status .is-error {
  border-color: #e5a9b6;
  color: #9f1239;
}

.hr-document-preview-actions {
  display: flex;
  min-height: 52px;
  align-items: center;
  justify-content: flex-end;
  gap: 1rem;
  padding-top: 0.9rem;
}

.hr-document-preview-actions p {
  margin: 0 auto 0 0;
  color: var(--admin-danger);
  font-size: 0.88rem;
  font-weight: 600;
}

.hr-documents-page .admin-status-badge.status-draft,
.hr-documents-page .admin-status-badge.status-ready,
.hr-documents-page .admin-status-badge.status-duplicate {
  border-color: #d6b777;
  background: #fff8e7;
  color: #7c4a03;
}

.hr-documents-page .admin-status-badge.status-published,
.hr-documents-page .admin-status-badge.status-committed {
  border-color: #9bc8bd;
  background: #edf9f6;
  color: #0f5f57;
}

.hr-documents-page .admin-status-badge.status-archived,
.hr-documents-page .admin-status-badge.status-skippedduplicate {
  border-color: var(--admin-border);
  background: #f1f4f8;
  color: #4b5563;
}

.hr-documents-page .admin-status-badge.status-error {
  border-color: #e6acb8;
  background: #fff1f3;
  color: #9f1239;
}

.hr-portal-section-count {
  min-width: 2rem;
  color: var(--admin-muted);
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  text-align: right;
}

.hr-portal-documents {
  scroll-margin-top: 9rem;
}

.hr-documents-page .admin-filter-grid {
  grid-template-columns:
    minmax(14rem, 2fr)
    minmax(10rem, 1fr)
    minmax(7rem, 0.65fr)
    minmax(10rem, 1fr)
    minmax(9rem, 0.8fr);
}

.hr-documents-page .admin-filter-grid > * {
  width: 100%;
}

@media (max-width: 767.98px) {
  .hr-document-form-grid,
  .hr-document-import-form {
    grid-template-columns: minmax(0, 1fr);
  }

  .hr-document-field-wide,
  .hr-document-field-file,
  .hr-document-import-files,
  .hr-document-import-form .hr-document-form-actions {
    grid-column: auto;
  }

  .hr-document-form-actions,
  .hr-document-preview-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .hr-document-form-actions .btn,
  .hr-document-preview-actions .btn {
    width: 100%;
  }

  .hr-document-preview-actions p {
    margin-right: 0;
  }

  .hr-documents-page .admin-filter-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Bootstrap 5.1 compatibility for the semantic badge utilities introduced in 5.2. */
.text-bg-primary {
  color: #fff !important;
  background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-secondary {
  color: #fff !important;
  background-color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-success {
  color: #fff !important;
  background-color: rgba(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-info {
  color: #000 !important;
  background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-warning {
  color: #000 !important;
  background-color: rgba(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-danger {
  color: #fff !important;
  background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-light {
  color: #000 !important;
  background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-dark {
  color: #fff !important;
  background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important;
}

/* Quality nonconformity and CAPA workspace */
.inventory-quality-nc-page .admin-form-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .85rem 1rem;
  align-items: end;
}

.inventory-quality-nc-page .admin-form-span-2 {
  grid-column: span 2;
}

.inventory-quality-create {
  margin-bottom: 1rem;
}

.inventory-quality-create > summary,
.inventory-quality-workflow > summary,
.inventory-quality-history > summary {
  display: flex;
  min-height: 44px;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  cursor: pointer;
  color: var(--admin-text);
}

.inventory-quality-create > summary span {
  color: var(--admin-muted);
  font-size: .9rem;
}

.inventory-quality-nc-record {
  padding: 1.15rem 0;
  border-top: 1px solid var(--admin-border);
  scroll-margin-top: 10rem;
}

.inventory-quality-nc-record.is-focused {
  padding-inline: .85rem;
  background: var(--admin-primary-soft);
  outline: 2px solid color-mix(in oklab, var(--admin-primary) 45%, transparent);
  outline-offset: -2px;
}

.inventory-quality-nc-head {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(22rem, 1fr);
  gap: 1.25rem;
}

.inventory-quality-nc-head h3 {
  margin: 0;
  font-size: 1.15rem;
  text-wrap: balance;
}

.inventory-quality-nc-head p {
  max-width: 72ch;
  margin: .4rem 0 0;
  color: var(--admin-muted);
  overflow-wrap: anywhere;
}

.inventory-quality-nc-head dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .65rem 1rem;
  margin: 0;
}

.inventory-quality-nc-head dt {
  color: var(--admin-muted);
  font-size: .78rem;
}

.inventory-quality-nc-head dd {
  margin: .1rem 0 0;
  font-weight: 650;
  overflow-wrap: anywhere;
}

.inventory-quality-workflow,
.inventory-quality-history {
  margin-top: .85rem;
  padding-top: .35rem;
  border-top: 1px solid var(--admin-border);
}

.inventory-quality-actions {
  margin-top: 1rem;
  padding-top: .8rem;
  border-top: 1px solid var(--admin-border);
}

.inventory-quality-actions h4 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 0 .6rem;
  font-size: 1rem;
}

.inventory-quality-action-row {
  display: grid;
  grid-template-columns: minmax(14rem, 1.7fr) minmax(8rem, .7fr) minmax(12rem, 1fr) minmax(9rem, .7fr) minmax(14rem, 1.2fr) auto;
  gap: .7rem;
  align-items: end;
  padding: .75rem 0;
  border-top: 1px solid color-mix(in oklab, var(--admin-border) 75%, transparent);
}

.inventory-quality-action-row p {
  margin: .25rem 0 0;
  color: var(--admin-muted);
  overflow-wrap: anywhere;
}

.inventory-quality-action-row > div:first-child > span {
  margin-left: .5rem;
}

.inventory-quality-history ol {
  margin: .5rem 0 0;
  padding-left: 1.25rem;
}

.inventory-quality-history li {
  padding: .35rem 0;
}

.inventory-quality-history time,
.inventory-quality-history li span {
  margin-right: .65rem;
  color: var(--admin-muted);
  font-size: .85rem;
}

.inventory-quality-history li strong {
  margin-right: .65rem;
}

.inventory-quality-history p {
  margin: .2rem 0 0;
}

@media (max-width: 1199.98px) {
  .inventory-quality-action-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .inventory-quality-action-row > div:first-child,
  .inventory-quality-action-row > button {
    grid-column: 1 / -1;
  }
}

@media (max-width: 767.98px) {
  .inventory-quality-nc-page .admin-form-grid,
  .inventory-quality-nc-head,
  .inventory-quality-action-row {
    grid-template-columns: 1fr;
  }

  .inventory-quality-nc-page .admin-form-span-2,
  .inventory-quality-action-row > div:first-child,
  .inventory-quality-action-row > button {
    grid-column: auto;
  }

  .inventory-quality-nc-head dl {
    grid-template-columns: 1fr;
  }

  .inventory-quality-create > summary {
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
  }

  .inventory-quality-action-row .btn,
  .inventory-quality-nc-page form .btn[type="submit"] {
    width: 100%;
    min-height: 44px;
  }
}

.hr-contract-overview {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-block: 1px solid var(--admin-border);
  margin-bottom: 1.25rem;
}

.hr-contract-overview > div {
  display: grid;
  gap: 0.2rem;
  padding: 0.9rem 1rem;
  border-right: 1px solid var(--admin-border);
}

.hr-contract-overview > div:last-child {
  border-right: 0;
}

.hr-contract-overview span,
.hr-contract-details dt {
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 600;
  text-transform: uppercase;
}

.hr-contract-overview small,
.hr-contract-meta {
  color: var(--admin-muted);
}

.hr-contract-layout {
  display: grid;
  grid-template-columns: minmax(18rem, 0.8fr) minmax(28rem, 1.4fr);
  gap: 1.5rem;
  align-items: start;
}

.hr-contract-layout.is-readonly {
  grid-template-columns: minmax(0, 1fr);
}

.hr-contract-editor {
  border: 1px solid var(--admin-border);
  border-radius: 6px;
  padding: 1rem;
}

.hr-contract-timeline {
  list-style: none;
  margin: 0;
  padding: 0 0 0 1.25rem;
  border-left: 2px solid var(--admin-border);
}

.hr-contract-timeline > li {
  position: relative;
  padding: 0 0 1.25rem 1rem;
}

.hr-contract-timeline > li::before {
  position: absolute;
  top: 0.35rem;
  left: -1.66rem;
  width: 0.72rem;
  height: 0.72rem;
  border: 2px solid var(--admin-surface);
  border-radius: 50%;
  background: var(--admin-muted);
  box-shadow: 0 0 0 1px var(--admin-border);
  content: "";
}

.hr-contract-timeline > li.is-current::before {
  background: var(--bs-success);
}

.hr-contract-timeline-head {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.65rem;
}

.hr-contract-timeline-head > div {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

.hr-contract-details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem 1rem;
  margin: 0 0 0.65rem;
}

.hr-contract-details div {
  min-width: 0;
}

.hr-contract-details dt,
.hr-contract-details dd {
  margin: 0;
}

.hr-contract-reason {
  margin: 0 0 0.5rem;
}

.hr-contract-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  margin-bottom: 0.65rem;
  font-size: 0.82rem;
}

@media (max-width: 991.98px) {
  .hr-contract-layout {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 575.98px) {
  .hr-contract-overview,
  .hr-contract-details {
    grid-template-columns: minmax(0, 1fr);
  }

  .hr-contract-overview > div {
    border-right: 0;
    border-bottom: 1px solid var(--admin-border);
  }

  .hr-contract-overview > div:last-child {
    border-bottom: 0;
  }
}

.inventory-expiration-table {
  min-width: 76rem;
}

.inventory-expiration-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(8.5rem, 1fr)) auto;
  gap: 0.5rem;
  align-items: end;
  min-width: 24rem;
}

.inventory-expiration-form label {
  display: block;
  margin-bottom: 0.2rem;
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 650;
}

@media (max-width: 767.98px) {
  .inventory-expiration-table-shell {
    overflow-x: clip;
  }

  .inventory-expiration-table {
    min-width: 0;
  }

  .inventory-expiration-table thead {
    display: none;
  }

  .inventory-expiration-table,
  .inventory-expiration-table tbody,
  .inventory-expiration-table tr,
  .inventory-expiration-table td {
    display: block;
    width: 100%;
  }

  .inventory-expiration-table tr {
    padding: 0.75rem;
    border-bottom: 1px solid var(--admin-border);
  }

  .inventory-expiration-table tr:last-child {
    border-bottom: 0;
  }

  .inventory-expiration-table td {
    display: grid;
    grid-template-columns: minmax(7rem, 0.4fr) minmax(0, 1fr);
    gap: 0.5rem;
    padding: 0.4rem 0;
    border: 0;
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  .inventory-expiration-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 650;
  }

  .inventory-expiration-table td[data-label="Aggiorna date"] {
    grid-template-columns: minmax(0, 1fr);
  }

  .inventory-expiration-form {
    grid-template-columns: minmax(0, 1fr);
    min-width: 0;
  }

  .inventory-expiration-form .btn {
    width: 100%;
    min-height: 44px;
  }
}


/* Navigation final policy 13/07/2026:
   full-width horizontal workbar on desktop/laptop, compact side drawer only below 992px. */
@media (min-width: 992px) {
  .app-header,
  .app-navbar {
    min-height: 118px !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  .app-navbar {
    padding: 0.58rem clamp(1rem, 1.8vw, 2rem) 0.64rem !important;
  }

  .app-nav-shell {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 96px !important;
    gap: 0.56rem 0.9rem !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
    overflow: visible !important;
  }

  .app-brand {
    min-height: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    color: var(--admin-text) !important;
    font-size: 1.24rem !important;
    font-weight: 760 !important;
    line-height: 1.1 !important;
    letter-spacing: 0 !important;
  }

  .app-env-badge {
    min-height: 1.9rem !important;
    padding: 0.24rem 0.68rem !important;
  }

  .app-compact-actions,
  .navbar-expand-admin .navbar-toggler {
    display: none !important;
  }

  .app-navbar .navbar-collapse,
  .app-navbar .navbar-collapse.collapse:not(.show),
  .app-navbar .navbar-collapse.show {
    order: 3 !important;
    position: static !important;
    inset: auto !important;
    flex: 0 0 100% !important;
    display: flex !important;
    align-items: stretch !important;
    justify-content: space-between !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 66px !important;
    height: auto !important;
    max-height: none !important;
    gap: 0.72rem !important;
    margin: 0 !important;
    padding: 0.42rem 0 0 !important;
    border: 0 !important;
    border-top: 1px solid color-mix(in oklab, var(--admin-border) 78%, transparent) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  .navbar-expand-admin .navbar-nav,
  .app-primary-nav,
  .app-user-actions {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
  }

  .app-primary-nav {
    flex: 1 1 auto !important;
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
    gap: clamp(0.28rem, 0.56vw, 0.72rem) !important;
    min-width: 0 !important;
  }

  .app-primary-nav > .nav-item {
    flex: 1 1 0 !important;
    min-width: 0 !important;
  }

  .app-primary-nav > .nav-item > .nav-link {
    width: 100% !important;
    min-height: 62px !important;
    justify-content: center !important;
    padding: 0.68rem clamp(0.44rem, 0.7vw, 0.9rem) !important;
    border-radius: 0.58rem !important;
    color: var(--admin-text) !important;
    font-size: 1.04rem !important;
    font-weight: 700 !important;
    line-height: 1.14 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    white-space: normal !important;
  }

  .app-primary-nav .nav-link.active,
  .app-primary-nav .nav-link[data-current-section="true"] {
    color: var(--admin-primary-dark) !important;
    background: var(--admin-primary-soft) !important;
  }

  .app-user-actions {
    order: 2 !important;
    flex: 0 0 auto !important;
    align-self: center !important;
    gap: 0.54rem !important;
    margin-left: auto !important;
    padding: 0 !important;
    border: 0 !important;
    position: static !important;
  }

  .app-user-actions .app-nav-search-button,
  .app-user-actions .btn-outline-danger {
    width: auto !important;
    min-height: 40px !important;
    justify-content: center !important;
    padding-right: 0.76rem !important;
    padding-left: 0.76rem !important;
  }

  .app-user-actions .navbar-text {
    display: inline-flex !important;
    max-width: min(24rem, 24vw) !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .navbar-nav .dropdown-menu,
  .navbar-nav .dropdown-menu.show,
  .navbar-nav .dropdown-menu[data-bs-popper] {
    position: absolute !important;
    width: max-content !important;
    min-width: 13rem !important;
    max-width: min(28rem, calc(100vw - 2rem)) !important;
    max-height: min(28rem, calc(100dvh - 8.5rem)) !important;
    margin-top: 0.35rem !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    border-radius: 0.55rem !important;
    box-shadow: 0 18px 36px -28px rgba(15, 23, 42, 0.65) !important;
  }

  .navbar-nav .dropdown-menu.app-nav-mega.show,
  .navbar-nav .dropdown-menu-end.app-nav-mega.show[data-bs-popper],
  .navbar-nav .dropdown-menu.app-nav-mega.show[data-bs-popper] {
    position: fixed !important;
    inset: 7.25rem clamp(1rem, 2vw, 4rem) auto auto !important;
    width: min(52rem, calc(100vw - 2rem)) !important;
    max-height: min(20rem, calc(100dvh - 8rem)) !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.15rem 0.5rem !important;
    transform: none !important;
  }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  .app-header,
  .app-navbar {
    min-height: 112px !important;
  }

  .app-nav-shell {
    min-height: 90px !important;
    gap: 0.42rem 0.62rem !important;
  }

  .app-navbar .navbar-collapse,
  .app-navbar .navbar-collapse.collapse:not(.show),
  .app-navbar .navbar-collapse.show {
    min-height: 62px !important;
    gap: 0.42rem !important;
  }

  .app-primary-nav {
    gap: 0.22rem !important;
  }

  .app-primary-nav > .nav-item > .nav-link {
    min-height: 58px !important;
    padding-right: 0.34rem !important;
    padding-left: 0.34rem !important;
    font-size: 1rem !important;
    line-height: 1.12 !important;
  }

  .app-user-actions .navbar-text,
  .app-nav-search-shortcut {
    display: none !important;
  }
}

/* Effective final navigation sizing: desktop is a full-width workbar, narrow screens use a compressed drawer. */
@media (min-width: 992px) {
  .app-header,
  .app-navbar {
    min-height: 128px !important;
  }

  .app-navbar {
    padding: 0.72rem clamp(1.15rem, 2vw, 2.4rem) 0.76rem !important;
  }

  .app-nav-shell {
    min-height: 104px !important;
    gap: 0.72rem 1rem !important;
  }

  .app-brand {
    min-height: 38px !important;
    font-size: 1.3rem !important;
    font-weight: 760 !important;
  }

  .app-navbar .navbar-collapse,
  .app-navbar .navbar-collapse.collapse:not(.show),
  .app-navbar .navbar-collapse.show {
    min-height: 72px !important;
    gap: clamp(0.72rem, 1.15vw, 1.3rem) !important;
    padding-top: 0.48rem !important;
  }

  .app-primary-nav {
    gap: clamp(0.48rem, 0.86vw, 1rem) !important;
  }

  .app-primary-nav > .nav-item > .nav-link {
    min-height: 68px !important;
    padding: 0.78rem clamp(0.66rem, 0.95vw, 1.08rem) !important;
    font-size: 1.08rem !important;
    font-weight: 720 !important;
  }

  .app-user-actions .app-nav-search-button,
  .app-user-actions .btn-outline-danger {
    min-height: 44px !important;
  }

  .navbar-nav .dropdown-menu.app-nav-mega.show,
  .navbar-nav .dropdown-menu-end.app-nav-mega.show[data-bs-popper],
  .navbar-nav .dropdown-menu.app-nav-mega.show[data-bs-popper] {
    position: fixed !important;
    inset: 8rem clamp(1rem, 2vw, 4rem) auto auto !important;
    top: 8rem !important;
    right: clamp(1rem, 2vw, 4rem) !important;
    left: auto !important;
    width: min(54rem, calc(100vw - 2rem)) !important;
    max-height: min(22rem, calc(100dvh - 8.75rem)) !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    transform: none !important;
  }
}

@media (max-width: 991.98px) {
  .app-navbar .navbar-collapse,
  .app-navbar .navbar-collapse.show {
    max-height: min(33rem, calc(100dvh - 6.5rem)) !important;
  }
}

/* Vertical density tuning for the horizontal workbar: keep it readable without turning
   the header into a tall band. */
@media (min-width: 992px) {
  .app-header,
  .app-navbar {
    min-height: 112px !important;
  }

  .app-navbar {
    padding-top: 0.32rem !important;
    padding-bottom: 0.36rem !important;
  }

  .app-nav-shell {
    min-height: 88px !important;
    gap: 0.28rem 0.85rem !important;
  }

  .app-brand {
    min-height: 30px !important;
  }

  .app-navbar .navbar-collapse,
  .app-navbar .navbar-collapse.collapse:not(.show),
  .app-navbar .navbar-collapse.show {
    min-height: 64px !important;
    padding-top: 0.22rem !important;
  }

  .app-primary-nav > .nav-item > .nav-link {
    min-height: 60px !important;
  }

  .navbar-nav .dropdown-menu.app-nav-mega.show,
  .navbar-nav .dropdown-menu-end.app-nav-mega.show[data-bs-popper],
  .navbar-nav .dropdown-menu.app-nav-mega.show[data-bs-popper] {
    max-height: min(18rem, calc(100dvh - 8rem)) !important;
  }
}

@media (max-width: 991.98px) {
  .app-header,
  .app-navbar {
    min-height: 68px !important;
    height: 68px !important;
    max-height: 68px !important;
    overflow: visible !important;
  }

  .app-navbar {
    padding: 0.5rem 0.75rem !important;
  }

  .app-nav-shell {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    gap: 0.5rem !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .app-compact-actions {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.45rem !important;
    margin-left: auto !important;
  }

  .navbar-expand-admin .navbar-toggler {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.35rem !important;
    min-width: 2.75rem !important;
    min-height: 2.5rem !important;
  }

  .app-navbar .navbar-collapse,
  .app-navbar .navbar-collapse.show {
    position: absolute !important;
    top: calc(100% + 0.45rem) !important;
    right: 0.75rem !important;
    left: auto !important;
    z-index: 1036 !important;
    display: block !important;
    width: min(21rem, calc(100vw - 1.25rem)) !important;
    max-width: min(21rem, calc(100vw - 1.25rem)) !important;
    max-height: min(34rem, calc(100dvh - 6rem)) !important;
    padding: 0.55rem !important;
    border: 1px solid var(--admin-border) !important;
    border-radius: var(--admin-radius) !important;
    background: var(--admin-surface) !important;
    box-shadow: 0 18px 36px -28px rgba(15, 23, 42, 0.65) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  .app-navbar .navbar-collapse.collapse:not(.show) {
    display: none !important;
  }

  .navbar-expand-admin .navbar-nav,
  .app-primary-nav,
  .app-user-actions {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .navbar-nav .nav-link {
    min-height: 48px !important;
    width: 100% !important;
    justify-content: space-between !important;
    padding: 0.52rem 0.7rem !important;
    font-size: 1rem !important;
    white-space: normal !important;
  }

  .app-user-actions {
    gap: 0.42rem !important;
    margin-top: 0.45rem !important;
    padding-top: 0.52rem !important;
    border-top: 1px solid var(--admin-border) !important;
  }

  .app-user-actions .app-nav-search-button,
  .app-user-actions .btn-outline-danger {
    width: 100% !important;
    min-height: 42px !important;
    justify-content: space-between !important;
  }
}

/* Final navigation sizing: readable full-width desktop workbar after legacy overrides. */
@media (min-width: 1200px) {
  .app-nav-shell {
    flex-wrap: wrap !important;
    max-width: none !important;
    width: 100% !important;
    row-gap: 0.5rem !important;
  }

  .app-navbar .navbar-collapse,
  .app-navbar .navbar-collapse.collapse:not(.show),
  .app-navbar .navbar-collapse.show {
    flex: 0 0 100% !important;
    justify-content: center !important;
    padding-top: 0.5rem !important;
    width: 100% !important;
  }

  .app-primary-nav {
    justify-content: space-evenly !important;
  }

  .navbar-nav .nav-link {
    min-height: 58px !important;
    font-size: 1.08rem !important;
  }

  .app-user-actions {
    position: absolute !important;
    top: 0.34rem !important;
    right: clamp(1rem, 2.6vw, 3rem) !important;
    gap: 0.58rem !important;
    padding: 0 !important;
    border: 0 !important;
  }
}

@media (min-width: 1200px) {
  .app-navbar {
    min-height: 116px !important;
  }

  .navbar-nav .nav-link {
    min-height: 60px !important;
    padding-right: clamp(0.8rem, 1.15vw, 1.48rem) !important;
    padding-left: clamp(0.8rem, 1.15vw, 1.48rem) !important;
    font-size: 1.1rem !important;
  }

  .app-primary-nav {
    justify-content: space-evenly !important;
  }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  .app-navbar {
    min-height: 98px !important;
    padding-top: 0.38rem !important;
    padding-bottom: 0.34rem !important;
  }

  .app-nav-shell {
    row-gap: 0.28rem !important;
  }

  .app-navbar .navbar-collapse,
  .app-navbar .navbar-collapse.collapse:not(.show),
  .app-navbar .navbar-collapse.show {
    padding-top: 0.3rem !important;
  }
}

* {
  box-sizing: border-box;
}

html {
  position: relative;
  min-height: 100%;
  font-size: 14px;
  overflow-x: hidden;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

body {
  margin: 0 0 60px;
  color: var(--admin-text);
  background: var(--admin-bg);
  overflow-x: clip;
}

.app-header {
  position: sticky;
  top: 0;
  z-index: 1035;
  background: color-mix(in oklab, var(--admin-bg) 18%, white);
}

.app-navbar {
  position: relative;
  background: var(--admin-surface);
  padding-top: 0.38rem;
  padding-bottom: 0.38rem;
  border-bottom: 1px solid var(--admin-border);
  box-shadow: 0 10px 24px -22px rgba(15, 23, 42, 0.45);
}

.app-navbar::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 2px;
  background: var(--admin-primary);
  opacity: 0;
  transform: scaleX(0);
  transform-origin: left center;
  transition: opacity 160ms ease-out, transform 220ms ease-out;
}

.app-header.app-nav-loading .app-navbar::after {
  opacity: 1;
  transform: scaleX(1);
}

.app-nav-loading-status {
  position: absolute;
  right: 1rem;
  bottom: -2.2rem;
  z-index: 1037;
  max-width: min(18rem, calc(100vw - 2rem));
  padding: 0.32rem 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  color: var(--admin-text);
  background: var(--admin-surface);
  box-shadow: 0 12px 24px -20px rgba(15, 23, 42, 0.55);
  font-size: 0.8rem;
  font-weight: 650;
  line-height: 1.2;
  pointer-events: none;
}

.app-nav-loading-status[hidden] {
  display: none;
}

@media (prefers-reduced-motion: reduce) {
  .app-navbar::after {
    transition: opacity 1ms linear;
    transform: none;
  }
}

.app-nav-shell {
  max-width: 1280px;
  position: relative;
  min-width: 0;
}

.app-brand {
  color: #111827;
  font-weight: 650;
  letter-spacing: 0.01em;
}

.app-env-badge {
  display: inline-flex;
  align-items: center;
  min-height: 1.75rem;
  max-width: 8.5rem;
  padding: 0.18rem 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  font-size: 0.76rem;
  font-weight: 700;
  line-height: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-env-badge-prod {
  color: #14532d;
  border-color: #86efac;
  background: #dcfce7;
}

.app-env-badge-demo,
.app-env-badge-test {
  color: #7c2d12;
  border-color: #fdba74;
  background: #ffedd5;
}

.app-env-badge-dev {
  color: var(--admin-primary);
  border-color: var(--admin-border);
  background: var(--admin-primary-soft);
}

.app-primary-nav {
  align-items: stretch;
  gap: 0.125rem;
}

.app-user-actions .navbar-text {
  font-size: 0.875rem;
  max-width: 22rem;
  overflow: hidden;
  text-overflow: ellipsis;
}

.app-nav-search-button {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  white-space: nowrap;
}

.app-nav-search-shortcut {
  padding: 0.05rem 0.35rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 18%, var(--admin-border));
  border-radius: 0.35rem;
  color: var(--admin-muted);
  font-size: 0.72rem;
  font-weight: 600;
}

.app-command-modal .modal-dialog {
  max-width: min(38rem, calc(100vw - 1.5rem));
}

.app-command-modal .modal-content {
  border: 1px solid var(--admin-border);
  border-radius: 0.75rem;
  box-shadow: 0 20px 44px -28px rgba(15, 23, 42, 0.65);
}

.app-command-results {
  display: grid;
  gap: 0.35rem;
  margin-top: 0.75rem;
  max-height: min(24rem, 54dvh);
  overflow-y: auto;
}

.app-command-suggestions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: 0.65rem;
}

.app-command-suggestion {
  min-height: 34px;
  padding: 0.24rem 0.58rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-text);
  background: color-mix(in oklab, var(--admin-bg) 58%, white);
  font-size: 0.82rem;
  font-weight: 650;
}

.app-command-suggestion:hover,
.app-command-suggestion:focus {
  border-color: color-mix(in oklab, var(--admin-primary) 34%, var(--admin-border));
  color: var(--admin-primary-dark);
  background: var(--admin-primary-soft);
}

.app-command-summary {
  min-height: 1.35rem;
  margin-top: 0.65rem;
  color: var(--admin-muted);
  font-size: 0.84rem;
  font-weight: 600;
}

.app-command-result {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.35rem 0.75rem;
  min-height: 44px;
  padding: 0.55rem 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  color: var(--admin-text);
  background: var(--admin-surface);
  text-decoration: none;
}

.app-command-result:hover,
.app-command-result:focus,
.app-command-result.is-active {
  border-color: color-mix(in oklab, var(--admin-primary) 32%, var(--admin-border));
  color: var(--admin-primary-dark);
  background: var(--admin-primary-soft);
  text-decoration: none;
}

.app-command-result strong,
.app-command-result span {
  min-width: 0;
}

.app-command-result span {
  color: var(--admin-muted);
  font-size: 0.8rem;
}

.app-command-empty {
  padding: 0.85rem;
  border: 1px dashed var(--admin-border);
  border-radius: 0.5rem;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 58%, white);
}

.document-delete-page {
  display: grid;
  gap: 0.9rem;
}

.document-delete-panel {
  display: grid;
  gap: 0.9rem;
  padding: 1rem;
  border: 1px solid color-mix(in oklab, var(--admin-danger) 30%, var(--admin-border));
  border-radius: var(--admin-radius);
  background: color-mix(in oklab, var(--admin-danger) 4%, var(--admin-surface));
}

.document-delete-warning {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.document-delete-warning h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1.05rem;
  font-weight: 700;
}

.document-delete-warning p {
  max-width: 72ch;
  margin: 0.2rem 0 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

.document-delete-warning .badge {
  flex: 0 0 auto;
  white-space: normal;
  text-align: left;
}

.document-delete-definition-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
  gap: 0.55rem;
  margin: 0;
}

.document-delete-definition-grid div {
  min-width: 0;
  padding: 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: var(--admin-surface);
}

.document-delete-definition-grid dt {
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.document-delete-definition-grid dd {
  margin: 0.2rem 0 0;
  color: var(--admin-text);
  font-weight: 650;
  overflow-wrap: anywhere;
}

.document-delete-impact {
  display: grid;
  gap: 0.2rem;
  padding: 0.75rem;
  border: 1px solid color-mix(in oklab, var(--admin-warning) 30%, var(--admin-border));
  border-radius: 0.5rem;
  color: #78350f;
  background: #fffbeb;
}

.document-delete-impact strong {
  color: #78350f;
}

.document-delete-impact span {
  color: #78350f;
  font-size: 0.9rem;
  line-height: 1.4;
}

.document-delete-form {
  display: grid;
  gap: 0.75rem;
}

.document-delete-check {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  min-width: 0;
  padding: 0.75rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: var(--admin-surface);
  color: var(--admin-text);
  font-weight: 650;
  line-height: 1.35;
}

.document-delete-check .form-check-input {
  flex: 0 0 auto;
  margin-top: 0.15rem;
}

.document-delete-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.journal-entry-delete-table-shell .admin-table {
  min-width: 0;
}

.app-content-shell {
  max-width: 1280px;
}

.app-main {
  padding-top: 0.5rem;
  padding-bottom: 0.75rem;
}

.app-footer {
  background: var(--admin-surface);
}

.btn:focus,
.btn:active:focus,
.btn-link.nav-link:focus,
.form-control:focus,
.form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.2rem var(--admin-focus);
}

.skip-link {
  position: absolute;
  left: 0.75rem;
  top: 0.5rem;
  z-index: 1040;
  padding: 0.5rem 0.75rem;
  border-radius: 0.375rem;
  color: #fff;
  background: var(--admin-text);
  text-decoration: none;
  transform: translateY(calc(-100% - 1rem));
}

.skip-link:focus {
  outline: 2px solid #fff;
  transform: translateY(0);
}

.navbar-nav .nav-link {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 0.125rem;
  padding-right: 0.55rem;
  padding-left: 0.55rem;
  font-size: 0.92rem;
  white-space: nowrap;
}

.navbar-nav .dropdown-menu {
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  box-shadow: 0 18px 36px -30px rgba(15, 23, 42, 0.62);
  max-height: min(16rem, 28dvh, calc(100dvh - 5.75rem));
  overflow-y: auto;
}

.dropdown-menu .dropdown-item {
  min-height: 38px;
  display: flex;
  align-items: center;
  padding-top: 0.34rem;
  padding-bottom: 0.34rem;
  white-space: normal;
}

.navbar-nav .dropdown-menu.app-nav-mega.show {
  display: grid;
  grid-template-columns: repeat(2, minmax(8rem, 1fr));
  width: min(22rem, calc(100vw - 2rem));
  max-height: min(14rem, 32dvh, calc(100dvh - 5.75rem));
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}

.app-nav-mega .dropdown-item {
  min-height: 24px;
  padding-top: 0.14rem;
  padding-bottom: 0.14rem;
  font-size: 0.84rem;
}

.app-nav-mega .dropdown-divider {
  margin: 0.3rem 0;
}

.navbar-nav .nav-link.text-dark,
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus {
  color: var(--admin-text) !important;
}

.app-primary-nav .nav-link.active,
.app-primary-nav .nav-link[data-current-section="true"] {
  color: var(--admin-primary-dark) !important;
  background: var(--admin-primary-soft);
  border-radius: 0.45rem;
  font-weight: 650;
}

.app-primary-nav .dropdown-item.active,
.app-primary-nav .dropdown-item:active {
  color: var(--admin-primary-dark);
  background: var(--admin-primary-soft);
  font-weight: 600;
}

.app-primary-nav .dropdown-toggle[data-current-section="true"]::after {
  color: var(--admin-primary-dark);
}

.navbar-expand-admin {
  flex-wrap: wrap;
}

.navbar-expand-admin .navbar-toggler {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  min-height: 2.5rem;
  padding: 0.35rem;
  border-color: var(--admin-border);
  border-radius: 0.5rem;
  color: var(--admin-text);
  background: var(--admin-surface);
}

.app-navbar .navbar-toggler-icon {
  width: 1.1rem;
  height: 1.1rem;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2817, 24, 39, 0.88%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2.4' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.app-nav-search-compact {
  display: inline-flex;
}

.app-compact-actions {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-left: auto;
}

@media (min-width: 0) {
  .app-nav-shell {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.5rem;
  }

  .app-brand,
  .app-env-badge,
  .app-compact-actions {
    flex: 0 0 auto;
  }

  .navbar-expand-admin .navbar-nav {
    flex-direction: column;
  }

  .app-navbar .navbar-collapse.collapse:not(.show) {
    display: none !important;
    padding: 0;
    border: 0;
    box-shadow: none;
  }

  .app-navbar .navbar-collapse {
    position: absolute;
    top: calc(100% + 0.35rem);
    right: 0.75rem;
    left: auto;
    z-index: 1036;
    width: min(224px, calc(100vw - 1rem));
    max-width: calc(100vw - 1.5rem);
    max-height: min(8.5rem, 18dvh, calc(100dvh - 5.75rem));
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    padding: 0.35rem;
    border: 1px solid var(--admin-border);
    border-radius: var(--admin-radius);
    background: var(--admin-surface);
    box-shadow: 0 18px 36px -28px rgba(15, 23, 42, 0.65);
  }

  .navbar-nav .nav-link {
    min-height: 34px;
    width: 100%;
    justify-content: space-between;
    padding-top: 0.24rem;
    padding-bottom: 0.24rem;
    font-size: 0.86rem;
  }

  .navbar-nav .dropdown-menu {
    position: static;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    right: auto;
    left: auto;
    max-height: min(5.25rem, 12dvh);
    margin-top: 0.15rem;
    border-radius: 0.5rem;
    box-shadow: none;
    overflow-y: auto;
  }

  .navbar-nav .dropdown-menu.app-nav-mega.show {
    display: block;
    width: auto;
    max-height: min(5.25rem, 12dvh);
    padding-top: 0;
    padding-bottom: 0;
  }

  .app-nav-mega .dropdown-item {
    min-height: 24px;
    padding-top: 0.14rem;
    padding-bottom: 0.14rem;
  }

  .dropdown-menu .dropdown-item {
    min-height: 30px;
    padding-top: 0.2rem;
    padding-bottom: 0.2rem;
    font-size: 0.84rem;
  }

  .app-user-actions {
    align-items: stretch !important;
    gap: 0.3rem;
    padding-top: 0.4rem;
    border-top: 1px solid var(--admin-border);
  }

  .app-nav-search-button {
    width: 100%;
    justify-content: space-between;
    min-height: 40px;
  }

  .settings-health-summary,
  .settings-priority-head,
  .settings-shortcut-head {
    flex-direction: column;
  }

  .settings-health-counters {
    width: 100%;
    justify-content: stretch;
  }

  .settings-health-counters span {
    flex: 1 1 8rem;
    text-align: left;
  }

  .settings-priority-count,
  .settings-priority-item .btn {
    width: 100%;
  }

  .settings-priority-item {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: flex-start;
  }

  .settings-priority-item .btn {
    grid-column: 1 / -1;
    justify-content: center;
  }
}

@media (min-width: 2400px) {
  .app-navbar {
    padding-top: 0.35rem;
    padding-bottom: 0.35rem;
  }

  .navbar-expand-admin {
    flex-wrap: wrap;
  }

  .app-nav-shell {
    max-width: min(1560px, calc(100vw - 2rem));
    gap: 0.65rem;
    flex-wrap: nowrap;
  }

  .app-compact-actions {
    display: inline-flex;
  }

  .app-navbar .navbar-collapse {
    position: absolute;
    top: calc(100% + 0.35rem);
    right: 0.75rem;
    left: auto;
    display: block;
    flex: 0 0 auto;
    min-width: 0;
    width: min(224px, calc(100vw - 1rem));
    max-width: calc(100vw - 1.5rem);
    max-height: min(8.5rem, 18dvh, calc(100dvh - 5.75rem));
    margin-left: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 0.35rem;
    border: 1px solid var(--admin-border);
    border-radius: var(--admin-radius);
    background: var(--admin-surface);
    box-shadow: 0 18px 36px -28px rgba(15, 23, 42, 0.65);
  }

  .app-navbar .navbar-collapse.collapse:not(.show) {
    display: none !important;
    padding: 0;
    border: 0;
    box-shadow: none;
  }

  .navbar-expand-admin .navbar-nav,
  .app-primary-nav,
  .app-user-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .app-primary-nav {
    flex: 1 1 auto;
    min-width: 0;
    gap: 0.125rem;
    flex-wrap: nowrap;
  }

  .navbar-nav .nav-link {
    min-height: 34px;
    width: 100%;
    justify-content: space-between;
    padding: 0.24rem 0.5rem;
    font-size: 0.86rem;
  }

  .navbar-nav .dropdown-menu {
    position: static;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    right: auto;
    left: auto;
    max-height: min(5.25rem, 12dvh);
    margin-top: 0.15rem;
    border-radius: 0.5rem;
    box-shadow: none;
    overflow-y: auto;
  }

  .navbar-nav .dropdown-menu.app-nav-mega.show {
    display: block;
    width: auto;
    max-height: min(5.25rem, 12dvh);
    padding-top: 0;
    padding-bottom: 0;
  }

  .dropdown-menu .dropdown-item {
    min-height: 30px;
    padding-top: 0.2rem;
    padding-bottom: 0.2rem;
    font-size: 0.84rem;
  }

  .app-nav-mega .dropdown-item {
    min-height: 24px;
    padding-top: 0.14rem;
    padding-bottom: 0.14rem;
  }

  .app-user-actions {
    flex: 1 1 auto;
    flex-wrap: nowrap;
    gap: 0.3rem;
    padding-top: 0.4rem;
    border-top: 1px solid var(--admin-border);
  }

  .app-user-actions .app-nav-search-button {
    width: 100%;
    min-height: 40px;
    justify-content: space-between;
  }

  .app-user-actions .navbar-text {
    display: none;
  }
}

@media (min-width: 1920px) {
  .navbar-nav .nav-link {
    padding-right: 0.46rem;
    padding-left: 0.46rem;
    font-size: 0.84rem;
  }
}

@media (min-width: 2600px) {
  .app-user-actions .navbar-text {
    display: inline;
    max-width: 16rem;
  }
}

@media (max-width: 2399.98px) {
  .app-user-actions .navbar-text {
    display: none !important;
  }
}

@media (min-width: 1800px) {
  .navbar-expand-admin {
    flex-wrap: wrap;
  }

  .app-nav-shell {
    max-width: min(1560px, calc(100vw - 2rem));
    flex-wrap: nowrap;
    gap: 0.65rem;
  }

  .app-compact-actions {
    display: inline-flex;
  }

  .app-navbar .navbar-collapse,
  .app-navbar .navbar-collapse.collapse:not(.show) {
    position: absolute;
    top: calc(100% + 0.35rem);
    right: 0.75rem;
    left: auto;
    flex: 0 0 auto;
    align-items: stretch;
    min-width: 0;
    width: min(224px, calc(100vw - 1rem));
    max-width: calc(100vw - 1.5rem);
    max-height: min(8.5rem, 18dvh, calc(100dvh - 5.75rem));
    overflow-y: auto;
    overflow-x: hidden;
    margin-left: 0;
    padding: 0.35rem;
    border: 1px solid var(--admin-border);
    border-radius: var(--admin-radius);
    background: var(--admin-surface);
    box-shadow: 0 18px 36px -28px rgba(15, 23, 42, 0.65);
  }

  .app-navbar .navbar-collapse.collapse:not(.show) {
    display: none !important;
    padding: 0;
    border: 0;
    box-shadow: none;
  }

  .app-navbar .navbar-collapse.show {
    display: block !important;
  }

  .navbar-expand-admin .navbar-nav,
  .app-primary-nav,
  .app-user-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .app-primary-nav {
    flex: 1 1 auto;
    min-width: 0;
    gap: 0.125rem;
    overflow: visible;
  }

  .navbar-nav .nav-link {
    min-height: 34px;
    width: 100%;
    justify-content: space-between;
    padding: 0.24rem 0.5rem;
    font-size: 0.86rem;
  }

  .navbar-nav .dropdown-menu {
    position: static;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    max-height: min(5.25rem, 12dvh);
    margin-top: 0.15rem;
    overflow-y: auto;
    border-radius: 0.5rem;
    box-shadow: none;
  }

  .navbar-nav .dropdown-menu.app-nav-mega.show {
    display: block;
    width: auto;
    max-height: min(5.25rem, 12dvh);
    padding-top: 0;
    padding-bottom: 0;
  }

  .dropdown-menu .dropdown-item {
    min-height: 30px;
    padding-top: 0.2rem;
    padding-bottom: 0.2rem;
    font-size: 0.84rem;
    white-space: normal;
  }

  .app-nav-mega .dropdown-item {
    min-height: 24px;
    padding-top: 0.14rem;
    padding-bottom: 0.14rem;
    font-size: 0.84rem;
  }

  .app-user-actions {
    flex: 1 1 auto;
    flex-wrap: nowrap;
    gap: 0.3rem;
    padding-top: 0.4rem;
    border-top: 1px solid var(--admin-border);
  }

  .app-user-actions .app-nav-search-button {
    width: 100%;
    min-height: 40px;
    justify-content: space-between;
  }
}

@media (min-width: 1280px) {
  .app-nav-shell {
    max-width: min(1560px, calc(100vw - 2rem));
    gap: 0.7rem;
  }

  .app-compact-actions {
    display: none;
  }

  .navbar-expand-admin .navbar-toggler {
    display: none;
  }

  .app-navbar .navbar-collapse,
  .app-navbar .navbar-collapse.collapse:not(.show) {
    position: static;
    display: flex !important;
    flex: 1 1 auto;
    align-items: center;
    justify-content: space-between;
    min-width: 0;
    width: auto;
    max-width: none;
    max-height: none;
    margin-left: 0.25rem;
    overflow: visible;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .navbar-expand-admin .navbar-nav,
  .app-primary-nav,
  .app-user-actions {
    flex-direction: row;
    align-items: center;
  }

  .app-primary-nav {
    flex: 1 1 auto;
    gap: 0.1rem;
    min-width: 0;
    overflow: visible;
  }

  .app-user-actions {
    flex: 0 0 auto;
    flex-wrap: nowrap;
    gap: 0.35rem;
    padding-top: 0;
    border-top: 0;
  }

  .app-user-actions .app-nav-search-button {
    width: auto;
    min-height: 34px;
    justify-content: center;
  }

  .navbar-nav .nav-link {
    min-height: 40px;
    width: auto;
    justify-content: center;
    padding: 0.3rem 0.45rem;
    font-size: 0.84rem;
  }

  .navbar-nav .dropdown-menu {
    position: absolute;
    width: max-content;
    min-width: 11rem;
    max-width: min(22rem, calc(100vw - 2rem));
    max-height: min(13rem, 34dvh, calc(100dvh - 5.75rem));
    margin-top: 0;
    overflow-y: auto;
    border-radius: var(--admin-radius);
    box-shadow: 0 18px 36px -30px rgba(15, 23, 42, 0.62);
  }

  .navbar-nav .dropdown-menu.app-nav-mega.show {
    display: grid;
    grid-template-columns: repeat(2, minmax(9rem, 1fr));
    width: min(28rem, calc(100vw - 2rem));
    max-height: min(13rem, 34dvh, calc(100dvh - 5.75rem));
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
  }

  .dropdown-menu .dropdown-item {
    min-height: 34px;
    padding-top: 0.28rem;
    padding-bottom: 0.28rem;
    font-size: 0.84rem;
  }

  .app-nav-mega .dropdown-item {
    min-height: 30px;
    padding-top: 0.2rem;
    padding-bottom: 0.2rem;
  }
}

@media (max-width: 575.98px) {
  .app-nav-search-compact {
    display: none;
  }

  .app-navbar .navbar-collapse {
    right: 0.5rem;
    left: auto;
    width: min(150px, calc(100vw - 1rem));
    max-width: calc(100vw - 1rem);
    min-height: 0;
    max-height: min(112px, 17dvh, calc(100dvh - 5.5rem));
    padding: 0.3rem;
  }

  .navbar-nav .nav-link,
  .dropdown-menu .dropdown-item {
    font-size: 0.82rem;
  }

  .document-delete-panel {
    padding: 0.8rem;
  }

  .document-delete-warning,
  .document-delete-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .document-delete-actions .btn {
    width: 100%;
  }

  .document-delete-definition-grid {
    grid-template-columns: 1fr;
  }
}

@supports not (overflow: clip) {
  html,
  body {
    overflow-x: hidden;
  }
}

.auth-shell {
  display: grid;
  place-items: center;
  min-height: calc(100vh - 11rem);
  padding: 1.75rem 0;
}

.auth-card {
  width: min(27rem, 100%);
  padding: 1.5rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.875rem;
  background: var(--admin-surface);
  box-shadow: var(--admin-shadow);
}

.auth-card-header {
  margin-bottom: 1rem;
}

.auth-card-header h1 {
  margin: 0;
  font-size: clamp(1.5rem, 2.8vw, 1.85rem);
}

.logout-card {
  width: min(34rem, 100%);
}

.access-help-card {
  width: min(46rem, 100%);
}

.access-help-alert {
  display: grid;
  gap: 0.2rem;
  margin-bottom: 1rem;
  padding: 0.75rem;
  border: 1px solid color-mix(in oklab, var(--admin-warning) 28%, var(--admin-border));
  border-radius: 0.5rem;
  background: color-mix(in oklab, #fef3c7 64%, white);
}

.access-help-alert strong {
  color: #7c2d12;
  font-size: 0.9rem;
}

.access-help-alert span {
  color: #5b6472;
  font-size: 0.84rem;
}

.access-help-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.access-help-section {
  min-width: 0;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 46%, white);
}

.access-help-section h2 {
  margin: 0 0 0.45rem;
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.25;
}

.access-help-section ol {
  margin: 0;
  padding-left: 1.15rem;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.5;
}

.access-help-section li + li {
  margin-top: 0.35rem;
}

.access-help-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

.access-help-actions .btn {
  min-width: 8rem;
}

.logout-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
  gap: 0.65rem;
  margin-bottom: 1rem;
}

.logout-summary div {
  min-width: 0;
  padding: 0.75rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-primary-soft) 48%, white);
}

.logout-summary strong,
.logout-summary span {
  display: block;
}

.logout-summary strong {
  color: var(--admin-text);
  font-size: 0.9rem;
}

.logout-summary span {
  margin-top: 0.2rem;
  color: var(--admin-muted);
  font-size: 0.84rem;
}

.logout-guidance {
  margin-bottom: 1rem;
}

.logout-guidance h2 {
  margin: 0 0 0.45rem;
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.25;
}

.logout-guidance ul {
  margin: 0;
  padding-left: 1.15rem;
  color: var(--admin-muted);
  line-height: 1.55;
}

.logout-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

.logout-actions .btn {
  min-width: 7.5rem;
}

.auth-kicker {
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.8125rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.auth-subtitle {
  margin: 0.3rem 0 0;
  color: var(--admin-muted);
}

.auth-form {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.print-layout-panel {
  padding: 1rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.print-layout-toolbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 0.9rem;
  border-bottom: 1px solid var(--admin-border);
}

.print-layout-subtitle {
  color: var(--admin-muted);
}

.print-layout-score {
  min-width: 6.25rem;
  padding: 0.55rem 0.75rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 24%, var(--admin-border));
  border-radius: 0.5rem;
  background: var(--admin-primary-soft);
  text-align: right;
}

.print-layout-score-value {
  display: block;
  color: var(--admin-primary-dark);
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.05;
}

.print-layout-score-label {
  color: var(--admin-muted);
  font-size: 0.78rem;
}

.print-layout-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(19rem, 0.65fr);
  gap: 1rem;
  margin-top: 1rem;
}

.print-layout-checklist {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.print-layout-check {
  display: flex;
  gap: 0.55rem;
  min-height: 4rem;
  padding: 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 48%, white);
}

.print-layout-check strong,
.print-layout-check small {
  display: block;
}

.print-layout-check small {
  color: var(--admin-muted);
}

.print-layout-check-icon {
  display: inline-grid;
  flex: 0 0 1.35rem;
  place-items: center;
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 999px;
  color: #fff;
  font-size: 0.8rem;
  font-weight: 700;
}

.print-layout-check.is-ready .print-layout-check-icon {
  background: var(--admin-success);
}

.print-layout-check.is-missing .print-layout-check-icon {
  background: var(--admin-warning);
}

.print-preview {
  align-self: start;
}

.print-preview-sheet {
  min-height: 23rem;
  padding: 1rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.375rem;
  background: #fff;
  box-shadow: 0 8px 16px -14px rgba(15, 23, 42, 0.5);
}

.print-preview-header {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--admin-border);
}

.print-preview-header strong,
.print-preview-header span,
.print-preview-document strong,
.print-preview-document span,
.print-preview-terms strong,
.print-preview-terms span {
  display: block;
}

.print-preview-header span,
.print-preview-document span,
.print-preview-terms span,
.print-preview-footer {
  color: var(--admin-muted);
  font-size: 0.82rem;
}

.print-preview-logo {
  display: grid;
  flex: 0 0 4.5rem;
  place-items: center;
  width: 4.5rem;
  height: 3.25rem;
  border: 1px dashed var(--admin-border);
  border-radius: 0.375rem;
  color: var(--admin-muted);
  font-size: 0.8rem;
}

.print-preview-logo.has-logo {
  border-style: solid;
}

.print-preview-logo img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.print-preview-document,
.print-preview-terms {
  margin-top: 0.9rem;
  padding: 0.75rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.375rem;
}

.print-preview-terms span {
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  white-space: pre-line;
}

.print-preview-footer {
  margin-top: 0.9rem;
  padding-top: 0.65rem;
  border-top: 1px solid var(--admin-border);
  white-space: pre-line;
}

.print-layout-terms {
  margin-top: 1rem;
}

.print-layout-documents {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 0.85rem;
}

.print-layout-document {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  padding: 0.25rem 0.6rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 52%, white);
  font-size: 0.86rem;
}

.print-layout-document.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 34%, var(--admin-border));
  color: var(--admin-success);
}

.print-layout-document.is-missing {
  border-color: color-mix(in oklab, var(--admin-warning) 34%, var(--admin-border));
  color: var(--admin-warning);
}

.print-document-readiness {
  display: grid;
  gap: 0.75rem;
  margin-bottom: 1rem;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 42%, white);
}

.print-document-readiness-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.print-document-readiness-head h3 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1rem;
  font-weight: 700;
}

.print-document-readiness-head p {
  max-width: 68ch;
  margin: 0.2rem 0 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.45;
}

.print-document-readiness-kpis {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.4rem;
}

.print-document-readiness-kpis span {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  min-height: 2rem;
  padding: 0.25rem 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: var(--admin-surface);
  font-size: 0.82rem;
}

.print-document-readiness-kpis strong {
  color: var(--admin-text);
}

.print-document-readiness-list {
  display: grid;
  gap: 0.45rem;
}

.print-document-readiness-item {
  display: grid;
  grid-template-columns: minmax(8rem, 0.7fr) minmax(9rem, 0.65fr) minmax(12rem, 1fr);
  gap: 0.65rem;
  align-items: start;
  padding: 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.45rem;
  background: var(--admin-surface);
}

.print-document-readiness-item.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 28%, var(--admin-border));
}

.print-document-readiness-item.is-missing {
  border-color: color-mix(in oklab, var(--admin-warning) 32%, var(--admin-border));
}

.print-document-readiness-item strong,
.print-document-readiness-item span,
.print-document-readiness-item small {
  display: block;
  min-width: 0;
}

.print-document-readiness-item strong {
  color: var(--admin-text);
}

.print-document-readiness-item small {
  color: var(--admin-muted);
  font-size: 0.74rem;
  font-weight: 650;
}

.print-document-readiness-item span {
  color: var(--admin-muted);
  font-size: 0.86rem;
  overflow-wrap: anywhere;
}

.company-settings-page {
  gap: 0.9rem;
}

.company-settings-health {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(22rem, 0.9fr);
  gap: 0.9rem;
  align-items: start;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.company-settings-health h2 {
  margin: 0;
  font-size: 1.08rem;
  line-height: 1.25;
}

.company-settings-health p {
  max-width: 68ch;
  margin: 0.25rem 0 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
}

.company-settings-health-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
}

.company-settings-health-grid span {
  min-width: 0;
  padding: 0.55rem 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 58%, white);
  color: var(--admin-muted);
  font-size: 0.82rem;
}

.company-settings-health-grid strong {
  display: block;
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.15;
}

.company-settings-shortcuts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  padding: 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: color-mix(in oklab, var(--admin-bg) 52%, white);
}

.company-settings-shortcuts a {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  padding: 0.25rem 0.6rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-text);
  background: var(--admin-surface);
  font-size: 0.86rem;
  text-decoration: none;
}

.company-settings-shortcuts a:hover,
.company-settings-shortcuts a:focus {
  border-color: color-mix(in oklab, var(--admin-primary) 32%, var(--admin-border));
  color: var(--admin-primary-dark);
  background: var(--admin-primary-soft);
}

.company-completion-panel {
  display: grid;
  gap: 0.85rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.company-completion-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
}

.company-completion-head h2 {
  margin: 0;
  font-size: 1.08rem;
  line-height: 1.25;
}

.company-completion-head p {
  max-width: 78ch;
  margin: 0.25rem 0 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

.company-completion-status {
  flex: 0 0 auto;
  padding: 0.28rem 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 56%, white);
  font-size: 0.8rem;
  font-weight: 700;
}

.company-completion-status.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 32%, var(--admin-border));
  color: var(--admin-success);
  background: color-mix(in oklab, var(--admin-success) 7%, white);
}

.company-completion-status.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 34%, var(--admin-border));
  color: #7c2d12;
  background: #fffbeb;
}

.company-completion-summary {
  display: grid;
  grid-template-columns: minmax(10rem, 0.55fr) minmax(0, 1fr) auto;
  gap: 0.65rem;
  align-items: stretch;
}

.company-completion-summary > div {
  min-width: 0;
  padding: 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 48%, white);
}

.company-completion-summary strong,
.company-completion-summary span {
  display: block;
}

.company-completion-summary strong {
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.2;
}

.company-completion-summary span {
  margin-top: 0.2rem;
  color: var(--admin-muted);
  font-size: 0.84rem;
  line-height: 1.35;
}

.company-completion-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.45rem;
  background: var(--admin-surface) !important;
}

.company-completion-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
  gap: 0.5rem;
}

.company-completion-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0.1rem 0.5rem;
  min-height: 4.75rem;
  padding: 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  color: var(--admin-text);
  background: color-mix(in oklab, var(--admin-bg) 48%, white);
  text-decoration: none;
}

.company-completion-item:hover,
.company-completion-item:focus {
  border-color: color-mix(in oklab, var(--admin-primary) 30%, var(--admin-border));
  color: var(--admin-primary-dark);
  background: var(--admin-primary-soft);
}

.company-completion-item > span {
  display: inline-grid;
  grid-row: 1 / span 2;
  place-items: center;
  width: 1.55rem;
  height: 1.55rem;
  border-radius: 999px;
  color: #fff;
  background: var(--admin-warning);
  font-size: 0.66rem;
  font-weight: 800;
}

.company-completion-item.is-ready > span {
  background: var(--admin-success);
}

.company-completion-item strong {
  min-width: 0;
  font-size: 0.92rem;
  line-height: 1.25;
}

.company-completion-item small {
  grid-column: 2 / -1;
  color: var(--admin-muted);
  font-size: 0.8rem;
  line-height: 1.35;
}

.company-completion-item em {
  color: var(--admin-muted);
  font-size: 0.76rem;
  font-style: normal;
  font-weight: 700;
  white-space: nowrap;
}

.company-settings-page .row {
  margin-right: 0 !important;
  margin-left: 0 !important;
}

.document-email-preflight {
  display: grid;
  gap: 0.75rem;
  margin: 0.85rem 0 1rem;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: color-mix(in oklab, var(--admin-primary-soft) 42%, white);
}

.document-email-preflight-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.document-email-preflight-head h6,
.document-email-preflight-head p {
  margin: 0;
}

.document-email-preflight-head h6 {
  font-size: 0.95rem;
  font-weight: 700;
}

.document-email-preflight-head p {
  margin-top: 0.15rem;
  color: var(--admin-muted);
  font-size: 0.875rem;
}

.document-email-channel {
  flex: 0 0 auto;
  padding: 0.2rem 0.55rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 18%, var(--admin-border));
  border-radius: 999px;
  color: var(--admin-primary-dark);
  background: var(--admin-surface);
  font-size: 0.78rem;
  font-weight: 650;
}

.document-email-checklist {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
  gap: 0.45rem;
}

.document-email-check {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  min-width: 0;
  padding: 0.5rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: var(--admin-surface);
}

.document-email-check strong,
.document-email-check small {
  display: block;
}

.document-email-check strong {
  font-size: 0.82rem;
}

.document-email-check small {
  color: var(--admin-muted);
  font-size: 0.76rem;
  overflow-wrap: anywhere;
}

.document-email-check-icon {
  display: inline-grid;
  place-items: center;
  flex: 0 0 1.45rem;
  min-width: 1.45rem;
  height: 1.45rem;
  border-radius: 999px;
  font-size: 0.66rem;
  font-weight: 800;
}

.document-email-check.is-ready .document-email-check-icon {
  color: #fff;
  background: var(--admin-success);
}

.document-email-check.is-missing .document-email-check-icon {
  color: #fff;
  background: var(--admin-warning);
}

.document-email-confirmation {
  margin: 0;
  padding-top: 0.65rem;
  border-top: 1px solid color-mix(in oklab, var(--admin-border) 78%, white);
}

.print-status-panel {
  margin: 0.25rem 0 1rem;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.print-status-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  padding-bottom: 0.7rem;
  border-bottom: 1px solid var(--admin-border);
}

.print-status-head p {
  color: var(--admin-muted);
  font-size: 0.88rem;
}

.print-status-score {
  min-width: 5.25rem;
  text-align: right;
}

.print-status-score strong,
.print-status-score span {
  display: block;
}

.print-status-score strong {
  color: var(--admin-primary-dark);
  font-size: 1.15rem;
  line-height: 1.05;
}

.print-status-score span {
  color: var(--admin-muted);
  font-size: 0.78rem;
}

.print-status-body {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(16rem, 0.65fr);
  gap: 0.75rem;
  margin-top: 0.75rem;
}

.print-status-checks {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.print-status-check {
  display: inline-flex;
  flex-direction: column;
  min-width: 9.5rem;
  min-height: 3.25rem;
  justify-content: center;
  padding: 0.45rem 0.6rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 52%, white);
}

.print-status-check strong {
  font-size: 0.84rem;
}

.print-status-check small {
  color: var(--admin-muted);
}

.print-status-check.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 32%, var(--admin-border));
}

.print-status-check.is-missing {
  border-color: color-mix(in oklab, var(--admin-warning) 32%, var(--admin-border));
}

.print-status-preview {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  padding: 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: #fff;
}

.print-status-preview strong,
.print-status-preview small,
.print-status-preview-label {
  display: block;
}

.print-status-preview-label {
  color: var(--admin-muted);
  font-size: 0.76rem;
  font-weight: 600;
}

.print-status-preview small {
  color: var(--admin-muted);
}

.print-status-inline-preview {
  margin-top: 0.85rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--admin-border);
}

.print-status-inline-preview summary {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: var(--admin-primary-dark);
  font-weight: 650;
  cursor: pointer;
}

.print-status-inline-preview summary:focus-visible {
  border-radius: 0.4rem;
  outline: 2px solid var(--admin-focus);
  outline-offset: 2px;
}

.print-status-frame-shell {
  overflow: hidden;
  margin-top: 0.45rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: #eef2f7;
}

.print-status-frame-shell iframe {
  width: 100%;
  min-height: min(72dvh, 48rem);
  display: block;
  border: 0;
  background: #fff;
}

@media (max-width: 991.98px) {
  .anagraph-form-layout {
    grid-template-columns: 1fr;
  }

  .anagraph-quality-panel {
    position: static;
    order: -1;
  }

  .ledger-rule-layout {
    grid-template-columns: 1fr;
  }

  .ledger-rules-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ledger-rules-control,
  .ledger-rules-coverage-lead,
  .ledger-rules-nondocumental-category-head,
  .ledger-rules-nondocumental-footer {
    flex-direction: column;
  }

  .ledger-rules-control-list {
    justify-content: flex-start;
  }

  .ledger-rules-coverage-metrics,
  .ledger-rules-coverage-grid,
  .ledger-rules-nondocumental-metrics,
  .ledger-rules-nondocumental-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ledger-rules-nondocumental-actions .btn,
  .ledger-rules-nondocumental-footer .btn {
    width: 100%;
  }

  .ledger-rules-nondocumental-category-head strong {
    max-width: 100%;
    white-space: normal;
  }

  .company-settings-health {
    grid-template-columns: 1fr;
  }

  .company-settings-health-grid {
    grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
  }

  .company-completion-head,
  .company-completion-summary {
    grid-template-columns: 1fr;
    flex-direction: column;
  }

  .company-completion-status {
    width: fit-content;
  }

  .company-completion-actions {
    align-items: stretch;
    justify-content: flex-start;
  }

  .company-completion-actions .btn {
    flex: 1 1 10rem;
  }

  .print-layout-grid {
    grid-template-columns: 1fr;
  }

  .print-layout-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .print-layout-score {
    text-align: left;
  }

  .print-document-readiness-head {
    flex-direction: column;
  }

  .print-document-readiness-kpis {
    width: 100%;
    justify-content: flex-start;
  }

  .print-document-readiness-kpis span {
    flex: 1 1 8rem;
  }

  .print-document-readiness-item {
    grid-template-columns: 1fr;
  }

  .print-status-body {
    grid-template-columns: 1fr;
  }

  .print-status-head {
    flex-direction: column;
  }

  .print-status-score {
    text-align: left;
  }

  .print-status-frame-shell iframe {
    min-height: 26rem;
  }
}

@media (max-width: 575.98px) {
  .company-settings-page {
    max-width: calc(100vw - 1.5rem);
  }

  .ledger-rules-summary {
    grid-template-columns: 1fr;
  }

  .ledger-rules-coverage {
    padding: 0.7rem;
  }

  .ledger-rules-coverage-metrics,
  .ledger-rules-coverage-grid,
  .ledger-rules-coverage-area dl {
    grid-template-columns: 1fr;
  }

  .ledger-rules-coverage-area > div {
    flex-direction: column;
  }

  .ledger-rules-table-panel {
    padding: 0.7rem;
  }

  .ledger-rules-table-panel .admin-table-shell {
    overflow-x: clip;
  }

  .ledger-rules-table-panel .admin-table {
    min-width: 0;
  }

  .ledger-rules-table-panel .admin-table thead {
    display: none;
  }

  .ledger-rules-table-panel .admin-table,
  .ledger-rules-table-panel .admin-table tbody,
  .ledger-rules-table-panel .admin-table tr,
  .ledger-rules-table-panel .admin-table td {
    display: block;
    width: 100%;
  }

  .ledger-rules-table-panel .admin-table tr {
    padding: 0.7rem;
    border-bottom: 1px solid var(--admin-border);
  }

  .ledger-rules-table-panel .admin-table tr:last-child {
    border-bottom: 0;
  }

  .ledger-rules-table-panel .admin-table td {
    display: grid;
    grid-template-columns: 7.5rem minmax(0, 1fr);
    gap: 0.5rem;
    padding: 0.45rem 0;
    border: 0;
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  .ledger-rules-table-panel .admin-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 650;
  }

  .ledger-rules-table-panel .admin-table td[data-label="Azioni"] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
  }

  .ledger-rules-table-panel .admin-table td[data-label="Azioni"]::before {
    flex: 0 0 7.5rem;
    align-self: center;
  }
}

.home-dashboard {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.home-dashboard-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--admin-border);
}

.home-dashboard-header h1 {
  margin: 0;
  font-size: 1.75rem;
  line-height: 1.2;
}

.home-dashboard-meta,
.home-dashboard-roles,
.home-quick-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.home-quick-actions .btn-outline-primary {
  min-width: 10rem;
}

.home-preferences-panel {
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.home-preferences-panel summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  min-height: 3.25rem;
  padding: 0.65rem 0.85rem;
  color: var(--admin-text);
  cursor: pointer;
  list-style-position: inside;
}

.home-preferences-panel summary span {
  display: inline-grid;
  gap: 0.12rem;
}

.home-preferences-panel summary small {
  color: var(--admin-muted);
  font-size: 0.82rem;
}

.home-preferences-panel[open] summary {
  border-bottom: 1px solid var(--admin-border);
}

.home-control-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(13.5rem, 1fr));
  gap: 0.65rem;
  padding: 0.75rem;
}

.home-priority-mode {
  display: grid;
  grid-template-columns: 1fr;
  align-content: start;
  gap: 0.5rem;
  min-height: 7.25rem;
  padding: 0.7rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 50%, white);
  color: var(--admin-text);
}

.home-priority-mode label {
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: var(--admin-muted);
}

.home-priority-mode select,
.home-priority-mode input {
  width: 100%;
}

.home-threshold-card {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.55rem;
}

.home-pref-card {
  justify-content: space-between;
}

.home-threshold-card-head,
.home-threshold-field {
  display: grid;
  gap: 0.25rem;
  min-width: 0;
}

.home-threshold-card-head span {
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--admin-text);
}

.home-threshold-card-head small {
  color: var(--admin-muted);
  font-size: 0.78rem;
  line-height: 1.35;
}

.home-threshold-field label {
  color: var(--admin-text);
  font-size: 0.78rem;
  font-weight: 600;
}

.home-threshold-card .form-control {
  width: 100%;
}

.home-sections-card {
  gap: 0.65rem;
}

.home-sections-card-head,
.home-section-toggle-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  min-width: 0;
}

.home-sections-card-head {
  padding-bottom: 0.35rem;
  border-bottom: 1px solid var(--admin-border);
}

.home-sections-card-head span {
  color: var(--admin-text);
  font-size: 0.8125rem;
  font-weight: 700;
}

.home-sections-card-head small,
.home-section-toggle-row small {
  color: var(--admin-muted);
  font-size: 0.78rem;
  line-height: 1.35;
}

.home-sections-list {
  display: grid;
  gap: 0.5rem;
}

.home-section-toggle-row {
  align-items: center;
  min-height: 2.5rem;
}

.home-section-toggle-row > span {
  display: grid;
  gap: 0.1rem;
  min-width: 0;
}

.home-section-toggle-row strong {
  color: var(--admin-text);
  font-size: 0.9rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.home-section-toggle-row form {
  flex: 0 0 auto;
}

.home-section-toggle-row .btn {
  min-width: 5.2rem;
}

.home-layout-reset {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.625rem 0.75rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: #f8fbff;
}

.home-layout-reset span {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  color: var(--admin-text);
}

.home-layout-reset small {
  color: var(--admin-muted);
}

.home-dashboard-meta {
  margin-top: 0.375rem;
  color: var(--admin-muted);
  font-size: 0.875rem;
}

.home-role-badge {
  display: inline-flex;
  align-items: center;
  min-height: 1.875rem;
  padding: 0.25rem 0.625rem;
  border: 1px solid rgba(37, 99, 235, 0.28);
  border-radius: 0.375rem;
  color: var(--admin-primary-dark);
  background: #eff6ff;
  font-size: 0.8125rem;
}

.home-dashboard-settings-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(11.5rem, 1fr));
  gap: 0.5rem;
  padding: 0.625rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.home-dashboard-setting {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
  padding: 0.55rem 0.65rem;
  border: 1px solid color-mix(in oklab, var(--admin-border) 78%, transparent);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 60%, white);
}

.home-dashboard-setting span {
  overflow: hidden;
  color: var(--admin-muted);
  font-size: 0.75rem;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home-dashboard-setting strong {
  overflow: hidden;
  color: var(--admin-text);
  font-size: 0.98rem;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home-dashboard-empty {
  border-color: #60a5fa;
}

.home-onboarding {
  margin-bottom: 0.25rem;
}

.home-section-onboarding {
  padding: 0.85rem;
}

.home-onboarding-grid {
  display: grid;
  gap: 0.6rem;
  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
}

.home-onboarding-item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 0.55rem;
  min-height: 6.8rem;
  padding: 0.75rem;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 0.5rem;
  background: #fff;
  color: #0f172a;
  text-decoration: none;
}

.home-onboarding-item:hover {
  border-color: rgba(0, 0, 0, 0.2);
  text-decoration: none;
}

.home-onboarding-title {
  display: block;
  font-weight: 600;
  margin-bottom: 0.25rem;
}

.home-onboarding-description {
  color: var(--admin-muted);
  font-size: 0.84rem;
}

.home-onboarding-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}

.home-onboarding-footer span:first-child {
  font-size: 0.81rem;
  font-weight: 600;
  color: var(--admin-primary-dark);
}

.home-onboarding-role {
  border: 1px solid rgba(37, 99, 235, 0.25);
  border-radius: 999px;
  padding: 0.11rem 0.45rem;
  color: var(--admin-primary-dark);
  background: #eff6ff;
  font-size: 0.75rem;
}

.home-today-actions {
  margin-bottom: 0.25rem;
}

.home-today-actions-card {
  padding: 0.85rem;
  background: var(--admin-surface);
  border-radius: 0.5rem;
}

.home-today-empty {
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
}

.home-today-actions-list {
  display: grid;
  gap: 0.5rem;
  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
}

.home-today-action {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: flex-start;
  min-height: 3.75rem;
  padding: 0.65rem 0.75rem;
  border-radius: 0.5rem;
  border: 1px solid rgba(0, 0, 0, 0.12);
  color: #212529;
  background: #fff;
  text-decoration: none;
}

.home-today-action:hover {
  color: #212529;
  border-color: rgba(0, 0, 0, 0.2);
  text-decoration: none;
}

.home-today-action span {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: 0.125rem;
}

.home-today-action strong,
.home-today-action small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home-today-action small {
  color: var(--admin-muted);
  font-size: 0.8125rem;
}

.home-today-action-context {
  margin-left: auto;
  font-size: 0.75rem;
  white-space: nowrap;
  border-radius: 999px;
  padding: 0.15rem 0.5rem;
  border: 1px solid rgba(15, 23, 42, 0.12);
  color: #334155;
  background: #f8fafc;
  align-self: center;
}

.home-today-action-danger {
  border-color: #dc2626;
  background: #fff7f7;
}

.home-today-action-warning {
  border-color: #f59e0b;
  background: #fffaf0;
}

.home-today-action-info {
  border-color: var(--admin-primary);
  background: #f8fbff;
}

.home-operational-todo {
  margin-bottom: 0.25rem;
}

.home-operational-todo-card {
  padding: 0.85rem;
  background: var(--admin-surface);
  border-radius: 0.5rem;
}

.home-operational-todo-count {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  padding: 0.2rem 0.55rem;
  border: 1px solid color-mix(in oklab, var(--section-color) 24%, var(--admin-border));
  border-radius: 999px;
  color: var(--section-color);
  background: color-mix(in oklab, var(--section-soft) 78%, white);
  font-size: 0.78rem;
  font-weight: 650;
  white-space: nowrap;
}

.home-todo-empty {
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
}

.home-operational-todo-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
  gap: 0.5rem;
}

.home-operational-todo-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  min-width: 0;
  max-width: 100%;
  min-height: 4rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 0.5rem;
  color: var(--admin-text);
  background: #fff;
  text-decoration: none;
}

.home-operational-todo-item:hover,
.home-operational-todo-item:focus {
  color: var(--admin-text);
  border-color: rgba(15, 23, 42, 0.22);
  text-decoration: none;
}

.home-operational-todo-main {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-width: 0;
  gap: 0.12rem;
}

.home-operational-todo-main strong,
.home-operational-todo-main small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home-operational-todo-main small {
  color: var(--admin-muted);
  font-size: 0.8125rem;
}

.home-operational-todo-side {
  display: inline-flex;
  flex: 0 1 7rem;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.12rem;
  max-width: 42%;
  color: #334155;
  font-size: 0.78rem;
  font-weight: 650;
  text-align: right;
}

.home-operational-todo-side span,
.home-operational-todo-side small {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home-operational-todo-side small {
  color: var(--admin-muted);
  font-weight: 600;
}

.home-operational-todo-item-danger {
  border-color: #dc2626;
  background: #fff7f7;
}

.home-operational-todo-item-warning {
  border-color: #f59e0b;
  background: #fffaf0;
}

.home-operational-todo-item-info {
  border-color: var(--admin-primary);
  background: #f8fbff;
}

.home-calendar-readiness {
  display: grid;
  gap: 0.75rem;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.home-calendar-import-preview {
  display: grid;
  gap: 0.65rem;
  padding: 0.75rem;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 54%, white);
}

.home-calendar-sync-readiness {
  display: grid;
  gap: 0.65rem;
  padding: 0.75rem;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 0.5rem;
  background: #fff;
}

.home-calendar-sync-readiness.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 26%, var(--admin-border));
}

.home-calendar-sync-readiness.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 34%, var(--admin-border));
  background: #fffbeb;
}

.home-calendar-sync-readiness.is-critical {
  border-color: color-mix(in oklab, var(--admin-danger) 30%, var(--admin-border));
  background: #fff7ed;
}

.home-calendar-sync-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.home-calendar-sync-head h3 {
  margin: 0;
  color: var(--admin-text);
  font-size: 0.96rem;
  line-height: 1.25;
}

.home-calendar-sync-head p {
  max-width: 70ch;
  margin: 0.2rem 0 0;
  color: var(--admin-muted);
  font-size: 0.82rem;
  line-height: 1.4;
}

.home-calendar-sync-head > span {
  display: inline-flex;
  align-items: center;
  min-height: 1.75rem;
  padding: 0.12rem 0.5rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 64%, white);
  font-size: 0.76rem;
  font-weight: 700;
  white-space: nowrap;
}

.home-calendar-sync-metrics,
.home-calendar-sync-checks {
  display: grid;
  gap: 0.5rem;
}

.home-calendar-sync-metrics {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.home-calendar-sync-metrics > div,
.home-calendar-sync-check {
  min-width: 0;
  padding: 0.62rem;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 0.5rem;
  background: #fff;
}

.home-calendar-sync-metrics span {
  display: block;
  color: var(--admin-muted);
  font-size: 0.75rem;
  font-weight: 650;
}

.home-calendar-sync-metrics strong {
  display: block;
  margin-top: 0.12rem;
  color: var(--admin-text);
  font-size: 1.05rem;
  line-height: 1.15;
}

.home-calendar-sync-checks {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
}

.home-calendar-sync-check {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.65rem;
  min-height: 4.25rem;
}

.home-calendar-sync-check > span {
  display: grid;
  min-width: 0;
  gap: 0.12rem;
}

.home-calendar-sync-check strong,
.home-calendar-sync-check small {
  min-width: 0;
  overflow-wrap: anywhere;
}

.home-calendar-sync-check strong {
  color: var(--admin-text);
  font-size: 0.84rem;
  line-height: 1.25;
}

.home-calendar-sync-check small {
  color: var(--admin-muted);
  font-size: 0.76rem;
  line-height: 1.35;
}

.home-calendar-sync-check em {
  flex: 0 0 auto;
  color: #334155;
  font-size: 0.75rem;
  font-style: normal;
  font-weight: 750;
  text-align: right;
}

.home-calendar-sync-check-ok {
  border-color: color-mix(in oklab, var(--admin-success) 28%, var(--admin-border));
}

.home-calendar-sync-check-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 34%, var(--admin-border));
}

.home-calendar-sync-check-pending {
  border-style: dashed;
  background: color-mix(in oklab, var(--admin-bg) 60%, white);
}

.home-calendar-import-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.home-calendar-import-head h3 {
  margin: 0;
  color: var(--admin-text);
  font-size: 0.96rem;
  line-height: 1.25;
}

.home-calendar-import-head p {
  max-width: 68ch;
  margin: 0.2rem 0 0;
  color: var(--admin-muted);
  font-size: 0.82rem;
  line-height: 1.4;
}

.home-calendar-import-head > span {
  display: inline-flex;
  align-items: center;
  min-height: 1.75rem;
  padding: 0.12rem 0.5rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: #fff;
  font-size: 0.76rem;
  font-weight: 700;
  white-space: nowrap;
}

.home-calendar-import-form {
  display: grid;
  grid-template-columns: minmax(8rem, 0.28fr) minmax(12rem, 1fr) auto;
  align-items: end;
  gap: 0.55rem;
}

.home-calendar-import-form label {
  color: var(--admin-text);
  font-size: 0.8rem;
  font-weight: 650;
}

.home-calendar-import-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  justify-content: flex-end;
}

.home-calendar-import-actions .btn {
  min-width: 7.4rem;
}

.home-calendar-import-result {
  display: grid;
  gap: 0.6rem;
}

.home-calendar-import-result > p {
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.84rem;
  line-height: 1.45;
}

.home-calendar-import-list {
  display: grid;
  gap: 0.45rem;
}

.home-calendar-import-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  min-width: 0;
  padding: 0.6rem;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 0.5rem;
  background: #fff;
}

.home-calendar-import-item > span {
  display: grid;
  min-width: 0;
  gap: 0.12rem;
}

.home-calendar-import-item strong,
.home-calendar-import-item small {
  min-width: 0;
  overflow-wrap: anywhere;
}

.home-calendar-import-item strong {
  color: var(--admin-text);
  font-size: 0.88rem;
  line-height: 1.25;
}

.home-calendar-import-item small {
  color: var(--admin-muted);
  font-size: 0.76rem;
  line-height: 1.35;
}

.home-calendar-import-item em {
  flex: 0 0 auto;
  color: #334155;
  font-size: 0.76rem;
  font-style: normal;
  font-weight: 700;
  text-align: right;
}

.home-calendar-import-more {
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.78rem;
  line-height: 1.35;
}

.home-chart-readiness {
  display: grid;
  gap: 0.75rem;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.home-chart-readiness-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
}

.home-chart-readiness-head h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1.05rem;
  line-height: 1.25;
}

.home-chart-readiness-head p {
  max-width: 68ch;
  margin: 0.25rem 0 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.45;
}

.home-chart-readiness-head > span {
  display: inline-flex;
  align-items: center;
  min-height: 1.8rem;
  padding: 0.15rem 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 64%, white);
  font-size: 0.78rem;
  font-weight: 700;
  white-space: nowrap;
}

.home-chart-readiness-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.55rem;
}

.home-chart-readiness-grid > div {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
  padding: 0.65rem;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 0.5rem;
  background: #fff;
}

.home-chart-readiness-grid span,
.home-chart-readiness-grid small {
  color: var(--admin-muted);
  font-size: 0.75rem;
  font-weight: 650;
}

.home-chart-readiness-grid strong {
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.2;
}

.home-historical-trends {
  display: grid;
  gap: 0.75rem;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.home-historical-trends.is-ready {
  border-color: rgba(22, 163, 74, 0.28);
}

.home-historical-trends.is-critical {
  border-color: rgba(220, 38, 38, 0.28);
  background: #fffafa;
}

.home-historical-trends.is-warning {
  border-color: rgba(245, 158, 11, 0.32);
  background: #fffaf0;
}

.home-historical-trend-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
  gap: 0.5rem;
}

.home-historical-trend-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  min-width: 0;
  padding: 0.65rem;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 0.5rem;
  background: #fff;
  color: var(--admin-text);
  text-decoration: none;
}

.home-historical-trend-item:hover,
.home-historical-trend-item:focus {
  border-color: rgba(37, 99, 235, 0.42);
  color: var(--admin-text);
}

.home-historical-trend-item > span {
  display: grid;
  min-width: 0;
  gap: 0.12rem;
}

.home-historical-trend-item strong,
.home-historical-trend-item small {
  min-width: 0;
  overflow-wrap: anywhere;
}

.home-historical-trend-item strong {
  font-size: 0.9rem;
  line-height: 1.25;
}

.home-historical-trend-item small {
  color: var(--admin-muted);
  font-size: 0.76rem;
  line-height: 1.35;
}

.home-historical-trend-item em {
  flex: 0 0 auto;
  min-width: 3.4rem;
  color: var(--admin-muted);
  font-size: 0.8rem;
  font-style: normal;
  font-weight: 750;
  text-align: right;
}

.home-historical-trend-item-down em {
  color: #b91c1c;
}

.home-historical-trend-item-up em {
  color: #047857;
}

.home-historical-trend-empty {
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.45;
}

.home-profile-section-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.home-profile-section-list span {
  display: inline-flex;
  align-items: center;
  min-height: 1.9rem;
  padding: 0.25rem 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  background: color-mix(in oklab, var(--admin-bg) 70%, white);
  color: var(--admin-text);
  font-size: 0.8rem;
  font-weight: 650;
}

.home-area-filter {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
  padding: 0.6rem 0;
  border-block: 1px solid var(--admin-border);
}

.home-area-filter-label {
  flex: 0 0 auto;
  color: var(--admin-muted);
  font-size: 0.82rem;
  font-weight: 700;
}

.home-area-filter-options {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  min-width: 0;
}

.home-area-filter-button {
  min-height: 2.75rem;
  padding: 0.5rem 0.8rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.4rem;
  background: #fff;
  color: var(--admin-text);
  font: inherit;
  font-size: 0.86rem;
  font-weight: 650;
  cursor: pointer;
}

.home-area-filter-button:hover {
  border-color: color-mix(in oklab, var(--admin-primary) 42%, var(--admin-border));
  background: var(--admin-surface-muted);
}

.home-area-filter-button:focus-visible {
  outline: 3px solid color-mix(in oklab, var(--admin-primary) 35%, transparent);
  outline-offset: 2px;
}

.home-area-filter-button.is-active {
  border-color: var(--admin-primary);
  background: color-mix(in oklab, var(--admin-primary) 9%, #fff);
  color: var(--admin-primary);
}

.home-calendar-readiness.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 26%, var(--admin-border));
}

.home-calendar-readiness.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 34%, var(--admin-border));
  background: #fffbeb;
}

.home-calendar-readiness.is-critical {
  border-color: color-mix(in oklab, var(--admin-danger) 30%, var(--admin-border));
  background: #fff7ed;
}

.home-calendar-readiness-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
}

.home-calendar-readiness-head h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1.05rem;
  line-height: 1.25;
}

.home-calendar-readiness-head p,
.home-calendar-readiness-empty {
  margin: 0.25rem 0 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.45;
}

.home-calendar-readiness-head > span,
.home-calendar-readiness-disabled {
  display: inline-flex;
  align-items: center;
  min-height: 1.8rem;
  padding: 0.15rem 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 64%, white);
  font-size: 0.78rem;
  font-weight: 700;
  white-space: nowrap;
}

.home-calendar-readiness-grid,
.home-calendar-readiness-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.55rem;
}

.home-calendar-readiness-grid > div,
.home-calendar-readiness-item {
  min-width: 0;
  padding: 0.65rem;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 0.5rem;
  background: #fff;
}

.home-calendar-readiness-grid span {
  display: block;
  color: var(--admin-muted);
  font-size: 0.75rem;
  font-weight: 650;
}

.home-calendar-readiness-grid strong {
  display: block;
  margin-top: 0.12rem;
  color: var(--admin-text);
  font-size: 1.18rem;
  line-height: 1.15;
}

.home-calendar-readiness-list {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
}

.home-calendar-readiness-item {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  align-items: center;
  gap: 0.6rem;
  min-height: 3.75rem;
  color: var(--admin-text);
  text-decoration: none;
}

.home-calendar-readiness-item:hover,
.home-calendar-readiness-item:focus {
  color: var(--admin-text);
  border-color: rgba(15, 23, 42, 0.22);
  text-decoration: none;
}

.home-calendar-readiness-date {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 2.65rem;
  border-radius: 0.45rem;
  color: var(--admin-primary);
  background: var(--admin-primary-soft);
  line-height: 1;
}

.home-calendar-readiness-date strong {
  font-size: 1.05rem;
}

.home-calendar-readiness-date small {
  margin-top: 0.12rem;
  color: var(--admin-muted);
  font-size: 0.67rem;
  text-transform: uppercase;
}

.home-calendar-readiness-body {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0.1rem;
}

.home-calendar-readiness-body strong,
.home-calendar-readiness-body small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home-calendar-readiness-body small {
  color: var(--admin-muted);
  font-size: 0.8rem;
}

.home-calendar-readiness-item-danger {
  border-color: #dc2626;
  background: #fff7f7;
}

.home-calendar-readiness-item-warning {
  border-color: #f59e0b;
  background: #fffaf0;
}

.home-calendar-readiness-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

.home-dashboard-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 34rem), 1fr));
  gap: 1rem;
}

.home-section {
  --section-color: var(--admin-primary);
  --section-soft: #f6f9ff;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  min-width: 0;
  padding: 1rem;
  border: 1px solid color-mix(in oklab, var(--section-color) 22%, var(--admin-border));
  border-radius: 0.5rem;
  background: #fff;
}

.home-section-administration {
  --section-color: #0b7285;
  --section-soft: #eef9fb;
}

.home-section-sales {
  --section-color: #2b8a3e;
  --section-soft: #f1fbf3;
}

.home-section-warehouse {
  --section-color: #8a5a00;
  --section-soft: #fff8e8;
}

.home-section-production {
  --section-color: #6741d9;
  --section-soft: #f7f4ff;
}

.home-section-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.home-section-tools {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.375rem;
}

.home-section-tools form {
  margin: 0;
}

.home-section-tools .btn {
  min-width: 3.75rem;
}

.home-section-header h2 {
  margin: 0;
  font-size: 1.125rem;
  line-height: 1.25;
}

.home-section-header p {
  margin: 0.25rem 0 0;
  color: #6c757d;
  font-size: 0.875rem;
}

.home-section-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  min-width: 0;
  padding: 0.55rem 0.65rem;
  border: 1px solid color-mix(in oklab, var(--section-color) 18%, var(--admin-border));
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--section-soft) 72%, white);
}

.home-section-actions > span {
  flex: 0 0 auto;
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.home-section-actions div {
  display: flex;
  flex: 1 1 auto;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.35rem;
  min-width: 0;
}

.home-section-actions a {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  max-width: 12rem;
  padding: 0.2rem 0.55rem;
  border: 1px solid color-mix(in oklab, var(--section-color) 22%, transparent);
  border-radius: 999px;
  color: var(--admin-text);
  background: #fff;
  font-size: 0.82rem;
  font-weight: 600;
  overflow: hidden;
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home-section-actions a:hover,
.home-section-actions a:focus {
  border-color: var(--section-color);
  color: var(--section-color);
  text-decoration: none;
}

.home-kpi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(10.5rem, 1fr));
  gap: 0.75rem;
}

.home-kpi {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 7.25rem;
  padding: 0.75rem;
  border: 1px solid color-mix(in oklab, var(--section-color) 26%, var(--admin-border));
  border-radius: 0.5rem;
  color: #212529;
  background: var(--section-soft);
  text-decoration: none;
}

.home-kpi:hover,
.home-chart-row:hover,
.home-queue-item:hover {
  color: #212529;
  border-color: rgba(0, 0, 0, 0.18);
  text-decoration: none;
}

.home-kpi-label,
.home-kpi-hint {
  color: #6c757d;
  font-size: 0.8125rem;
}

.home-kpi strong {
  margin: 0.25rem 0;
  overflow-wrap: anywhere;
  font-size: 1.35rem;
  line-height: 1.15;
}

.home-kpi-warning {
  border-color: #f08c00;
  background: #fff8e8;
}

.home-kpi-danger {
  border-color: #d6336c;
  background: #fff5f8;
}

.home-kpi-info {
  border-color: var(--admin-primary);
  background: #f6f9ff;
}

.home-alerts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
  gap: 0.5rem;
}

.home-alert {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  min-height: 3.75rem;
  padding: 0.625rem 0.75rem;
  border: 1px solid var(--admin-primary);
  border-radius: 0.5rem;
  color: #212529;
  background: #f8fbff;
  text-decoration: none;
}

.home-alert:hover {
  color: #212529;
  border-color: rgba(0, 0, 0, 0.18);
  text-decoration: none;
}

.home-alert strong,
.home-alert span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home-alert span {
  color: #6c757d;
  font-size: 0.8125rem;
}

.home-alert-warning {
  border-color: #f08c00;
  background: #fffaf0;
}

.home-alert-danger {
  border-color: #d6336c;
  background: #fff7f7;
}

.home-suggestions {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.home-suggestion {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  min-height: 3.5rem;
  padding: 0.625rem 0.75rem;
  border: 1px solid rgba(22, 50, 79, 0.28);
  border-radius: 0.5rem;
  color: #212529;
  background: #f8fbff;
  text-decoration: none;
}

.home-suggestion:hover {
  color: #212529;
  border-color: rgba(22, 50, 79, 0.35);
  text-decoration: none;
}

.home-suggestion span {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.home-suggestion strong,
.home-suggestion small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home-suggestion small {
  color: #6c757d;
}

.home-suggestion em {
  flex: 0 0 auto;
  max-width: 42%;
  color: var(--admin-primary);
  font-size: 0.8125rem;
  font-style: normal;
  font-weight: 600;
  overflow-wrap: anywhere;
  text-align: right;
}

.home-suggestion-warning {
  border-color: #f08c00;
  background: #fffaf0;
}

.home-suggestion-warning em {
  color: #b06000;
}

.home-chart {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.home-chart-row {
  display: grid;
  grid-template-columns: minmax(6rem, 1fr) minmax(7rem, 2fr) minmax(5rem, auto);
  align-items: center;
  gap: 0.625rem;
  min-height: 2rem;
  color: #212529;
  text-decoration: none;
}

.home-chart-label,
.home-chart-value {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.8125rem;
}

.home-chart-value {
  text-align: right;
  color: #495057;
}

.home-chart-track {
  height: 0.625rem;
  overflow: hidden;
  border-radius: 999px;
  background: #e9ecef;
}

.home-chart-bar {
  display: block;
  height: 100%;
  min-width: 0.5rem;
  border-radius: inherit;
  background: var(--section-color);
}

.home-trends {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(4.75rem, 1fr));
  gap: 0.5rem;
  min-height: 8rem;
}

.home-trend {
  display: grid;
  grid-template-rows: auto 4.25rem auto auto;
  align-items: end;
  gap: 0.25rem;
  min-width: 0;
  padding: 0.5rem;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 0.5rem;
  color: #212529;
  background: #fff;
  text-align: center;
  text-decoration: none;
}

.home-trend:hover {
  color: #212529;
  border-color: rgba(0, 0, 0, 0.18);
  text-decoration: none;
}

.home-trend-period,
.home-trend-value,
.home-trend small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home-trend-period,
.home-trend small {
  color: #6c757d;
  font-size: 0.75rem;
}

.home-trend-value {
  font-size: 0.8125rem;
  font-weight: 600;
}

.home-trend-track {
  display: flex;
  align-items: end;
  justify-content: center;
  height: 4.25rem;
  border-radius: 0.375rem;
  background: #f1f3f5;
}

.home-trend-bar {
  display: block;
  width: 1.25rem;
  min-height: 0.25rem;
  max-height: 100%;
  border-radius: 0.375rem 0.375rem 0 0;
  background: var(--section-color);
}

.home-trend-down .home-trend-bar {
  background: #d6336c;
}

.home-trend-up .home-trend-bar {
  background: #2b8a3e;
}

.home-agenda {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
  gap: 0.5rem;
}

.home-agenda-item {
  display: grid;
  grid-template-columns: 3.25rem minmax(0, 1fr);
  align-items: center;
  gap: 0.625rem;
  min-height: 3.75rem;
  padding: 0.625rem 0.75rem;
  border: 1px solid color-mix(in oklab, var(--section-color) 22%, var(--admin-border));
  border-radius: 0.5rem;
  color: #212529;
  background: #fff;
  text-decoration: none;
}

.home-agenda-item:hover {
  color: #212529;
  border-color: rgba(0, 0, 0, 0.18);
  text-decoration: none;
}

.home-agenda-date {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  border-radius: 0.375rem;
  color: var(--section-color);
  background: var(--section-soft);
  line-height: 1;
}

.home-agenda-date strong {
  font-size: 1.125rem;
}

.home-agenda-date small {
  margin-top: 0.125rem;
  color: #6c757d;
  font-size: 0.6875rem;
  text-transform: uppercase;
}

.home-agenda-body {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.home-agenda-body strong,
.home-agenda-body small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home-agenda-body small {
  color: #6c757d;
}

.home-agenda-item-warning {
  border-color: #f08c00;
  background: #fffaf0;
}

.home-agenda-item-danger {
  border-color: #d6336c;
  background: #fff7f7;
}

.home-queue {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.home-queue-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: stretch;
  gap: 0.45rem;
  min-width: 0;
}

.home-queue-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  min-height: 3.25rem;
  padding: 0.625rem 0.75rem;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 0.5rem;
  color: #212529;
  background: #fff;
  text-decoration: none;
}

.home-queue-item span {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.home-queue-item strong,
.home-queue-item small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home-queue-item small {
  color: #6c757d;
}

.home-queue-item em {
  flex: 0 1 auto;
  max-width: 42%;
  min-width: 0;
  color: #495057;
  font-style: normal;
  font-weight: 600;
  overflow-wrap: anywhere;
  text-align: right;
}

.home-queue-action {
  display: flex;
  align-items: stretch;
  margin: 0;
}

.home-queue-action .btn {
  min-height: 100%;
  white-space: nowrap;
}

@media (max-width: 575.98px) {
  .home-queue-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .home-suggestion,
  .home-queue-item {
    align-items: flex-start;
  }

  .home-suggestion em,
  .home-queue-item em {
    max-width: 38%;
    line-height: 1.25;
  }

  .home-queue-action .btn {
    width: 100%;
    min-height: 2.4rem;
  }
}

.home-queue-item-warning {
  border-color: #f08c00;
  background: #fffaf0;
}

.home-queue-item-danger {
  border-color: #d6336c;
  background: #fff7f7;
}

.home-queue-item-info {
  border-color: var(--admin-primary);
  background: #f8fbff;
}

.home-empty-space {
  min-height: 100%;
}

.admin-index-page {
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
}

.admin-page-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid var(--admin-border);
}

.admin-page-title {
  margin: 0;
  color: #111827;
  font-size: 1.6rem;
  line-height: 1.2;
}

.admin-page-title-sub {
  display: block;
  margin-top: 0.2rem;
  color: var(--admin-muted);
  font-size: 0.875rem;
}

.admin-page-actions,
.admin-page-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.admin-page-tools .btn {
  min-width: 8.8rem;
}

.admin-filter-card {
  margin-bottom: 0;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.admin-filter-card.admin-filter-busy {
  border-color: color-mix(in oklab, var(--admin-primary) 24%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-primary-soft) 34%, var(--admin-surface));
}

.admin-filter-card.admin-filter-busy .btn[aria-disabled="true"] {
  cursor: wait;
}

.admin-filter-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(10.5rem, 1fr));
  gap: 0.75rem;
}

.admin-filter-grid .col-md-1,
.admin-filter-grid .col-md-2,
.admin-filter-grid .col-md-3,
.admin-filter-grid .col {
  width: 100%;
}

.admin-filter-actions {
  display: flex;
  align-items: flex-end;
  width: 100%;
  min-height: 2.75rem;
}

.admin-filter-actions .btn {
  width: 100%;
}

.admin-filter-actions-wrap {
  width: 100%;
}

.admin-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1rem;
}

.admin-empty {
  border: 1px dashed var(--admin-border);
  background: #f8fbff;
}

.admin-empty-action {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem;
  border-radius: var(--admin-radius);
  color: var(--admin-text);
}

.admin-empty-action h2 {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.25;
}

.admin-empty-action p {
  max-width: 68ch;
  margin: 0.25rem 0 0;
  color: var(--admin-muted);
  line-height: 1.5;
}

.admin-empty-actions {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.5rem;
}

.admin-empty-actions .btn {
  min-width: 9rem;
}

.admin-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
  gap: 0.75rem;
}

.admin-summary-card {
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
  box-shadow: var(--admin-shadow);
  padding: 0.9rem 0.95rem;
}

.admin-summary-card .admin-summary-label {
  color: var(--admin-muted);
  font-size: 0.8rem;
  margin-bottom: 0.2rem;
}

.admin-summary-value {
  font-size: 1.25rem;
  font-weight: 650;
  line-height: 1.2;
}

.admin-summary-value-small {
  font-size: 1rem;
}

.admin-result-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  color: var(--admin-muted);
  font-size: 0.88rem;
}

.admin-result-strip span {
  font-weight: 650;
}

.lead-proposal-control-panel {
  display: grid;
  gap: 0.8rem;
  padding: 0.95rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
  box-shadow: var(--admin-shadow);
}

.lead-proposal-control-panel.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 24%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-success) 4%, var(--admin-surface));
}

.lead-proposal-control-panel.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 30%, var(--admin-border));
  background: #fffbeb;
}

.lead-proposal-control-panel.is-danger {
  border-color: color-mix(in oklab, var(--admin-danger) 30%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-danger) 5%, var(--admin-surface));
}

.lead-proposal-control-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
}

.lead-proposal-control-head h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1.05rem;
  line-height: 1.25;
}

.lead-proposal-control-head p {
  max-width: 78ch;
  margin: 0.25rem 0 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

.lead-proposal-control-head > span {
  flex: 0 0 auto;
  padding: 0.25rem 0.6rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: var(--admin-surface);
  font-size: 0.8rem;
  font-weight: 700;
}

.lead-proposal-control-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.65rem;
}

.lead-proposal-control-grid > div {
  min-width: 0;
  padding: 0.68rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: var(--admin-surface);
}

.lead-proposal-control-grid span,
.lead-proposal-control-grid small {
  display: block;
  color: var(--admin-muted);
  font-size: 0.78rem;
  line-height: 1.35;
}

.lead-proposal-control-grid strong {
  display: block;
  margin: 0.18rem 0;
  color: var(--admin-text);
  font-size: 1.02rem;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

.lead-proposal-control-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.lead-proposal-decision-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.lead-proposal-decision-strip span {
  min-height: 1.75rem;
  padding: 0.25rem 0.5rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: var(--admin-surface);
  font-size: 0.8rem;
  font-weight: 650;
}

.lead-proposals-table {
  min-width: 64rem;
}

.lead-proposals-table td {
  overflow-wrap: anywhere;
  vertical-align: middle;
}

.lead-proposals-decision-form {
  min-width: 0;
}

.sales-agents-summary .admin-summary-card.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 24%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-success) 5%, var(--admin-surface));
}

.sales-agents-summary .admin-summary-card.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 30%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-warning) 5%, var(--admin-surface));
}

.sales-agents-card-note {
  margin-top: 0.3rem;
  color: var(--admin-muted);
  font-size: 0.8rem;
  line-height: 1.35;
}

.sales-agents-control-panel {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
  box-shadow: var(--admin-shadow);
}

.sales-agents-control-copy {
  min-width: 14rem;
  max-width: 72ch;
}

.sales-agents-control-copy h2 {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.25;
}

.sales-agents-control-copy p {
  margin: 0.3rem 0 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

.sales-agents-control-actions {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.5rem;
}

.sales-agents-table {
  min-width: 58rem;
}

.sales-agents-contact-stack {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
}

.sales-agents-contact-stack a,
.sales-agents-table td {
  overflow-wrap: anywhere;
}

.commission-settlement-detail-page {
  min-width: 0;
}

.commission-settlement-summary .admin-summary-card.is-ready,
.commission-settlement-summary .admin-summary-card.is-warning,
.commission-settlement-summary .admin-summary-card.is-danger {
  background: var(--admin-surface);
}

.commission-settlement-summary .admin-summary-card.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 26%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-success) 5%, var(--admin-surface));
}

.commission-settlement-summary .admin-summary-card.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 32%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-warning) 5%, var(--admin-surface));
}

.commission-settlement-summary .admin-summary-card.is-danger {
  border-color: color-mix(in oklab, var(--admin-danger) 30%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-danger) 4%, var(--admin-surface));
}

.commission-settlement-card-note {
  margin-top: 0.3rem;
  color: var(--admin-muted);
  font-size: 0.78rem;
  line-height: 1.35;
}

.commission-settlement-control-panel,
.commission-settlement-panel {
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
  box-shadow: var(--admin-shadow);
}

.commission-settlement-control-panel {
  display: grid;
  grid-template-columns: minmax(15rem, 0.32fr) minmax(0, 1fr);
  gap: 0.9rem;
  align-items: start;
}

.commission-settlement-control-copy h2,
.commission-settlement-section-head h2,
.commission-settlement-action-card h2 {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.25;
}

.commission-settlement-control-copy p,
.commission-settlement-section-head p,
.commission-settlement-action-card p {
  max-width: 72ch;
  margin: 0.3rem 0 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

.commission-settlement-control-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
  gap: 0.65rem 0.9rem;
  margin: 0;
}

.commission-settlement-control-grid div {
  min-width: 0;
}

.commission-settlement-control-grid dt {
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.commission-settlement-control-grid dd {
  margin: 0.15rem 0 0;
  color: var(--admin-text);
  font-weight: 650;
  overflow-wrap: anywhere;
}

.commission-settlement-second-control-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(12rem, 1fr));
  gap: 0.65rem;
  margin: 0.75rem 0 0;
}

.commission-settlement-second-control-summary div,
.commission-settlement-second-check {
  min-width: 0;
  padding: 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 46%, white);
}

.commission-settlement-second-control-wide {
  grid-column: 1 / -1;
}

.commission-settlement-second-control-summary dt {
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.commission-settlement-second-control-summary dd {
  margin: 0.16rem 0 0;
  color: var(--admin-text);
  font-weight: 650;
  overflow-wrap: anywhere;
}

.commission-settlement-second-checklist {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
  gap: 0.55rem;
  margin-top: 0.75rem;
}

.commission-settlement-second-audit {
  display: grid;
  gap: 0.65rem;
  margin-top: 0.85rem;
  padding: 0.75rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-surface) 88%, var(--admin-bg));
}

.commission-settlement-second-audit-head h3 {
  margin: 0;
  color: var(--admin-text);
  font-size: 0.95rem;
  font-weight: 750;
}

.commission-settlement-second-audit-head p {
  margin: 0.18rem 0 0;
  color: var(--admin-muted);
  font-size: 0.8rem;
  line-height: 1.35;
}

.commission-settlement-second-audit-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
  gap: 0.55rem;
}

.commission-settlement-second-audit-event {
  min-width: 0;
  display: grid;
  gap: 0.22rem;
  padding: 0.6rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.45rem;
  background: var(--admin-surface);
}

.commission-settlement-second-audit-event span,
.commission-settlement-second-audit-event small {
  color: var(--admin-muted);
  font-size: 0.76rem;
  line-height: 1.35;
}

.commission-settlement-second-audit-event strong {
  color: var(--admin-text);
  font-size: 0.9rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.commission-settlement-second-audit-event-success {
  border-color: color-mix(in oklab, var(--admin-success) 24%, var(--admin-border));
}

.commission-settlement-second-audit-event-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 34%, var(--admin-border));
}

.commission-settlement-second-audit-event-danger {
  border-color: color-mix(in oklab, var(--admin-danger) 28%, var(--admin-border));
}

.commission-settlement-second-audit-event-info {
  border-color: color-mix(in oklab, var(--admin-info) 26%, var(--admin-border));
}

.commission-settlement-second-control-actions {
  display: grid;
  gap: 0.55rem;
  margin-top: 0.85rem;
  padding-top: 0.85rem;
  border-top: 1px solid var(--admin-border);
}

.commission-settlement-ownership-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 0.85rem;
  align-items: center;
  margin-top: 0.85rem;
  padding-top: 0.85rem;
  border-top: 1px solid var(--admin-border);
}

.commission-settlement-ownership-actions form {
  margin: 0;
}

.commission-settlement-ownership-actions .btn {
  min-height: 44px;
}

.commission-settlement-ownership-actions span {
  min-width: 0;
  color: var(--admin-muted);
  font-size: 0.84rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.commission-settlement-assignment-grid {
  display: grid;
  grid-template-columns: minmax(14rem, 1fr) minmax(10rem, 0.35fr) auto;
  gap: 0.75rem;
  align-items: end;
}

.commission-settlement-second-check {
  display: grid;
  gap: 0.22rem;
}

.commission-settlement-second-check span,
.commission-settlement-second-check small {
  color: var(--admin-muted);
  font-size: 0.78rem;
  line-height: 1.35;
}

.commission-settlement-second-check strong {
  color: var(--admin-text);
  font-size: 0.92rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.commission-settlement-second-check-success {
  border-color: color-mix(in oklab, var(--admin-success) 24%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-success) 5%, var(--admin-surface));
}

.commission-settlement-second-check-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 30%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-warning) 6%, var(--admin-surface));
}

.commission-settlement-second-check-danger {
  border-color: color-mix(in oklab, var(--admin-danger) 30%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-danger) 5%, var(--admin-surface));
}

.commission-settlement-second-check-info {
  border-color: color-mix(in oklab, var(--admin-info) 28%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-info) 5%, var(--admin-surface));
}

.commission-settlement-section-head,
.commission-settlement-action-card {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.9rem;
}

.commission-settlement-section-head span {
  flex: 0 0 auto;
  color: var(--admin-muted);
  font-size: 0.82rem;
  font-weight: 650;
  white-space: nowrap;
}

.commission-settlement-link-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
  gap: 0.5rem;
  margin-top: 0.75rem;
}

.commission-settlement-link-grid a,
.commission-settlement-link-grid span {
  min-width: 0;
  padding: 0.55rem 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 46%, white);
  overflow-wrap: anywhere;
}

.commission-settlement-link-grid span {
  color: var(--admin-muted);
}

.commission-settlement-action-grid {
  display: grid;
  grid-template-columns: minmax(9rem, 0.22fr) minmax(12rem, 1fr) auto;
  gap: 0.75rem;
  align-items: end;
}

.commission-settlement-action-buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.5rem;
}

.commission-settlement-action-buttons .btn,
.commission-settlement-action-card .btn {
  min-width: 8rem;
}

.commission-settlement-table {
  min-width: 46rem;
}

.commission-settlement-table td {
  overflow-wrap: anywhere;
}

.commission-settlements-index-page {
  min-width: 0;
}

.commission-settlements-index-summary .admin-summary-card {
  min-width: 0;
}

.commission-settlements-index-summary .admin-summary-card.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 26%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-success) 5%, var(--admin-surface));
}

.commission-settlements-index-summary .admin-summary-card.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 34%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-warning) 6%, var(--admin-surface));
}

.commission-settlements-index-control {
  display: grid;
  grid-template-columns: minmax(14rem, 0.32fr) minmax(0, 1fr);
  gap: 0.9rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.commission-settlements-index-state {
  display: grid;
  align-content: start;
  gap: 0.25rem;
  min-width: 0;
  padding: 0.75rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 58%, white);
}

.commission-settlements-index-state span {
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.commission-settlements-index-state strong {
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.25;
}

.commission-settlements-index-state p {
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.86rem;
  line-height: 1.45;
}

.commission-settlements-index-state-success {
  border-color: color-mix(in oklab, var(--admin-success) 30%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-success) 5%, var(--admin-surface));
}

.commission-settlements-index-state-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 34%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-warning) 6%, var(--admin-surface));
}

.commission-settlements-index-state-info {
  border-color: color-mix(in oklab, var(--admin-primary) 24%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-primary) 5%, var(--admin-surface));
}

.commission-settlements-index-actions {
  display: flex;
  flex-wrap: wrap;
  align-content: start;
  gap: 0.5rem;
  min-width: 0;
}

.commission-settlements-payment-control {
  display: grid;
  grid-template-columns: minmax(14rem, 0.3fr) minmax(0, 1fr);
  gap: 0.9rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.commission-settlements-payment-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
  gap: 0.55rem;
  min-width: 0;
  margin: 0;
}

.commission-settlements-payment-metrics div {
  min-width: 0;
  padding: 0.7rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 48%, white);
}

.commission-settlements-payment-metrics dt {
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.commission-settlements-payment-metrics dd {
  margin: 0.18rem 0 0;
  color: var(--admin-text);
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.commission-settlements-second-control {
  display: grid;
  grid-template-columns: minmax(14rem, 0.3fr) minmax(0, 1fr) auto;
  gap: 0.9rem;
  align-items: start;
  min-width: 0;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.commission-settlements-second-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(8rem, 1fr));
  gap: 0.55rem;
  min-width: 0;
  margin: 0;
}

.commission-settlements-second-metrics div {
  min-width: 0;
  padding: 0.68rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 48%, white);
}

.commission-settlements-second-metrics-wide {
  grid-column: span 2;
}

.commission-settlements-second-metrics dt {
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.76rem;
  font-weight: 650;
}

.commission-settlements-second-metrics dd {
  margin: 0.16rem 0 0;
  color: var(--admin-text);
  font-size: 0.94rem;
  font-weight: 700;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.commission-settlements-second-actions {
  display: grid;
  gap: 0.45rem;
  min-width: 10rem;
}

.commission-settlements-manager-control {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.commission-settlements-manager-head {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: start;
  justify-content: space-between;
  min-width: 0;
}

.commission-settlements-manager-head h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1rem;
  font-weight: 700;
}

.commission-settlements-manager-head p {
  max-width: 72ch;
  margin: 0.25rem 0 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.45;
}

.commission-settlements-manager-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  align-items: center;
  justify-content: flex-end;
}

.commission-settlements-queue-scope {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.2rem;
  padding: 0.2rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.4rem;
  background: var(--admin-bg);
}

.commission-settlements-queue-scope a {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0.35rem 0.6rem;
  border-radius: 0.3rem;
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 650;
  text-decoration: none;
}

.commission-settlements-queue-scope a:hover,
.commission-settlements-queue-scope a:focus-visible {
  color: var(--admin-text);
  background: var(--admin-surface);
}

.commission-settlements-queue-scope a.active {
  color: var(--admin-primary-strong);
  background: color-mix(in oklab, var(--admin-primary) 10%, var(--admin-surface));
}

.commission-settlements-queue-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
  justify-content: space-between;
  color: var(--admin-muted);
  font-size: 0.82rem;
}

.commission-settlements-queue-pagination > div {
  display: flex;
  gap: 0.45rem;
}

.commission-settlements-manager-empty {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
  padding: 0.8rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 48%, white);
}

.commission-settlements-manager-empty strong {
  color: var(--admin-text);
}

.commission-settlements-manager-empty span {
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.45;
}

.commission-settlements-manager-table-shell {
  margin: 0;
}

.commission-settlements-manager-table {
  margin: 0;
}

.commission-settlements-manager-table th,
.commission-settlements-manager-table td {
  vertical-align: top;
}

.commission-settlements-manager-table td {
  color: var(--admin-text);
  font-size: 0.86rem;
}

.commission-settlements-manager-table td span {
  display: block;
  margin-top: 0.12rem;
  color: var(--admin-muted);
  font-size: 0.76rem;
  line-height: 1.35;
}

.commission-settlements-manager-table td strong {
  display: block;
  color: var(--admin-text);
  font-size: 0.86rem;
  line-height: 1.25;
}

.commission-settlements-manager-table td[data-label="Azione"] {
  display: grid;
  gap: 0.4rem;
  min-width: 12rem;
}

.commission-settlements-manager-table td[data-label="Azione"] span {
  margin: 0;
}

.commission-settlements-review-control {
  display: grid;
  gap: 0.85rem;
  min-width: 0;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.commission-settlements-review-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.8fr);
  gap: 0.9rem;
  align-items: start;
  min-width: 0;
}

.commission-settlements-review-head h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1rem;
  font-weight: 700;
}

.commission-settlements-review-head p {
  max-width: 72ch;
  margin: 0.25rem 0 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.45;
}

.commission-settlements-review-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.5rem;
  min-width: 0;
  margin: 0;
}

.commission-settlements-review-side {
  display: grid;
  gap: 0.5rem;
  min-width: 0;
}

.commission-settlements-review-side .btn {
  justify-self: end;
}

.commission-settlements-review-policy {
  min-width: 0;
  padding: 0.48rem 0.6rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  color: var(--admin-muted);
  background: var(--admin-surface);
  font-size: 0.8rem;
  font-weight: 650;
  line-height: 1.35;
}

.commission-settlements-review-summary div,
.commission-settlements-review-empty,
.commission-settlements-review-card {
  min-width: 0;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 48%, white);
}

.commission-settlements-review-summary div {
  padding: 0.65rem;
}

.commission-settlements-review-summary dt,
.commission-settlements-review-card-metrics dt {
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.76rem;
  font-weight: 650;
}

.commission-settlements-review-summary dd,
.commission-settlements-review-card-metrics dd {
  margin: 0.16rem 0 0;
  color: var(--admin-text);
  font-weight: 700;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.commission-settlements-review-empty {
  display: grid;
  gap: 0.2rem;
  padding: 0.8rem;
}

.commission-settlements-review-empty strong {
  color: var(--admin-text);
}

.commission-settlements-review-empty span {
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.45;
}

.commission-settlements-review-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr));
  gap: 0.65rem;
  min-width: 0;
}

.commission-settlements-review-card {
  display: grid;
  gap: 0.65rem;
  padding: 0.75rem;
}

.commission-settlements-review-card-danger {
  border-color: color-mix(in oklab, var(--admin-danger) 34%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-danger) 5%, var(--admin-surface));
}

.commission-settlements-review-card-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 34%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-warning) 6%, var(--admin-surface));
}

.commission-settlements-review-card-info {
  border-color: color-mix(in oklab, var(--admin-primary) 24%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-primary) 5%, var(--admin-surface));
}

.commission-settlements-review-card-head,
.commission-settlements-review-action {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.65rem;
  min-width: 0;
}

.commission-settlements-review-card-head div {
  min-width: 0;
}

.commission-settlements-review-card-head span:not(.badge) {
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.commission-settlements-review-card-head strong {
  display: block;
  margin-top: 0.12rem;
  color: var(--admin-text);
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.commission-settlements-review-card-metrics {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(7rem, auto);
  gap: 0.5rem;
  margin: 0;
}

.commission-settlements-review-reasons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.commission-settlements-review-reasons span {
  min-height: 1.6rem;
  display: inline-flex;
  align-items: center;
  padding: 0.16rem 0.45rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-text);
  background: var(--admin-surface);
  font-size: 0.78rem;
  font-weight: 650;
}

.commission-settlements-review-action span {
  min-width: 0;
  color: var(--admin-muted);
  font-size: 0.84rem;
  line-height: 1.4;
}

.commission-settlements-create-form h2 {
  font-size: 1rem;
}

.commission-settlements-index-table td {
  vertical-align: middle;
}

.commission-settlements-index-table td[data-label="Righe"],
.commission-settlements-index-table td[data-label="Lordo"],
.commission-settlements-index-table td[data-label="Trattenute"],
.commission-settlements-index-table td[data-label="ENASARCO"],
.commission-settlements-index-table td[data-label="Netto"] {
  font-variant-numeric: tabular-nums;
}

.commission-plan-detail-page {
  min-width: 0;
}

.commission-plan-summary .admin-summary-card.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 24%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-success) 5%, var(--admin-surface));
}

.commission-plan-summary .admin-summary-card.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 30%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-warning) 5%, var(--admin-surface));
}

.commission-plan-card-note {
  margin-top: 0.3rem;
  color: var(--admin-muted);
  font-size: 0.78rem;
  line-height: 1.35;
}

.commission-plan-control-panel,
.commission-plan-panel {
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
  box-shadow: var(--admin-shadow);
}

.commission-plan-control-panel {
  display: grid;
  grid-template-columns: minmax(15rem, 0.32fr) minmax(0, 1fr);
  gap: 0.9rem;
  align-items: start;
}

.commission-plan-control-copy h2,
.commission-plan-section-head h2 {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.25;
}

.commission-plan-control-copy p,
.commission-plan-section-head p {
  max-width: 72ch;
  margin: 0.3rem 0 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

.commission-plan-control-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
  gap: 0.65rem 0.9rem;
  margin: 0;
}

.commission-plan-control-grid div {
  min-width: 0;
}

.commission-plan-control-grid dt {
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.commission-plan-control-grid dd {
  margin: 0.15rem 0 0;
  color: var(--admin-text);
  font-weight: 650;
  overflow-wrap: anywhere;
}

.commission-plan-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.9rem;
  margin-bottom: 0.8rem;
}

.commission-plan-section-head span {
  flex: 0 0 auto;
  color: var(--admin-muted);
  font-size: 0.82rem;
  font-weight: 650;
  white-space: nowrap;
}

.commission-plan-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(19rem, 0.75fr);
  gap: 0.9rem;
  align-items: start;
}

.commission-plan-form-grid,
.commission-plan-simulation-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
  gap: 0.75rem;
}

.commission-plan-form-wide {
  grid-column: span 2;
}

.commission-plan-form-check {
  align-self: end;
  margin: 0.25rem 0 0 0.25rem;
}

.commission-plan-form-actions {
  display: flex;
  align-items: end;
}

.commission-plan-form-actions .btn {
  width: 100%;
  min-height: 2.4rem;
}

.commission-plan-table {
  min-width: 58rem;
}

.commission-plan-table td {
  overflow-wrap: anywhere;
}

.commission-plans-index-page {
  min-width: 0;
}

.commission-plans-index-summary .admin-summary-card {
  min-width: 0;
}

.commission-plans-index-summary .admin-summary-card.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 26%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-success) 5%, var(--admin-surface));
}

.commission-plans-index-summary .admin-summary-card.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 34%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-warning) 6%, var(--admin-surface));
}

.commission-plans-index-control {
  display: grid;
  grid-template-columns: minmax(14rem, 0.32fr) minmax(0, 1fr);
  gap: 0.9rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.commission-plans-index-state {
  display: grid;
  align-content: start;
  gap: 0.25rem;
  min-width: 0;
  padding: 0.75rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 58%, white);
}

.commission-plans-index-state span {
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.commission-plans-index-state strong {
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.25;
}

.commission-plans-index-state p {
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.86rem;
  line-height: 1.45;
}

.commission-plans-index-state-success {
  border-color: color-mix(in oklab, var(--admin-success) 30%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-success) 5%, var(--admin-surface));
}

.commission-plans-index-state-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 34%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-warning) 6%, var(--admin-surface));
}

.commission-plans-index-actions {
  display: flex;
  flex-wrap: wrap;
  align-content: start;
  gap: 0.5rem;
  min-width: 0;
}

.commission-plan-scenario-panel {
  display: grid;
  gap: 0.8rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.commission-plan-scenario-head,
.commission-plan-scenario-row-head,
.commission-plan-scenario-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.65rem;
}

.commission-plan-scenario-head h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.25;
}

.commission-plan-scenario-head p {
  max-width: 74ch;
  margin: 0.25rem 0 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
  line-height: 1.5;
}

.commission-plan-scenario-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 10.5rem), 1fr));
  gap: 0.6rem;
  margin: 0;
}

.commission-plan-scenario-summary div,
.commission-plan-scenario-row {
  min-width: 0;
  padding: 0.72rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.55rem;
  background: color-mix(in oklab, var(--admin-bg) 54%, white);
}

.commission-plan-scenario-summary dt,
.commission-plan-scenario-summary small,
.commission-plan-scenario-row-head span:not(.commission-plan-scenario-badge),
.commission-plan-scenario-footer {
  color: var(--admin-muted);
  font-size: 0.78rem;
  line-height: 1.35;
}

.commission-plan-scenario-summary dd {
  margin: 0.1rem 0;
  color: var(--admin-text);
  font-size: 1.1rem;
  font-weight: 760;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

.commission-plan-scenario-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
  gap: 0.7rem;
  min-width: 0;
}

.commission-plan-scenario-row {
  display: grid;
  gap: 0.65rem;
}

.commission-plan-scenario-row-ready {
  border-color: color-mix(in oklab, var(--admin-success) 26%, var(--admin-border));
}

.commission-plan-scenario-row-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 34%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-warning) 5%, var(--admin-surface));
}

.commission-plan-scenario-row-danger {
  border-color: color-mix(in oklab, var(--admin-danger) 30%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-danger) 5%, var(--admin-surface));
}

.commission-plan-scenario-row-head h3 {
  margin: 0.08rem 0 0;
  color: var(--admin-text);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.commission-plan-scenario-badge {
  flex: 0 0 auto;
  max-width: 100%;
  min-height: 1.6rem;
  padding: 0.18rem 0.55rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 24%, var(--admin-border));
  border-radius: 999px;
  color: var(--admin-primary-dark);
  background: var(--admin-primary-soft);
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.commission-plan-scenario-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.5rem;
  margin: 0;
}

.commission-plan-scenario-metrics div {
  min-width: 0;
}

.commission-plan-scenario-metrics dt {
  color: var(--admin-muted);
  font-size: 0.76rem;
  font-weight: 650;
}

.commission-plan-scenario-metrics dd {
  margin: 0.08rem 0 0;
  color: var(--admin-text);
  font-size: 0.92rem;
  font-weight: 720;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

.commission-plan-scenario-footer a {
  font-weight: 650;
  text-decoration: none;
}

.commission-plans-index-table td {
  vertical-align: middle;
}

.commission-plans-index-table td[data-label="Regole"] {
  font-variant-numeric: tabular-nums;
}

.sales-manager-priority-panel {
  display: grid;
  grid-template-columns: minmax(14rem, 0.34fr) minmax(0, 1fr);
  gap: 0.9rem;
  align-items: stretch;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.sales-manager-priority-copy {
  min-width: 0;
}

.sales-manager-priority-copy h2 {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.25;
}

.sales-manager-priority-copy p {
  margin: 0.35rem 0 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
  line-height: 1.5;
}

.sales-manager-priority-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr));
  gap: 0.6rem;
  min-width: 0;
}

.sales-manager-priority-item {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
  min-height: 6.75rem;
  padding: 0.7rem 0.75rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  color: var(--admin-text);
  background: color-mix(in oklab, var(--admin-bg) 54%, white);
  text-decoration: none;
}

.sales-manager-priority-item:hover,
.sales-manager-priority-item:focus {
  border-color: color-mix(in oklab, var(--admin-primary) 34%, var(--admin-border));
  color: var(--admin-primary-dark);
  background: var(--admin-primary-soft);
  text-decoration: none;
}

.sales-manager-priority-item span,
.sales-manager-priority-item small {
  color: var(--admin-muted);
  font-size: 0.78rem;
}

.sales-manager-priority-item strong,
.sales-manager-priority-item em {
  overflow-wrap: anywhere;
}

.sales-manager-priority-item strong {
  font-size: 0.96rem;
  line-height: 1.25;
}

.sales-manager-priority-item em {
  font-size: 1.04rem;
  font-style: normal;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.sales-manager-priority-item-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 30%, var(--admin-border));
  background: color-mix(in oklab, #fef3c7 48%, white);
}

.sales-manager-priority-item-attention {
  border-color: color-mix(in oklab, var(--admin-primary) 24%, var(--admin-border));
}

.sales-manager-area-forecast-panel {
  display: grid;
  gap: 0.8rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.sales-manager-area-forecast-head,
.sales-manager-area-forecast-title,
.sales-manager-area-forecast-foot {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.65rem;
}

.sales-manager-area-forecast-head h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.25;
}

.sales-manager-area-forecast-head p {
  max-width: 72ch;
  margin: 0.25rem 0 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
  line-height: 1.5;
}

.sales-manager-area-forecast-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
  gap: 0.7rem;
  min-width: 0;
}

.sales-manager-area-forecast-row {
  display: grid;
  gap: 0.65rem;
  min-width: 0;
  padding: 0.75rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.55rem;
  background: color-mix(in oklab, var(--admin-bg) 52%, white);
}

.sales-manager-area-forecast-row-ready {
  border-color: color-mix(in oklab, var(--admin-success) 26%, var(--admin-border));
}

.sales-manager-area-forecast-row-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 34%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-warning) 5%, var(--admin-surface));
}

.sales-manager-area-forecast-row-danger {
  border-color: color-mix(in oklab, var(--admin-danger) 30%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-danger) 5%, var(--admin-surface));
}

.sales-manager-area-forecast-row-muted {
  background: color-mix(in oklab, var(--admin-bg) 62%, white);
}

.sales-manager-area-forecast-title span:not(.sales-manager-area-forecast-badge),
.sales-manager-area-forecast-foot {
  color: var(--admin-muted);
  font-size: 0.8rem;
}

.sales-manager-area-forecast-title h3 {
  margin: 0.08rem 0 0;
  color: var(--admin-text);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.sales-manager-area-forecast-badge {
  flex: 0 0 auto;
  max-width: 100%;
  min-height: 1.65rem;
  padding: 0.18rem 0.55rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 24%, var(--admin-border));
  border-radius: 999px;
  color: var(--admin-primary-dark);
  background: var(--admin-primary-soft);
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.sales-manager-area-forecast-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.5rem;
  margin: 0;
}

.sales-manager-area-forecast-metrics div {
  min-width: 0;
}

.sales-manager-area-forecast-metrics dt {
  color: var(--admin-muted);
  font-size: 0.76rem;
  font-weight: 650;
}

.sales-manager-area-forecast-metrics dd {
  margin: 0.08rem 0 0;
  color: var(--admin-text);
  font-size: 0.92rem;
  font-weight: 720;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

.sales-manager-area-forecast-progress {
  height: 0.55rem;
  overflow: hidden;
  border: 1px solid color-mix(in oklab, var(--admin-border) 72%, transparent);
  border-radius: 999px;
  background: color-mix(in oklab, var(--admin-bg) 72%, white);
}

.sales-manager-area-forecast-progress span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--admin-primary);
}

.sales-manager-dashboard-page {
  min-width: 0;
}

.sales-manager-dashboard-summary .admin-summary-card {
  min-width: 0;
}

.sales-manager-control-panel {
  display: grid;
  grid-template-columns: minmax(13rem, 0.28fr) minmax(0, 1fr);
  gap: 0.9rem;
  align-items: stretch;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.sales-manager-control-state,
.sales-manager-control-card {
  min-width: 0;
  padding: 0.75rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 58%, white);
}

.sales-manager-control-state {
  display: grid;
  align-content: start;
  gap: 0.25rem;
}

.sales-manager-control-state span,
.sales-manager-control-card span {
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.sales-manager-control-state strong,
.sales-manager-control-card strong {
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.25;
}

.sales-manager-control-state p,
.sales-manager-control-card p {
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.86rem;
  line-height: 1.45;
}

.sales-manager-control-state-success {
  border-color: color-mix(in oklab, var(--admin-success) 30%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-success) 5%, var(--admin-surface));
}

.sales-manager-control-state-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 34%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-warning) 6%, var(--admin-surface));
}

.sales-manager-control-state-danger {
  border-color: color-mix(in oklab, var(--admin-danger) 30%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-danger) 5%, var(--admin-surface));
}

.sales-manager-control-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 10.5rem), 1fr));
  gap: 0.6rem;
  min-width: 0;
}

.sales-manager-control-card {
  display: grid;
  gap: 0.2rem;
}

.sales-manager-control-card strong {
  font-size: 1.15rem;
  font-variant-numeric: tabular-nums;
}

.sales-manager-control-card a {
  align-self: end;
  width: fit-content;
  margin-top: 0.25rem;
  font-size: 0.84rem;
  font-weight: 650;
  text-decoration: none;
}

.sales-manager-dashboard-table {
  min-width: 76rem;
}

.sales-manager-dashboard-table td {
  vertical-align: middle;
}

.sales-manager-dashboard-table td[data-label="Pipeline"],
.sales-manager-dashboard-table td[data-label="Target pipe."],
.sales-manager-dashboard-table td[data-label="Accettate"],
.sales-manager-dashboard-table td[data-label="Fatturato"],
.sales-manager-dashboard-table td[data-label="Target fatt."],
.sales-manager-dashboard-table td[data-label="Incassato"],
.sales-manager-dashboard-table td[data-label="Target inc."],
.sales-manager-dashboard-table td[data-label="Scaduto"],
.sales-manager-dashboard-table td[data-label="Provv. maturate"],
.sales-manager-dashboard-table td[data-label="Da liquidare"] {
  font-variant-numeric: tabular-nums;
}

.sales-agent-portal-page {
  min-width: 0;
}

.sales-agent-portal-summary .admin-summary-card {
  min-width: 0;
}

.sales-agent-portal-control {
  display: grid;
  grid-template-columns: minmax(13rem, 0.28fr) minmax(0, 1fr);
  gap: 0.9rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.sales-agent-portal-state,
.sales-agent-portal-control-card {
  min-width: 0;
  padding: 0.75rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 58%, white);
}

.sales-agent-portal-state {
  display: grid;
  align-content: start;
  gap: 0.25rem;
}

.sales-agent-portal-state span,
.sales-agent-portal-control-card span {
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.sales-agent-portal-state strong,
.sales-agent-portal-control-card strong {
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.sales-agent-portal-state p,
.sales-agent-portal-control-card p {
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.86rem;
  line-height: 1.45;
}

.sales-agent-portal-state-success {
  border-color: color-mix(in oklab, var(--admin-success) 30%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-success) 5%, var(--admin-surface));
}

.sales-agent-portal-state-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 34%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-warning) 6%, var(--admin-surface));
}

.sales-agent-portal-control-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 10.5rem), 1fr));
  gap: 0.6rem;
  min-width: 0;
}

.sales-agent-portal-control-card {
  display: grid;
  gap: 0.2rem;
}

.sales-agent-portal-control-card strong {
  font-size: 1.12rem;
  font-variant-numeric: tabular-nums;
}

.sales-agent-portal-control-card a {
  align-self: end;
  width: fit-content;
  margin-top: 0.25rem;
  font-size: 0.84rem;
  font-weight: 650;
  text-decoration: none;
}

.sales-agent-portal-section h2 {
  margin-bottom: 0.65rem;
  font-size: 1.05rem;
}

.sales-agent-portal-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

.sales-agent-portal-section-head h2 {
  margin-bottom: 0.2rem;
}

.sales-agent-portal-section-head p {
  max-width: 72ch;
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
}

.sales-agent-portal-section-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.sales-agent-portal-agenda-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
  gap: 0.75rem;
}

.sales-agent-portal-agenda-card {
  display: grid;
  gap: 0.7rem;
  min-width: 0;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.sales-agent-portal-agenda-card span {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  padding: 0.16rem 0.45rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 18%, var(--admin-border));
  border-radius: 999px;
  color: var(--admin-primary-dark);
  background: var(--admin-primary-soft);
  font-size: 0.76rem;
  font-weight: 700;
}

.sales-agent-portal-agenda-card strong {
  display: block;
  margin-top: 0.4rem;
  color: var(--admin-text);
  font-size: 1rem;
  overflow-wrap: anywhere;
}

.sales-agent-portal-agenda-card p {
  margin: 0.18rem 0 0;
  color: var(--admin-muted);
  font-size: 0.86rem;
  line-height: 1.45;
}

.sales-agent-portal-agenda-card dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.45rem;
  margin: 0;
}

.sales-agent-portal-agenda-card dl div {
  min-width: 0;
  padding: 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 48%, white);
}

.sales-agent-portal-agenda-card dt {
  color: var(--admin-muted);
  font-size: 0.74rem;
  font-weight: 650;
}

.sales-agent-portal-agenda-card dd {
  margin: 0.12rem 0 0;
  color: var(--admin-text);
  font-size: 0.9rem;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.sales-agent-portal-table td {
  vertical-align: middle;
}

.sales-agent-portal-table td[data-label="Netto"],
.sales-agent-portal-table td[data-label="Provvigione stimata"],
.sales-agent-portal-table td[data-label="Lordo"],
.sales-agent-portal-table td[data-label="Trattenute"],
.sales-agent-portal-table td[data-label="ENASARCO"],
.sales-agent-portal-table td[data-label="Base"],
.sales-agent-portal-table td[data-label="Importo"] {
  font-variant-numeric: tabular-nums;
}

.tenant-users-editor {
  display: grid;
  grid-template-columns: minmax(14rem, 0.32fr) minmax(0, 1fr);
  gap: 0.9rem;
  margin-bottom: 1rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.tenant-users-editor-copy h2 {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.25;
}

.tenant-users-editor-copy p {
  margin: 0.35rem 0 0.6rem;
  color: var(--admin-muted);
  font-size: 0.9rem;
  line-height: 1.5;
}

.tenant-users-editor-copy ul {
  margin: 0;
  padding-left: 1.1rem;
  color: var(--admin-muted);
  font-size: 0.84rem;
  line-height: 1.45;
}

.tenant-users-form {
  min-width: 0;
}

.tenant-users-form-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
  gap: 0.75rem;
}

.tenant-users-form .form-label {
  display: grid;
  gap: 0.25rem;
  margin: 0;
  color: var(--admin-text);
  font-weight: 600;
}

.tenant-users-form .form-text {
  color: var(--admin-muted);
  font-size: 0.8rem;
  font-weight: 400;
}

.tenant-users-ip-note {
  display: inline-flex;
  margin-left: 0.35rem;
  padding: 0.08rem 0.35rem;
  border: 1px solid color-mix(in oklab, var(--admin-warning) 25%, var(--admin-border));
  border-radius: 0.35rem;
  color: #7c2d12;
  background: color-mix(in oklab, #fef3c7 52%, white);
  font-size: 0.74rem;
  font-weight: 650;
}

.admin-inline-status {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.75rem;
  align-items: center;
  padding: 0.7rem 0.8rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  color: var(--admin-text);
  background: color-mix(in oklab, var(--admin-primary-soft) 54%, white);
}

.admin-inline-status span {
  min-width: 0;
  color: var(--admin-muted);
  overflow-wrap: anywhere;
}

.admin-submit-busy button[type="submit"],
.admin-submit-busy input[type="submit"] {
  cursor: progress;
}

.admin-submit-busy button[type="submit"] {
  position: relative;
}

.admin-submit-busy button[type="submit"]::after {
  content: "";
  width: 0.85rem;
  height: 0.85rem;
  margin-left: 0.45rem;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 999px;
  display: inline-block;
  vertical-align: -0.12rem;
  animation: admin-submit-spin 0.75s linear infinite;
}

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

.admin-operational-alert {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(14rem, 0.42fr);
  gap: 0.75rem;
  align-items: start;
  padding: 0.8rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.admin-operational-alert-success {
  border-color: color-mix(in oklab, var(--admin-success) 32%, var(--admin-border));
  background: color-mix(in oklab, #dcfce7 48%, white);
}

.admin-operational-alert-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 32%, var(--admin-border));
  background: color-mix(in oklab, #fef3c7 52%, white);
}

.admin-operational-alert-danger {
  border-color: color-mix(in oklab, var(--admin-danger) 32%, var(--admin-border));
  background: color-mix(in oklab, #ffe4e6 52%, white);
}

.admin-operational-alert-info {
  border-color: color-mix(in oklab, var(--admin-primary) 26%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-primary-soft) 56%, white);
}

.admin-operational-alert-copy {
  min-width: 0;
}

.admin-operational-alert-copy strong {
  display: block;
  margin-bottom: 0.25rem;
  color: var(--admin-text);
}

.admin-operational-alert-copy p {
  max-width: 76ch;
  margin: 0;
  color: var(--admin-muted);
  line-height: 1.5;
}

.admin-technical-details {
  min-width: 0;
  padding: 0.55rem 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 54%, white);
}

.admin-technical-details summary {
  min-height: 2rem;
  display: flex;
  align-items: center;
  color: var(--admin-text);
  cursor: pointer;
  font-weight: 650;
}

.admin-technical-details summary:focus-visible {
  outline: 2px solid var(--admin-focus);
  outline-offset: 2px;
  border-radius: 0.35rem;
}

.admin-technical-details dl {
  display: grid;
  gap: 0.35rem;
  margin: 0.55rem 0 0;
}

.admin-technical-details dl > div {
  display: grid;
  grid-template-columns: minmax(8rem, 0.9fr) minmax(0, 1fr);
  gap: 0.45rem;
}

.admin-technical-details dt {
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.admin-technical-details dd {
  min-width: 0;
  margin: 0;
  color: var(--admin-text);
  overflow-wrap: anywhere;
}

.banking-settings-page,
.banking-health-panel {
  gap: 0.9rem;
}

.banking-health-panel {
  display: grid;
  gap: 0.9rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.banking-health-head,
.banking-section-head,
.banking-connect-flow-head,
.banking-connect-panel {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
}

.banking-connect-flow-head dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(7rem, 1fr));
  gap: 0.5rem;
  min-width: min(100%, 18rem);
  margin: 0;
}

.banking-connect-flow-head dl > div {
  min-width: 0;
  padding: 0.5rem 0.6rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.45rem;
  background: color-mix(in oklab, var(--admin-bg) 52%, white);
}

.banking-connect-flow-head dt {
  color: var(--admin-muted);
  font-size: 0.74rem;
  font-weight: 750;
}

.banking-connect-flow-head dd {
  margin: 0.1rem 0 0;
  color: var(--admin-text);
  font-size: 0.84rem;
  font-weight: 750;
  overflow-wrap: anywhere;
}

.banking-health-title,
.banking-section-head div,
.banking-connect-flow-head div,
.banking-connect-copy {
  min-width: 0;
}

.banking-health-title span,
.banking-connect-flow-head span {
  display: block;
  color: var(--admin-muted);
  font-size: 0.82rem;
  font-weight: 650;
}

.banking-health-title h2,
.banking-section-head h2,
.banking-connect-flow-head h2,
.banking-connect-copy h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1.12rem;
  line-height: 1.25;
}

.banking-health-title p,
.banking-section-head p,
.banking-connect-flow-head p,
.banking-connect-copy p {
  max-width: 76ch;
  margin: 0.25rem 0 0;
  color: var(--admin-muted);
  line-height: 1.5;
}

.banking-health-actions {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.45rem;
}

.banking-health-actions form {
  display: inline-flex;
  margin: 0;
}

.banking-health-actions .badge {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
}

.banking-kpi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 10.5rem), 1fr));
  gap: 0.7rem;
}

.banking-kpi-card {
  min-width: 0;
  padding: 0.8rem 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 52%, white);
}

.banking-kpi-card-wide {
  grid-column: span 2;
}

.banking-kpi-card span,
.banking-kpi-card strong,
.banking-kpi-card small,
.banking-kpi-card p {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.banking-kpi-card span {
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.banking-kpi-card strong {
  margin-top: 0.14rem;
  color: var(--admin-text);
  font-size: 1.2rem;
  line-height: 1.2;
}

.banking-kpi-card .banking-kpi-date {
  font-size: 1rem;
}

.banking-kpi-card small,
.banking-kpi-card p {
  margin: 0.16rem 0 0;
  color: var(--admin-muted);
  font-size: 0.8rem;
}

.banking-kpi-card p strong {
  display: inline;
  margin: 0;
  font-size: inherit;
}

.banking-kpi-error,
.banking-table-error {
  color: var(--admin-danger) !important;
}

.banking-table-warning {
  color: var(--admin-warning);
  font-size: 0.82rem;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.banking-provider-readiness,
.banking-italian-validation,
.banking-gocardless-pilot,
.banking-gocardless-go-nogo,
.banking-gocardless-commercial-profile,
.banking-gocardless-provider-issues,
.banking-gocardless-playbook,
.banking-consent-renewal,
.banking-provider-compact {
  display: grid;
  gap: 0.75rem;
  padding: 0.8rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.55rem;
  background: color-mix(in oklab, var(--admin-bg) 46%, white);
}

.banking-provider-readiness-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
}

.banking-italian-validation-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
}

.banking-gocardless-pilot-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
}

.banking-gocardless-go-nogo-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
}

.banking-gocardless-commercial-profile-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
}

.banking-gocardless-provider-issues-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
}

.banking-gocardless-playbook-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
}

.banking-consent-renewal-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
}

.banking-provider-readiness-head h3,
.banking-italian-validation-head h3,
.banking-gocardless-pilot-head h3,
.banking-gocardless-go-nogo-head h3,
.banking-gocardless-commercial-profile-head h3,
.banking-gocardless-provider-issues-head h3,
.banking-gocardless-playbook-head h3,
.banking-consent-renewal-head h3,
.banking-provider-compact strong {
  display: block;
  margin: 0.3rem 0 0.15rem;
  color: var(--admin-text);
  font-size: 1rem;
  font-weight: 750;
  line-height: 1.25;
}

.banking-provider-readiness-head p,
.banking-italian-validation-head p,
.banking-gocardless-pilot-head p,
.banking-gocardless-go-nogo-head p,
.banking-gocardless-commercial-profile-head p,
.banking-gocardless-provider-issues-head p,
.banking-gocardless-playbook-head p,
.banking-consent-renewal-head p,
.banking-provider-compact small {
  display: block;
  max-width: 72ch;
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.86rem;
  line-height: 1.45;
}

.banking-provider-readiness-head dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(8rem, 1fr));
  gap: 0.55rem;
  min-width: min(100%, 22rem);
  margin: 0;
}

.banking-italian-validation-side {
  display: grid;
  gap: 0.55rem;
  justify-items: end;
  min-width: min(100%, 27rem);
}

.banking-italian-validation-side .btn {
  width: fit-content;
}

.banking-italian-validation-head dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(7rem, 1fr));
  gap: 0.55rem;
  width: 100%;
  margin: 0;
}

.banking-gocardless-pilot-head dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(6.8rem, 1fr));
  gap: 0.55rem;
  min-width: min(100%, 24rem);
  margin: 0;
}

.banking-gocardless-go-nogo-head dl {
  display: grid;
  grid-template-columns: repeat(4, minmax(6.8rem, 1fr));
  gap: 0.55rem;
  min-width: min(100%, 31rem);
  margin: 0;
}

.banking-gocardless-commercial-profile-head dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(6.8rem, 1fr));
  gap: 0.55rem;
  min-width: min(100%, 24rem);
  margin: 0;
}

.banking-gocardless-provider-issues-head dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(6.8rem, 1fr));
  gap: 0.55rem;
  min-width: min(100%, 24rem);
  margin: 0;
}

.banking-gocardless-playbook-head dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(6.8rem, 1fr));
  gap: 0.55rem;
  min-width: min(100%, 24rem);
  margin: 0;
}

.banking-consent-renewal-head dl {
  display: grid;
  grid-template-columns: repeat(4, minmax(6.8rem, 1fr));
  gap: 0.55rem;
  min-width: min(100%, 34rem);
  margin: 0;
}

.banking-provider-readiness-head dl > div,
.banking-italian-validation-head dl > div,
.banking-gocardless-pilot-head dl > div,
.banking-gocardless-go-nogo-head dl > div,
.banking-gocardless-commercial-profile-head dl > div,
.banking-gocardless-provider-issues-head dl > div,
.banking-gocardless-playbook-head dl > div,
.banking-consent-renewal-head dl > div {
  min-width: 0;
  padding: 0.55rem 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.45rem;
  background: var(--admin-surface);
}

.banking-provider-readiness-head dt,
.banking-italian-validation-head dt,
.banking-gocardless-pilot-head dt,
.banking-gocardless-go-nogo-head dt,
.banking-gocardless-commercial-profile-head dt,
.banking-gocardless-provider-issues-head dt,
.banking-gocardless-playbook-head dt,
.banking-consent-renewal-head dt {
  color: var(--admin-muted);
  font-size: 0.75rem;
  font-weight: 700;
}

.banking-provider-readiness-head dd,
.banking-italian-validation-head dd,
.banking-gocardless-pilot-head dd,
.banking-gocardless-go-nogo-head dd,
.banking-gocardless-commercial-profile-head dd,
.banking-gocardless-provider-issues-head dd,
.banking-gocardless-playbook-head dd,
.banking-consent-renewal-head dd {
  margin: 0.12rem 0 0;
  color: var(--admin-text);
  font-size: 0.84rem;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.banking-consent-renewal-list {
  display: grid;
  gap: 0.55rem;
}

.banking-consent-renewal-sla {
  display: grid;
  grid-template-columns: minmax(16rem, 1fr) minmax(18rem, 0.95fr);
  gap: 0.65rem;
  align-items: stretch;
  min-width: 0;
  padding: 0.68rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: var(--admin-surface);
}

.banking-consent-renewal-sla.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 24%, var(--admin-border));
}

.banking-consent-renewal-sla.is-warning {
  border-color: #fcd34d;
  background: #fffbeb;
}

.banking-consent-renewal-sla.is-danger {
  border-color: color-mix(in oklab, var(--admin-danger) 34%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-danger) 6%, var(--admin-surface));
}

.banking-consent-renewal-sla.is-info {
  border-color: #93c5fd;
  background: #eff6ff;
}

.banking-consent-renewal-sla > div,
.banking-consent-renewal-sla dl {
  min-width: 0;
}

.banking-consent-renewal-sla span,
.banking-consent-renewal-sla dt,
.banking-consent-renewal-sla small {
  display: block;
  color: var(--admin-muted);
  font-size: 0.76rem;
  font-weight: 650;
  line-height: 1.35;
}

.banking-consent-renewal-sla strong {
  display: block;
  margin: 0.1rem 0;
  color: var(--admin-text);
  font-weight: 760;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.banking-consent-renewal-sla dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.5rem;
  margin: 0;
}

.banking-consent-renewal-sla dl > div {
  min-width: 0;
  padding: 0.5rem 0.58rem;
  border: 1px solid color-mix(in oklab, var(--admin-border) 82%, transparent);
  border-radius: 0.45rem;
  background: color-mix(in oklab, var(--admin-surface) 76%, white);
}

.banking-consent-renewal-sla dd {
  margin: 0.12rem 0 0;
  color: var(--admin-text);
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.1;
}

.banking-consent-renewal-agenda-head {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.65rem;
  align-items: baseline;
  padding: 0.55rem 0.62rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-primary-soft) 45%, var(--admin-surface));
}

.banking-consent-renewal-agenda-head span {
  color: var(--admin-primary-dark);
  font-size: 0.78rem;
  font-weight: 760;
}

.banking-consent-renewal-agenda-head strong {
  color: var(--admin-text);
  font-size: 0.88rem;
  font-weight: 680;
}

.banking-consent-renewal-row,
.banking-consent-renewal-empty {
  display: grid;
  grid-template-columns: minmax(11rem, 0.7fr) minmax(14rem, 0.9fr) minmax(14rem, 1fr) minmax(13rem, 0.85fr) auto;
  gap: 0.65rem;
  align-items: center;
  min-width: 0;
  padding: 0.68rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: var(--admin-surface);
}

.banking-consent-renewal-empty {
  grid-template-columns: minmax(0, 1fr);
}

.banking-consent-renewal-row.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 25%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-success) 6%, var(--admin-surface));
}

.banking-consent-renewal-row.is-warning {
  border-color: #fcd34d;
  background: #fffbeb;
}

.banking-consent-renewal-row.is-danger {
  border-color: color-mix(in oklab, var(--admin-danger) 32%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-danger) 6%, var(--admin-surface));
}

.banking-consent-renewal-row.is-info {
  border-color: #93c5fd;
  background: #eff6ff;
}

.banking-consent-renewal-main,
.banking-consent-renewal-row dl,
.banking-consent-renewal-agenda,
.banking-consent-renewal-row p,
.banking-consent-renewal-actions,
.banking-consent-renewal-empty {
  min-width: 0;
}

.banking-consent-renewal-main span,
.banking-consent-renewal-row dt,
.banking-consent-renewal-agenda span,
.banking-consent-renewal-row small,
.banking-consent-renewal-empty span {
  display: block;
  color: var(--admin-muted);
  font-size: 0.76rem;
  font-weight: 650;
  line-height: 1.35;
}

.banking-consent-renewal-main strong,
.banking-consent-renewal-empty strong {
  display: block;
  margin: 0.1rem 0;
  color: var(--admin-text);
  font-weight: 760;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.banking-consent-renewal-main code {
  display: block;
  color: var(--admin-muted);
  font-size: 0.76rem;
  white-space: normal;
  overflow-wrap: anywhere;
}

.banking-consent-renewal-row dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
  margin: 0;
}

.banking-consent-renewal-row dl > div {
  min-width: 0;
}

.banking-consent-renewal-row dd {
  margin: 0.12rem 0;
  color: var(--admin-text);
  font-size: 0.88rem;
  font-weight: 750;
  overflow-wrap: anywhere;
}

.banking-consent-renewal-agenda {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.42rem 0.5rem;
  align-items: start;
}

.banking-consent-renewal-agenda > div {
  min-width: 0;
}

.banking-consent-renewal-agenda strong {
  display: block;
  margin-top: 0.1rem;
  color: var(--admin-text);
  font-size: 0.86rem;
  font-weight: 760;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.banking-consent-renewal-agenda small {
  grid-column: 1 / -1;
  color: var(--admin-muted);
}

.banking-consent-renewal-row p {
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.84rem;
  line-height: 1.4;
}

.banking-consent-renewal-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.4rem;
}

.banking-consent-renewal-actions form {
  margin: 0;
}

.banking-gocardless-go-nogo-priority {
  display: grid;
  grid-template-columns: minmax(14rem, 0.85fr) minmax(16rem, 1.15fr);
  gap: 0.65rem;
  align-items: stretch;
  min-width: 0;
  padding: 0.65rem;
  border: 1px solid color-mix(in oklab, var(--admin-danger) 18%, var(--admin-border));
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-danger) 4%, var(--admin-surface));
}

.banking-gocardless-go-nogo-priority > div,
.banking-gocardless-go-nogo-priority ol,
.banking-gocardless-go-nogo-empty {
  min-width: 0;
  margin: 0;
}

.banking-gocardless-go-nogo-priority span {
  display: block;
  color: var(--admin-muted);
  font-size: 0.76rem;
  font-weight: 700;
  line-height: 1.35;
}

.banking-gocardless-go-nogo-priority > div strong {
  display: block;
  margin-top: 0.16rem;
  color: var(--admin-text);
  font-size: 0.9rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.banking-gocardless-go-nogo-priority ol {
  display: grid;
  gap: 0.36rem;
  padding-left: 1.1rem;
}

.banking-gocardless-go-nogo-priority li {
  min-width: 0;
  color: var(--admin-muted);
  font-size: 0.82rem;
  line-height: 1.35;
}

.banking-gocardless-go-nogo-priority li strong {
  display: inline;
  color: var(--admin-text);
  font-weight: 760;
}

.banking-gocardless-go-nogo-priority li span {
  display: inline;
  font-size: inherit;
  font-weight: 500;
}

.banking-gocardless-go-nogo-empty {
  color: var(--admin-muted);
  font-size: 0.84rem;
  line-height: 1.4;
}

@media (max-width: 991.98px) {
  .banking-gocardless-go-nogo-head dl,
  .banking-gocardless-go-nogo-priority {
    grid-template-columns: 1fr;
  }

  .banking-gocardless-go-nogo-head dl {
    min-width: 0;
  }
}

.banking-provider-checks,
.banking-italian-validation-grid,
.banking-gocardless-pilot-grid,
.banking-gocardless-go-nogo-grid,
.banking-gocardless-commercial-profile-grid,
.banking-provider-compact-checks {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 10.5rem), 1fr));
  gap: 0.55rem;
}

.banking-provider-check,
.banking-italian-validation-item,
.banking-gocardless-pilot-grid > div,
.banking-gocardless-go-nogo-grid > div,
.banking-gocardless-commercial-profile-grid > div {
  min-width: 0;
  padding: 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.45rem;
  background: var(--admin-surface);
}

.banking-gocardless-pilot-grid > div.is-ready,
.banking-gocardless-go-nogo-grid > div.is-ready,
.banking-gocardless-commercial-profile-grid > div.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 22%, var(--admin-border));
}

.banking-gocardless-pilot-grid > div.is-warning,
.banking-gocardless-go-nogo-grid > div.is-warning,
.banking-gocardless-commercial-profile-grid > div.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 30%, var(--admin-border));
  background: color-mix(in oklab, #fef3c7 26%, var(--admin-surface));
}

.banking-gocardless-go-nogo-grid > div.is-danger {
  border-color: color-mix(in oklab, var(--admin-danger) 34%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-danger) 7%, var(--admin-surface));
}

.banking-provider-check .badge,
.banking-italian-validation-item .badge {
  margin-bottom: 0.4rem;
}

.banking-provider-check strong,
.banking-provider-check small,
.banking-italian-validation-item strong,
.banking-italian-validation-item small,
.banking-italian-validation-item p,
.banking-gocardless-pilot-grid span,
.banking-gocardless-pilot-grid strong,
.banking-gocardless-pilot-grid small,
.banking-gocardless-go-nogo-grid span,
.banking-gocardless-go-nogo-grid strong,
.banking-gocardless-go-nogo-grid small,
.banking-gocardless-go-nogo-grid p,
.banking-gocardless-commercial-profile-grid span,
.banking-gocardless-commercial-profile-grid strong,
.banking-gocardless-commercial-profile-grid small,
.banking-gocardless-commercial-profile-grid p {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.banking-provider-check strong,
.banking-italian-validation-item strong,
.banking-gocardless-pilot-grid strong,
.banking-gocardless-go-nogo-grid strong,
.banking-gocardless-commercial-profile-grid strong {
  color: var(--admin-text);
  font-size: 0.88rem;
  line-height: 1.25;
}

.banking-gocardless-pilot-grid span,
.banking-gocardless-go-nogo-grid span,
.banking-gocardless-commercial-profile-grid span {
  margin-bottom: 0.22rem;
  color: var(--admin-muted);
  font-size: 0.74rem;
  font-weight: 700;
}

.banking-provider-check small,
.banking-italian-validation-item small,
.banking-italian-validation-item p,
.banking-gocardless-pilot-grid small,
.banking-gocardless-go-nogo-grid small,
.banking-gocardless-go-nogo-grid p,
.banking-gocardless-commercial-profile-grid small,
.banking-gocardless-commercial-profile-grid p {
  margin-top: 0.18rem;
  color: var(--admin-muted);
  font-size: 0.78rem;
  line-height: 1.35;
}

.banking-gocardless-go-nogo-grid p {
  margin-bottom: 0;
}

.banking-gocardless-commercial-profile-form {
  padding: 0.65rem;
  border: 1px dashed var(--admin-border);
  border-radius: 0.45rem;
  background: color-mix(in oklab, var(--admin-surface) 78%, white);
}

.banking-gocardless-commercial-profile-form summary {
  cursor: pointer;
  color: var(--admin-text);
  font-size: 0.88rem;
  font-weight: 750;
}

.banking-gocardless-commercial-profile-form form {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
  gap: 0.6rem;
  margin-top: 0.65rem;
}

.banking-gocardless-commercial-profile-form label,
.banking-gocardless-commercial-profile-form span {
  display: grid;
  gap: 0.22rem;
  min-width: 0;
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.banking-gocardless-commercial-profile-form textarea,
.banking-gocardless-commercial-profile-form button {
  grid-column: span 2;
}

.banking-gocardless-provider-issue-list {
  display: grid;
  gap: 0.55rem;
}

.banking-gocardless-provider-issue-list > div {
  display: grid;
  grid-template-columns: minmax(11rem, 0.85fr) minmax(16rem, 1.35fr) minmax(13rem, 0.9fr);
  gap: 0.65rem;
  align-items: start;
  min-width: 0;
  padding: 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.45rem;
  background: var(--admin-surface);
}

.banking-gocardless-provider-issue-list > div.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 34%, var(--admin-border));
  background: color-mix(in oklab, #fef3c7 22%, var(--admin-surface));
}

.banking-gocardless-provider-issue-list > div.is-danger {
  border-color: color-mix(in oklab, var(--admin-danger) 34%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-danger) 7%, var(--admin-surface));
}

.banking-gocardless-provider-issue-list > div.is-info {
  border-color: color-mix(in oklab, var(--admin-info) 30%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-info) 6%, var(--admin-surface));
}

.banking-gocardless-provider-issue-list strong,
.banking-gocardless-provider-issue-list span,
.banking-gocardless-provider-issue-list small,
.banking-gocardless-provider-issue-list p,
.banking-gocardless-provider-issue-list time {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.banking-gocardless-provider-issue-list strong {
  color: var(--admin-text);
  font-size: 0.88rem;
  line-height: 1.25;
}

.banking-gocardless-provider-issue-list span,
.banking-gocardless-provider-issue-list time {
  color: var(--admin-muted);
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.35;
}

.banking-gocardless-provider-issue-list p,
.banking-gocardless-provider-issue-list small {
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.8rem;
  line-height: 1.4;
}

.banking-gocardless-provider-issue-empty {
  grid-template-columns: minmax(0, 1fr) !important;
}

.banking-gocardless-playbook-list {
  display: grid;
  gap: 0.55rem;
}

.banking-gocardless-playbook-list > div {
  display: grid;
  grid-template-columns: minmax(9rem, 0.7fr) minmax(14rem, 1fr) minmax(15rem, 1fr) minmax(13rem, 0.9fr);
  gap: 0.65rem;
  align-items: start;
  min-width: 0;
  padding: 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.45rem;
  background: var(--admin-surface);
}

.banking-gocardless-playbook-list > div.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 22%, var(--admin-border));
}

.banking-gocardless-playbook-list > div.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 30%, var(--admin-border));
  background: color-mix(in oklab, #fef3c7 22%, var(--admin-surface));
}

.banking-gocardless-playbook-list span,
.banking-gocardless-playbook-list strong,
.banking-gocardless-playbook-list p,
.banking-gocardless-playbook-list small {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.banking-gocardless-playbook-list span {
  color: var(--admin-muted);
  font-size: 0.74rem;
  font-weight: 700;
  line-height: 1.35;
}

.banking-gocardless-playbook-list strong {
  margin-top: 0.08rem;
  color: var(--admin-text);
  font-size: 0.88rem;
  font-weight: 760;
  line-height: 1.25;
}

.banking-gocardless-playbook-list p,
.banking-gocardless-playbook-list small {
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.8rem;
  line-height: 1.4;
}

.banking-gocardless-return-control,
.banking-gocardless-movement-sync {
  display: grid;
  gap: 0.75rem;
  margin-top: 1rem;
  padding: 1rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-info) 4%, var(--admin-surface));
}

.banking-gocardless-return-control-head,
.banking-gocardless-movement-sync-head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
}

.banking-gocardless-return-control-head h3,
.banking-gocardless-movement-sync-head h3 {
  margin: 0.25rem 0 0.15rem;
  color: var(--admin-text);
  font-size: 1rem;
  font-weight: 760;
}

.banking-gocardless-return-control-head p,
.banking-gocardless-movement-sync-head p {
  margin: 0;
  max-width: 68ch;
  color: var(--admin-muted);
  font-size: 0.86rem;
  line-height: 1.45;
}

.banking-gocardless-return-control-head dl,
.banking-gocardless-movement-sync-head dl {
  display: grid;
  grid-template-columns: repeat(4, minmax(5.5rem, 1fr));
  gap: 0.5rem;
  min-width: min(100%, 34rem);
  margin: 0;
}

.banking-gocardless-return-control-head dl > div,
.banking-gocardless-movement-sync-head dl > div {
  min-width: 0;
  padding: 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.45rem;
  background: var(--admin-surface);
}

.banking-gocardless-return-control-head dt,
.banking-gocardless-movement-sync-head dt {
  color: var(--admin-muted);
  font-size: 0.72rem;
  font-weight: 700;
}

.banking-gocardless-return-control-head dd,
.banking-gocardless-movement-sync-head dd {
  margin: 0.1rem 0 0;
  color: var(--admin-text);
  font-size: 1rem;
  font-weight: 760;
}

.banking-gocardless-return-actions,
.banking-gocardless-movement-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

.banking-gocardless-return-actions form,
.banking-gocardless-movement-actions form {
  display: inline-flex;
  margin: 0;
}

.banking-gocardless-return-grid,
.banking-gocardless-movement-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
  gap: 0.55rem;
}

.banking-gocardless-return-grid > div,
.banking-gocardless-movement-grid > div {
  display: grid;
  gap: 0.25rem;
  min-width: 0;
  padding: 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.45rem;
  background: var(--admin-surface);
}

.banking-gocardless-return-grid > div.is-ready,
.banking-gocardless-movement-grid > div.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 24%, var(--admin-border));
}

.banking-gocardless-return-grid > div.is-warning,
.banking-gocardless-movement-grid > div.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 30%, var(--admin-border));
  background: color-mix(in oklab, #fef3c7 20%, var(--admin-surface));
}

.banking-gocardless-return-grid span,
.banking-gocardless-return-grid strong,
.banking-gocardless-return-grid small,
.banking-gocardless-return-grid p,
.banking-gocardless-movement-grid span,
.banking-gocardless-movement-grid strong,
.banking-gocardless-movement-grid small,
.banking-gocardless-movement-grid p {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.banking-gocardless-return-grid span,
.banking-gocardless-movement-grid span {
  color: var(--admin-muted);
  font-size: 0.74rem;
  font-weight: 700;
}

.banking-gocardless-return-grid strong,
.banking-gocardless-movement-grid strong {
  color: var(--admin-text);
  font-size: 0.9rem;
  font-weight: 760;
  line-height: 1.25;
}

.banking-gocardless-return-grid small,
.banking-gocardless-return-grid p,
.banking-gocardless-movement-grid small,
.banking-gocardless-movement-grid p {
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.8rem;
  line-height: 1.4;
}

.banking-italian-validation-item p {
  margin-bottom: 0;
}

.banking-gocardless-quality {
  display: grid;
  gap: 0.55rem;
  padding: 0.7rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.45rem;
  background: color-mix(in oklab, var(--admin-bg) 58%, white);
}

.banking-gocardless-quality-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.8rem;
}

.banking-gocardless-quality-head h4 {
  margin: 0.3rem 0 0.15rem;
  color: var(--admin-text);
  font-size: 0.95rem;
  font-weight: 750;
  line-height: 1.25;
}

.banking-gocardless-quality-head p {
  max-width: 74ch;
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.82rem;
  line-height: 1.4;
}

.banking-gocardless-quality-head dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(6.8rem, 1fr));
  gap: 0.5rem;
  min-width: min(100%, 24rem);
  margin: 0;
}

.banking-gocardless-quality-head dl > div {
  min-width: 0;
  padding: 0.5rem 0.6rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.4rem;
  background: var(--admin-surface);
}

.banking-gocardless-quality-head dt {
  color: var(--admin-muted);
  font-size: 0.72rem;
  font-weight: 750;
}

.banking-gocardless-quality-head dd {
  margin: 0.1rem 0 0;
  color: var(--admin-text);
  font-size: 0.82rem;
  font-weight: 750;
  overflow-wrap: anywhere;
}

.banking-gocardless-quality-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 10.5rem), 1fr));
  gap: 0.5rem;
}

.banking-gocardless-quality-grid > div {
  display: grid;
  gap: 0.16rem;
  min-width: 0;
  padding: 0.6rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.4rem;
  background: var(--admin-surface);
}

.banking-gocardless-quality-grid > div.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 24%, var(--admin-border));
}

.banking-gocardless-quality-grid > div.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 30%, var(--admin-border));
  background: color-mix(in oklab, #fef3c7 22%, var(--admin-surface));
}

.banking-gocardless-quality-grid > div.is-info {
  border-color: color-mix(in oklab, var(--admin-info) 24%, var(--admin-border));
}

.banking-gocardless-quality-grid > div.is-muted {
  background: color-mix(in oklab, var(--admin-bg) 50%, white);
}

.banking-gocardless-quality-grid span,
.banking-gocardless-quality-grid strong,
.banking-gocardless-quality-grid em,
.banking-gocardless-quality-grid small {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.banking-gocardless-quality-grid span {
  color: var(--admin-muted);
  font-size: 0.72rem;
  font-style: normal;
  font-weight: 750;
}

.banking-gocardless-quality-grid strong {
  color: var(--admin-text);
  font-size: 0.84rem;
  line-height: 1.25;
}

.banking-gocardless-quality-grid em {
  color: var(--admin-text);
  font-size: 0.78rem;
  font-style: normal;
  font-weight: 700;
}

.banking-gocardless-quality-grid small {
  color: var(--admin-muted);
  font-size: 0.75rem;
  line-height: 1.35;
}

.banking-gocardless-automatch {
  display: grid;
  gap: 0.5rem;
  min-width: 0;
}

.banking-gocardless-automatch-head h5 {
  margin: 0;
  color: var(--admin-text);
  font-size: 0.86rem;
  font-weight: 750;
  line-height: 1.25;
}

.banking-gocardless-automatch-head p {
  max-width: 78ch;
  margin: 0.1rem 0 0;
  color: var(--admin-muted);
  font-size: 0.78rem;
  line-height: 1.35;
}

.banking-gocardless-automatch-gate {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  width: fit-content;
  max-width: 100%;
  margin-top: 0.45rem;
  padding: 0.45rem 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.4rem;
  background: var(--admin-surface);
}

.banking-gocardless-automatch-gate.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 24%, var(--admin-border));
}

.banking-gocardless-automatch-gate.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 30%, var(--admin-border));
  background: color-mix(in oklab, #fef3c7 18%, var(--admin-surface));
}

.banking-gocardless-automatch-gate span,
.banking-gocardless-automatch-gate p {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
}

.banking-gocardless-automatch-gate span {
  flex: 0 0 auto;
  color: var(--admin-text);
  font-size: 0.76rem;
  font-weight: 800;
  line-height: 1.35;
}

.banking-gocardless-automatch-gate p {
  color: var(--admin-muted);
  font-size: 0.74rem;
  line-height: 1.35;
}

.banking-gocardless-automatch-list {
  display: grid;
  gap: 0.4rem;
}

.banking-gocardless-automatch-list > div {
  display: grid;
  grid-template-columns: 3.2rem minmax(8rem, 0.7fr) minmax(12rem, 1fr);
  align-items: center;
  gap: 0.55rem;
  min-width: 0;
  padding: 0.5rem 0.6rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.4rem;
  background: var(--admin-surface);
}

.banking-gocardless-automatch-list > div.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 24%, var(--admin-border));
}

.banking-gocardless-automatch-list > div.is-info {
  border-color: color-mix(in oklab, var(--admin-info) 24%, var(--admin-border));
}

.banking-gocardless-automatch-list > div.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 30%, var(--admin-border));
  background: color-mix(in oklab, #fef3c7 18%, var(--admin-surface));
}

.banking-gocardless-automatch-list > div.is-muted {
  background: color-mix(in oklab, var(--admin-bg) 48%, white);
}

.banking-gocardless-automatch-list span,
.banking-gocardless-automatch-list strong,
.banking-gocardless-automatch-list small,
.banking-gocardless-automatch-list p {
  display: block;
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
}

.banking-gocardless-automatch-list span {
  color: var(--admin-text);
  font-variant-numeric: tabular-nums;
  font-size: 1rem;
  font-weight: 800;
}

.banking-gocardless-automatch-list strong {
  color: var(--admin-text);
  font-size: 0.82rem;
  line-height: 1.25;
}

.banking-gocardless-automatch-list small,
.banking-gocardless-automatch-list p {
  color: var(--admin-muted);
  font-size: 0.74rem;
  line-height: 1.35;
}

.banking-italian-bank-register {
  display: grid;
  gap: 0.55rem;
  padding-top: 0.2rem;
}

.banking-italian-bank-register-head h4 {
  margin: 0 0 0.15rem;
  color: var(--admin-text);
  font-size: 0.95rem;
  font-weight: 750;
  line-height: 1.25;
}

.banking-italian-bank-register-head p {
  max-width: 78ch;
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.82rem;
  line-height: 1.4;
}

.banking-italian-bank-register-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
  gap: 0.55rem;
}

.banking-italian-bank-card {
  display: grid;
  gap: 0.5rem;
  min-width: 0;
  padding: 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.45rem;
  background: var(--admin-surface);
}

.banking-italian-bank-card > div:first-child {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem;
  min-width: 0;
}

.banking-italian-bank-card strong,
.banking-italian-bank-card dd,
.banking-italian-bank-card p {
  min-width: 0;
  overflow-wrap: anywhere;
}

.banking-italian-bank-card strong {
  color: var(--admin-text);
  font-size: 0.9rem;
  line-height: 1.25;
}

.banking-italian-bank-card dl {
  display: grid;
  gap: 0.4rem;
  margin: 0;
}

.banking-italian-bank-card dt {
  color: var(--admin-muted);
  font-size: 0.72rem;
  font-weight: 750;
}

.banking-italian-bank-card dd {
  margin: 0.08rem 0 0;
  color: var(--admin-text);
  font-size: 0.78rem;
  line-height: 1.35;
}

.banking-italian-bank-card p {
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.78rem;
  line-height: 1.35;
}

.banking-italian-bank-connection-evidence {
  display: grid;
  gap: 0.35rem;
  min-width: 0;
  padding: 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.4rem;
  background: color-mix(in oklab, var(--admin-bg) 70%, white);
}

.banking-italian-bank-connection-evidence.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 28%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-success) 8%, var(--admin-surface));
}

.banking-italian-bank-connection-evidence.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 35%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-warning) 9%, var(--admin-surface));
}

.banking-italian-bank-connection-evidence > div:first-child {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.35rem;
  min-width: 0;
}

.banking-italian-bank-connection-evidence span,
.banking-italian-bank-connection-evidence small {
  color: var(--admin-muted);
  font-size: 0.72rem;
  line-height: 1.35;
}

.banking-italian-bank-connection-evidence strong {
  color: var(--admin-text);
  font-size: 0.8rem;
}

.banking-italian-bank-connection-evidence dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.35rem;
  margin: 0;
}

.banking-italian-bank-connection-evidence dt,
.banking-italian-bank-connection-evidence dd {
  margin: 0;
  font-size: 0.72rem;
  line-height: 1.25;
}

.banking-italian-bank-connection-evidence dt {
  color: var(--admin-muted);
  font-weight: 700;
}

.banking-italian-bank-connection-evidence dd {
  color: var(--admin-text);
  font-weight: 750;
}

.banking-italian-bank-result {
  display: grid;
  gap: 0.1rem;
  min-width: 0;
  padding: 0.5rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.4rem;
  background: color-mix(in oklab, var(--admin-bg) 55%, white);
}

.banking-italian-bank-result span,
.banking-italian-bank-result small {
  color: var(--admin-muted);
  font-size: 0.72rem;
  line-height: 1.3;
}

.banking-italian-bank-result strong {
  font-size: 0.82rem;
}

.banking-italian-bank-result dl {
  display: grid;
  gap: 0.25rem;
  margin: 0.25rem 0 0;
}

.banking-italian-bank-result dl div {
  display: flex;
  justify-content: space-between;
  gap: 0.5rem;
  min-width: 0;
}

.banking-italian-bank-result dt,
.banking-italian-bank-result dd {
  margin: 0;
  font-size: 0.72rem;
  line-height: 1.3;
}

.banking-italian-bank-result dt {
  color: var(--admin-muted);
  font-weight: 700;
}

.banking-italian-bank-result dd {
  color: var(--admin-text);
  text-align: right;
}

.banking-italian-bank-result-form {
  min-width: 0;
}

.banking-italian-bank-result-form summary {
  cursor: pointer;
  color: var(--admin-text);
  font-size: 0.8rem;
  font-weight: 750;
}

.banking-italian-bank-result-form form {
  display: grid;
  gap: 0.5rem;
  margin-top: 0.5rem;
}

.banking-italian-bank-result-form label {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
}

.banking-italian-bank-result-form label > span {
  color: var(--admin-muted);
  font-size: 0.72rem;
  font-weight: 750;
}

.banking-italian-bank-result-form textarea {
  resize: vertical;
}

.banking-italian-bank-result-form .btn {
  justify-self: start;
}

.banking-section-block {
  display: grid;
  gap: 0.55rem;
}

.banking-connections-table .admin-table {
  min-width: 56rem;
}

.banking-sync-table .admin-table {
  min-width: 52rem;
}

.banking-table-note,
.banking-table-error,
.banking-table-warning {
  color: var(--admin-muted);
  font-size: 0.82rem;
  overflow-wrap: anywhere;
}

.banking-table-warning {
  color: var(--admin-warning);
}

.banking-provider-meta {
  display: grid;
  gap: 0.18rem;
  margin: 0.45rem 0 0;
  color: var(--admin-muted);
  font-size: 0.78rem;
  line-height: 1.3;
}

.banking-provider-meta div {
  display: grid;
  grid-template-columns: minmax(4.6rem, max-content) minmax(0, 1fr);
  gap: 0.4rem;
  min-width: 0;
}

.banking-provider-meta dt {
  color: var(--admin-text);
  font-weight: 700;
}

.banking-provider-meta dd {
  margin: 0;
  min-width: 0;
  overflow-wrap: anywhere;
}

.banking-connection-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.banking-connection-actions form,
.banking-connection-actions .btn {
  min-width: 0;
}

.banking-connection-timeline {
  display: grid;
  gap: 0.45rem;
  margin-top: 0.7rem;
  padding-top: 0.65rem;
  border-top: 1px solid var(--admin-border);
}

.banking-connection-timeline > strong {
  color: var(--admin-text);
  font-size: 0.82rem;
}

.banking-connection-timeline ol {
  display: grid;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.banking-connection-timeline li {
  display: grid;
  grid-template-columns: minmax(6.25rem, max-content) minmax(0, 1fr);
  gap: 0.25rem 0.5rem;
  align-items: start;
  min-width: 0;
}

.banking-connection-timeline time {
  color: var(--admin-muted);
  font-size: 0.76rem;
  line-height: 1.55;
}

.banking-connection-timeline .badge {
  justify-self: start;
  white-space: normal;
  text-align: left;
}

.banking-connection-timeline small {
  grid-column: 2;
  color: var(--admin-muted);
  font-size: 0.78rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.banking-timeline-next-action {
  grid-column: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 0.45rem;
  min-width: 0;
  padding: 0.28rem 0.42rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 18%, var(--admin-border));
  border-radius: 0.45rem;
  color: #1e3a8a;
  background: color-mix(in oklab, var(--admin-primary) 6%, white);
  font-size: 0.76rem;
  font-weight: 650;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.banking-timeline-next-action span:first-child {
  color: var(--admin-primary-dark);
  font-weight: 750;
}

.banking-timeline-command {
  grid-column: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  min-width: 0;
}

.banking-timeline-command form {
  display: inline-flex;
  min-width: 0;
}

.banking-timeline-command .btn {
  min-height: 32px;
  padding-inline: 0.55rem;
  white-space: normal;
  text-align: left;
}

.banking-timeline-provider-error {
  grid-column: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 0.45rem;
  min-width: 0;
  padding: 0.3rem 0.45rem;
  border: 1px solid color-mix(in oklab, var(--admin-danger) 18%, var(--admin-border));
  border-radius: 0.45rem;
  color: #7f1d1d;
  background: color-mix(in oklab, var(--admin-danger) 7%, white);
  font-size: 0.76rem;
  font-weight: 650;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.banking-connect-flow {
  display: grid;
  gap: 0.75rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.banking-connect-steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr));
  gap: 0.65rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.banking-connect-next-step {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.9rem;
  padding: 0.78rem 0.85rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 22%, var(--admin-border));
  border-radius: 0.55rem;
  background: color-mix(in oklab, var(--admin-primary-soft) 62%, var(--admin-surface));
}

.banking-connect-next-step div {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
}

.banking-connect-next-step span,
.banking-connect-next-step strong,
.banking-connect-next-step p,
.banking-connect-next-step small {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
}

.banking-connect-next-step span {
  color: var(--admin-primary-dark);
  font-size: 0.76rem;
  font-weight: 800;
}

.banking-connect-next-step strong {
  color: var(--admin-text);
  font-size: 1rem;
}

.banking-connect-next-step p,
.banking-connect-next-step small {
  color: var(--admin-muted);
  font-size: 0.84rem;
  line-height: 1.45;
}

.banking-connect-next-step small {
  flex: 0 1 18rem;
  padding: 0.34rem 0.5rem;
  border-radius: 0.45rem;
  background: color-mix(in oklab, var(--admin-surface) 78%, white);
}

.banking-connect-steps li {
  min-width: 0;
  padding: 0.78rem 0.82rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 52%, white);
}

.banking-connect-steps li.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 24%, var(--admin-border));
}

.banking-connect-steps li.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 30%, var(--admin-border));
  background: color-mix(in oklab, #fef3c7 18%, var(--admin-surface));
}

.banking-connect-steps strong,
.banking-connect-steps span,
.banking-connect-steps em,
.banking-connect-steps small {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.banking-connect-steps span {
  width: fit-content;
  margin-bottom: 0.26rem;
  padding: 0.12rem 0.4rem;
  border-radius: 999px;
  background: color-mix(in oklab, var(--admin-surface) 74%, white);
  color: var(--admin-muted);
  font-size: 0.7rem;
  font-weight: 800;
  line-height: 1.25;
}

.banking-connect-steps strong {
  color: var(--admin-text);
  font-size: 0.92rem;
}

.banking-connect-steps em,
.banking-connect-steps small {
  margin-top: 0.18rem;
  color: var(--admin-muted);
  font-size: 0.8rem;
  line-height: 1.45;
}

.banking-connect-steps em {
  color: var(--admin-text);
  font-style: normal;
  font-weight: 650;
}

.banking-connect-panel {
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
  box-shadow: var(--admin-shadow);
  flex-wrap: wrap;
  overflow: clip;
}

.banking-connect-form {
  display: grid;
  flex: 1 1 22rem;
  gap: 0.45rem;
  min-width: min(100%, 18rem);
}

.banking-institution-search {
  display: grid;
  flex: 1 1 24rem;
  grid-template-columns: minmax(14rem, 1fr) auto;
  align-items: end;
  gap: 0.55rem;
  min-width: min(100%, 20rem);
}

.banking-institution-search-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.banking-institution-search .btn {
  min-height: 2.38rem;
  white-space: nowrap;
}

.banking-institution-summary {
  display: flex;
  flex: 1 1 100%;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.68rem 0.75rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.55rem;
  background: color-mix(in oklab, var(--admin-primary-soft) 42%, var(--admin-surface));
}

.banking-institution-summary > div:first-child {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
}

.banking-institution-summary strong,
.banking-institution-summary p,
.banking-institution-summary small {
  overflow-wrap: anywhere;
}

.banking-institution-summary p {
  margin: 0;
  color: var(--admin-text);
  font-size: 0.88rem;
  line-height: 1.45;
}

.banking-institution-summary small {
  color: var(--admin-muted);
  line-height: 1.4;
}

.banking-institution-summary dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(4.8rem, 1fr));
  gap: 0.45rem;
  min-width: min(100%, 17rem);
  margin: 0;
}

.banking-institution-summary dl div {
  padding: 0.46rem 0.52rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 14%, var(--admin-border));
  border-radius: 0.45rem;
  background: var(--admin-surface);
}

.banking-institution-summary dt {
  color: var(--admin-muted);
  font-size: 0.74rem;
  font-weight: 650;
}

.banking-institution-summary dd {
  margin: 0.1rem 0 0;
  font-size: 1rem;
  font-weight: 750;
}

.banking-provider-inline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  min-height: 2.35rem;
  padding: 0.5rem 0.62rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-info-soft) 56%, var(--admin-surface));
  color: var(--admin-text);
}

.banking-provider-inline span,
.banking-provider-inline strong {
  min-width: 0;
  overflow-wrap: anywhere;
}

.banking-provider-inline span {
  color: var(--admin-muted);
  font-size: 0.8rem;
}

.banking-provider-inline strong {
  font-size: 0.88rem;
  font-weight: 700;
  text-align: right;
}

.banking-connect-result-audit {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.45rem;
  margin: 0.65rem 0 0;
}

.banking-connect-result-audit div {
  min-width: 0;
  padding: 0.46rem 0.52rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: var(--admin-surface);
}

.banking-connect-result-audit dt {
  color: var(--admin-muted);
  font-size: 0.74rem;
  font-weight: 700;
}

.banking-connect-result-audit dd {
  margin: 0.1rem 0 0;
  color: var(--admin-text);
  font-size: 0.84rem;
  font-weight: 650;
  overflow-wrap: anywhere;
}

.banking-connect-form .btn {
  width: fit-content;
  min-width: 11rem;
}

.banking-settings-page table {
  max-width: 100%;
}

.banking-settings-page th,
.banking-settings-page td,
.banking-settings-page code {
  overflow-wrap: anywhere;
}

.backup-settings-page {
  gap: 0.9rem;
}

.backup-health-panel {
  display: grid;
  gap: 0.85rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
  box-shadow: var(--admin-shadow);
}

.backup-health-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--admin-border);
}

.backup-health-head h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1.12rem;
  line-height: 1.25;
}

.backup-health-head p {
  max-width: 76ch;
  margin: 0.25rem 0 0;
  color: var(--admin-muted);
  line-height: 1.5;
}

.backup-health-head .badge {
  flex: 0 0 auto;
}

.backup-health-grid {
  margin-right: 0;
  margin-left: 0;
}

.backup-health-metric {
  display: grid;
  align-content: start;
  gap: 0.14rem;
  min-width: 0;
  padding: 0.72rem 0.78rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 52%, white);
}

.backup-health-metric > * {
  min-width: 0;
  overflow-wrap: anywhere;
}

.backup-health-metric strong {
  color: var(--admin-text);
  line-height: 1.25;
}

.backup-health-metric .badge {
  width: fit-content;
  margin-top: 0.2rem;
}

.backup-restore-readiness {
  display: grid;
  gap: 0.8rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
  box-shadow: var(--admin-shadow);
}

.backup-restore-readiness.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 24%, var(--admin-border));
}

.backup-restore-readiness.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 30%, var(--admin-border));
}

.backup-restore-readiness.is-danger {
  border-color: color-mix(in oklab, var(--admin-danger) 28%, var(--admin-border));
}

.backup-restore-readiness-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
}

.backup-restore-readiness-head h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1.08rem;
  line-height: 1.25;
}

.backup-restore-readiness-head p {
  max-width: 74ch;
  margin: 0.25rem 0 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

.backup-restore-readiness-head .badge {
  flex: 0 0 auto;
}

.backup-restore-next-action {
  display: grid;
  gap: 0.12rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 22%, var(--admin-border));
  border-radius: 0.55rem;
  background: var(--admin-primary-soft);
}

.backup-restore-next-action span {
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.backup-restore-next-action strong {
  color: var(--admin-primary-dark);
  font-size: 0.92rem;
  line-height: 1.35;
}

.backup-restore-step-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
  gap: 0.6rem;
}

.backup-restore-step {
  display: grid;
  gap: 0.35rem;
  min-width: 0;
  min-height: 7rem;
  padding: 0.68rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.55rem;
  color: var(--admin-text);
  background: color-mix(in oklab, var(--admin-bg) 50%, white);
  text-decoration: none;
}

.backup-restore-step:hover,
.backup-restore-step:focus {
  border-color: color-mix(in oklab, var(--admin-primary) 34%, var(--admin-border));
  color: var(--admin-primary-dark);
  background: var(--admin-primary-soft);
  text-decoration: none;
}

.backup-restore-step.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 20%, var(--admin-border));
}

.backup-restore-step.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 28%, var(--admin-border));
  background: color-mix(in oklab, #fef3c7 34%, white);
}

.backup-restore-step .badge {
  width: fit-content;
}

.backup-restore-step strong {
  color: inherit;
  font-size: 0.92rem;
  line-height: 1.25;
}

.backup-restore-step small {
  color: var(--admin-muted);
  font-size: 0.8rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.backup-action-board {
  display: grid;
  gap: 0.8rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
  box-shadow: var(--admin-shadow);
}

.backup-action-board-summary {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
}

.backup-action-board-summary h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1.08rem;
  line-height: 1.25;
}

.backup-action-board-summary p {
  max-width: 76ch;
  margin: 0.25rem 0 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

.backup-action-board-summary .badge {
  flex: 0 0 auto;
}

.backup-action-board-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 11.5rem), 1fr));
  gap: 0.55rem;
}

.backup-action-board-metrics div {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
  padding: 0.62rem 0.68rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 52%, white);
}

.backup-action-board-metrics span {
  color: var(--admin-muted);
  font-size: 0.76rem;
  font-weight: 650;
}

.backup-action-board-metrics strong {
  min-width: 0;
  color: var(--admin-text);
  font-size: 0.92rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.backup-action-board-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  align-items: center;
}

.backup-action-board-actions form {
  margin: 0;
}

.backup-action-board-actions .btn {
  min-height: 2.45rem;
}

.backup-restore-control-room {
  display: grid;
  gap: 0.8rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
  box-shadow: var(--admin-shadow);
}

.backup-restore-control-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
}

.backup-restore-control-head h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1.08rem;
  line-height: 1.25;
}

.backup-restore-control-head p {
  max-width: 76ch;
  margin: 0.25rem 0 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

.backup-restore-control-head .btn {
  flex: 0 0 auto;
}

.backup-restore-operation-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr));
  gap: 0.65rem;
}

.backup-restore-operation {
  display: grid;
  align-content: start;
  gap: 0.42rem;
  min-width: 0;
  min-height: 14rem;
  padding: 0.72rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.55rem;
  color: var(--admin-text);
  background: color-mix(in oklab, var(--admin-bg) 50%, white);
  text-decoration: none;
}

.backup-restore-operation:hover,
.backup-restore-operation:focus {
  border-color: color-mix(in oklab, var(--admin-primary) 34%, var(--admin-border));
  color: var(--admin-primary-dark);
  background: var(--admin-primary-soft);
  text-decoration: none;
}

.backup-restore-operation.is-safe {
  border-color: color-mix(in oklab, var(--admin-success) 20%, var(--admin-border));
}

.backup-restore-operation.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 28%, var(--admin-border));
}

.backup-restore-operation.is-danger {
  border-color: color-mix(in oklab, var(--admin-danger) 24%, var(--admin-border));
}

.backup-restore-operation .badge {
  width: fit-content;
}

.backup-restore-operation strong {
  color: inherit;
  font-size: 0.94rem;
  line-height: 1.25;
}

.backup-restore-operation small {
  color: var(--admin-muted);
  font-size: 0.82rem;
  line-height: 1.35;
}

.backup-restore-operation dl {
  display: grid;
  gap: 0.32rem;
  margin: 0.2rem 0 0;
}

.backup-restore-operation dl div {
  display: grid;
  grid-template-columns: 5.25rem minmax(0, 1fr);
  gap: 0.45rem;
  align-items: baseline;
}

.backup-restore-operation dt,
.backup-restore-operation dd {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
}

.backup-restore-operation dt {
  color: var(--admin-muted);
  font-size: 0.76rem;
  font-weight: 650;
}

.backup-restore-operation dd {
  color: var(--admin-text);
  font-size: 0.8rem;
  line-height: 1.35;
}

.backup-open-banking-restore {
  display: grid;
  gap: 0.8rem;
  margin-bottom: 1rem;
  padding: 0.9rem;
  border: 1px solid color-mix(in oklab, var(--admin-danger) 24%, var(--admin-border));
  border-radius: var(--admin-radius);
  background: color-mix(in oklab, var(--admin-danger) 5%, var(--admin-surface));
}

.backup-identity-migration,
.backup-application-preflight,
.backup-identity-plan {
  display: grid;
  gap: 0.85rem;
  min-width: 0;
  padding: 0.9rem;
  border: 1px solid color-mix(in oklab, var(--admin-danger) 24%, var(--admin-border));
  border-radius: var(--admin-radius);
  background: color-mix(in oklab, var(--admin-danger) 4%, var(--admin-surface));
}

.backup-identity-migration-head,
.backup-identity-plan-head,
.backup-identity-apply-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
  min-width: 0;
}

.backup-identity-migration-head h2,
.backup-identity-plan-head h2,
.backup-identity-apply-head h3,
.backup-identity-actions h3 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1.05rem;
  line-height: 1.3;
}

.backup-identity-migration-head p,
.backup-identity-plan-head p,
.backup-identity-apply-head p {
  max-width: 76ch;
  margin: 0.25rem 0 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.45;
}

.backup-identity-migration-form,
.backup-identity-apply-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.7rem;
  align-items: end;
}

.backup-identity-migration-form .btn,
.backup-identity-apply-grid .btn {
  min-height: 2.75rem;
}

.backup-identity-plan-head code {
  max-width: 24rem;
  overflow-wrap: anywhere;
  color: var(--admin-muted);
  font-size: 0.72rem;
}

.backup-identity-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 10.5rem), 1fr));
  gap: 0.55rem;
}

.backup-identity-metrics div {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
  padding: 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: var(--admin-surface);
}

.backup-identity-metrics span {
  color: var(--admin-muted);
  font-size: 0.76rem;
  font-weight: 650;
}

.backup-identity-metrics strong {
  color: var(--admin-text);
  font-size: 1.08rem;
}

.backup-identity-actions {
  min-width: 0;
  padding: 0.75rem;
  border: 1px solid color-mix(in oklab, var(--admin-warning) 30%, var(--admin-border));
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-warning) 8%, var(--admin-surface));
}

.backup-identity-actions ul {
  margin: 0.45rem 0 0;
  padding-inline-start: 1.25rem;
}

.backup-preflight-key-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr));
  gap: 0.55rem;
}

.backup-preflight-key-list > div {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.2rem 0.55rem;
  align-items: center;
  min-width: 0;
  padding: 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: var(--admin-surface);
}

.backup-preflight-key-list strong,
.backup-preflight-key-list small {
  min-width: 0;
  overflow-wrap: anywhere;
}

.backup-preflight-key-list small {
  grid-column: 1 / -1;
  color: var(--admin-muted);
}

.backup-preflight-order {
  min-width: 0;
  padding-top: 0.65rem;
  border-top: 1px solid var(--admin-border);
}

.backup-preflight-order summary {
  cursor: pointer;
  color: var(--admin-text);
  font-weight: 650;
}

.backup-preflight-order div {
  max-height: 12rem;
  margin-top: 0.55rem;
  overflow: auto;
  color: var(--admin-muted);
  font-family: var(--bs-font-monospace);
  font-size: 0.76rem;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.backup-identity-table {
  min-width: 44rem;
}

.backup-identity-table td {
  overflow-wrap: anywhere;
}

.backup-identity-apply {
  display: grid;
  gap: 0.75rem;
  padding-top: 0.85rem;
  border-top: 1px solid color-mix(in oklab, var(--admin-danger) 24%, var(--admin-border));
}

.backup-identity-apply-grid {
  grid-template-columns: minmax(15rem, 0.8fr) minmax(18rem, 1.2fr) auto;
}

@media (max-width: 767.98px) {
  .backup-identity-migration-head,
  .backup-identity-plan-head,
  .backup-identity-apply-head {
    flex-direction: column;
  }

  .backup-identity-migration-form,
  .backup-identity-apply-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .backup-identity-migration-form .btn,
  .backup-identity-apply-grid .btn {
    width: 100%;
  }

  .backup-identity-plan-head code {
    max-width: 100%;
  }

  .backup-identity-table {
    min-width: 0;
  }

  .backup-identity-table thead {
    display: none;
  }

  .backup-identity-table,
  .backup-identity-table tbody,
  .backup-identity-table tr,
  .backup-identity-table td {
    display: block;
    width: 100%;
  }

  .backup-identity-table tr {
    padding: 0.65rem;
    border-bottom: 1px solid var(--admin-border);
  }

  .backup-identity-table td {
    display: grid;
    grid-template-columns: minmax(7rem, 0.38fr) minmax(0, 1fr);
    gap: 0.5rem;
    padding: 0.38rem 0;
    border: 0;
  }

  .backup-identity-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.76rem;
    font-weight: 650;
  }
}

.backup-open-banking-restore-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
}

.backup-open-banking-restore-head h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1.05rem;
  line-height: 1.25;
}

.backup-open-banking-restore-head p {
  max-width: 78ch;
  margin: 0.25rem 0 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

.backup-open-banking-restore-head .badge {
  flex: 0 0 auto;
}

.backup-open-banking-restore-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 10.5rem), 1fr));
  gap: 0.55rem;
}

.backup-open-banking-restore-grid > div {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
  padding: 0.62rem 0.68rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: var(--admin-surface);
}

.backup-open-banking-restore-grid span,
.backup-open-banking-restore-body h3 {
  color: var(--admin-muted);
  font-size: 0.76rem;
  font-weight: 650;
}

.backup-open-banking-restore-grid strong {
  min-width: 0;
  color: var(--admin-text);
  font-size: 0.98rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.backup-open-banking-restore-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(17rem, 1.2fr);
  gap: 0.8rem;
}

.backup-open-banking-restore-body > div {
  min-width: 0;
  padding: 0.7rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: var(--admin-surface);
}

.backup-open-banking-restore-body h3 {
  margin: 0 0 0.45rem;
}

.backup-open-banking-restore-body ul {
  margin: 0;
  padding-left: 1.1rem;
  color: var(--admin-text);
  font-size: 0.88rem;
  line-height: 1.45;
}

.backup-open-banking-restore-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.38rem;
}

.backup-open-banking-restore-tags span {
  min-width: 0;
  max-width: 100%;
  padding: 0.24rem 0.46rem;
  border: 1px solid color-mix(in oklab, var(--admin-danger) 18%, var(--admin-border));
  border-radius: 999px;
  color: var(--admin-text);
  background: color-mix(in oklab, var(--admin-danger) 7%, white);
  font-size: 0.78rem;
  font-weight: 650;
  overflow-wrap: anywhere;
}

.backup-workflow-rail {
  display: grid;
  gap: 0.7rem;
  padding: 0.85rem 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
  box-shadow: var(--admin-shadow);
}

.backup-workflow-rail-head {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem 0.7rem;
  align-items: baseline;
  justify-content: space-between;
}

.backup-workflow-rail-head span {
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.backup-workflow-rail-head strong {
  color: var(--admin-text);
  font-size: 0.9rem;
  line-height: 1.35;
}

.backup-workflow-steps {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.45rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.backup-workflow-steps li {
  min-width: 0;
}

.backup-workflow-steps button {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.1rem 0.45rem;
  align-items: start;
  width: 100%;
  min-height: 4.4rem;
  padding: 0.62rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.55rem;
  color: var(--admin-text);
  background: color-mix(in oklab, var(--admin-bg) 52%, white);
  text-align: left;
}

.backup-workflow-steps button:hover,
.backup-workflow-steps button:focus {
  border-color: color-mix(in oklab, var(--admin-primary) 34%, var(--admin-border));
  color: var(--admin-primary-dark);
  background: var(--admin-primary-soft);
}

.backup-workflow-steps button:focus-visible {
  outline: 3px solid color-mix(in oklab, var(--admin-primary) 36%, transparent);
  outline-offset: 2px;
}

.backup-workflow-steps span {
  display: inline-grid;
  place-items: center;
  width: 1.55rem;
  height: 1.55rem;
  border-radius: 999px;
  color: var(--admin-primary-dark);
  background: color-mix(in oklab, var(--admin-primary) 12%, white);
  font-size: 0.78rem;
  font-weight: 800;
}

.backup-workflow-steps strong,
.backup-workflow-steps small {
  min-width: 0;
  overflow-wrap: anywhere;
}

.backup-workflow-steps strong {
  font-size: 0.86rem;
  line-height: 1.2;
}

.backup-workflow-steps small {
  grid-column: 2;
  color: var(--admin-muted);
  font-size: 0.76rem;
  line-height: 1.3;
}

.backup-tabs {
  flex-wrap: nowrap;
  gap: 0.25rem;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: thin;
}

.backup-tabs .nav-link {
  min-height: 2.55rem;
  white-space: nowrap;
}

.backup-tab-content {
  min-width: 0;
  border-radius: 0 0 var(--admin-radius) var(--admin-radius);
  background: var(--admin-surface);
}

.banking-accounts-page {
  gap: 0.9rem;
}

.banking-accounts-summary {
  display: grid;
  gap: 0.75rem;
}

.banking-accounts-status {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.7rem;
  align-items: center;
  padding: 0.8rem 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
  box-shadow: var(--admin-shadow);
}

.banking-accounts-status strong {
  color: var(--admin-text);
  font-size: 1.05rem;
}

.banking-accounts-alignment {
  display: grid;
  gap: 0.8rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.banking-accounts-alignment-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.9rem;
}

.banking-accounts-alignment-head h2 {
  margin: 0.35rem 0 0.15rem;
  color: var(--admin-text);
  font-size: 1.05rem;
  font-weight: 750;
}

.banking-accounts-alignment-head p {
  max-width: 72ch;
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
  line-height: 1.45;
  text-wrap: pretty;
}

.banking-accounts-alignment-status {
  display: inline-flex;
  align-items: center;
  min-height: 1.7rem;
  padding: 0.25rem 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 62%, white);
  font-size: 0.78rem;
  font-weight: 700;
}

.banking-accounts-alignment-status.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 28%, var(--admin-border));
  color: var(--admin-success);
  background: color-mix(in oklab, var(--admin-success) 8%, white);
}

.banking-accounts-alignment-status.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 34%, var(--admin-border));
  color: #7c2d12;
  background: #fffbeb;
}

.banking-accounts-alignment-status.is-danger {
  border-color: color-mix(in oklab, var(--admin-danger) 30%, var(--admin-border));
  color: var(--admin-danger);
  background: color-mix(in oklab, var(--admin-danger) 7%, white);
}

.banking-accounts-alignment-actions {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.45rem;
}

.banking-accounts-alignment-actions form {
  margin: 0;
}

.banking-accounts-alignment-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.65rem;
  margin: 0;
}

.banking-accounts-alignment-grid div {
  min-width: 0;
  padding: 0.75rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.55rem;
  background: color-mix(in oklab, var(--admin-bg) 48%, white);
}

.banking-accounts-alignment-grid dt {
  margin-bottom: 0.25rem;
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.banking-accounts-alignment-grid dd {
  margin: 0;
  color: var(--admin-text);
  font-size: 1.05rem;
  font-weight: 760;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

.banking-accounts-alignment-grid small {
  display: block;
  margin-top: 0.25rem;
  color: var(--admin-muted);
  font-size: 0.78rem;
  line-height: 1.35;
}

.banking-accounts-alignment-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.banking-accounts-alignment-strip span {
  min-height: 1.75rem;
  padding: 0.25rem 0.5rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: var(--admin-bg);
  font-size: 0.8rem;
  font-weight: 650;
}

.banking-provider-compact {
  grid-template-columns: minmax(0, 1fr) minmax(14rem, 0.9fr);
  align-items: center;
}

.banking-provider-compact-checks {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.35rem;
}

.banking-provider-compact-checks .badge {
  overflow-wrap: anywhere;
  white-space: normal;
  text-align: left;
}

.banking-consent-queue {
  display: grid;
  gap: 0.75rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.banking-consent-queue-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.9rem;
}

.banking-consent-queue-head h2 {
  margin: 0.35rem 0 0.15rem;
  color: var(--admin-text);
  font-size: 1.05rem;
  font-weight: 750;
}

.banking-consent-queue-head p {
  max-width: 72ch;
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
  line-height: 1.45;
  text-wrap: pretty;
}

.banking-consent-queue-actions {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.45rem;
}

.banking-consent-queue-actions form {
  margin: 0;
}

.banking-consent-queue-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
  gap: 0.65rem;
}

.banking-consent-card {
  display: grid;
  gap: 0.65rem;
  min-width: 0;
  padding: 0.75rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.55rem;
  background: color-mix(in oklab, var(--admin-bg) 42%, white);
}

.banking-consent-card.is-danger {
  border-color: color-mix(in oklab, var(--admin-danger) 34%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-danger) 5%, white);
}

.banking-consent-card.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 34%, var(--admin-border));
  background: #fffbeb;
}

.banking-consent-card.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 24%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-success) 5%, white);
}

.banking-consent-card-head,
.banking-consent-card-foot {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.65rem;
  min-width: 0;
}

.banking-consent-card-head > div {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  min-width: 0;
}

.banking-consent-card .badge.is-danger,
.banking-consent-card .badge.is-warning,
.banking-consent-card .badge.is-ready {
  border: 1px solid currentColor;
}

.banking-consent-card .badge.is-danger {
  color: var(--admin-danger);
  background: color-mix(in oklab, var(--admin-danger) 8%, white);
}

.banking-consent-card .badge.is-warning {
  color: #7c2d12;
  background: #ffedd5;
}

.banking-consent-card .badge.is-ready {
  color: var(--admin-success);
  background: color-mix(in oklab, var(--admin-success) 8%, white);
}

.banking-consent-card strong,
.banking-consent-card small,
.banking-consent-card p,
.banking-consent-card dd,
.banking-consent-card-foot span {
  overflow-wrap: anywhere;
}

.banking-consent-card strong {
  color: var(--admin-text);
  font-weight: 750;
}

.banking-consent-card small,
.banking-consent-card-foot span {
  color: var(--admin-muted);
  font-size: 0.78rem;
  line-height: 1.35;
}

.banking-consent-card p {
  margin: 0;
  color: var(--admin-text);
  font-size: 0.9rem;
  line-height: 1.45;
}

.banking-consent-card dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
  margin: 0;
}

.banking-consent-card dt {
  margin-bottom: 0.15rem;
  color: var(--admin-muted);
  font-size: 0.74rem;
  font-weight: 700;
}

.banking-consent-card dd {
  margin: 0;
  color: var(--admin-text);
  font-size: 0.84rem;
  font-weight: 700;
}

.banking-consent-card-foot {
  flex-wrap: wrap;
  padding-top: 0.15rem;
  border-top: 1px solid color-mix(in oklab, var(--admin-border) 70%, transparent);
}

.banking-consent-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.banking-consent-card-actions form {
  margin: 0;
}

.banking-consent-card-actions .btn {
  min-height: 2rem;
}

.banking-consent-queue-more {
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.86rem;
}

.banking-consent-sla {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.92fr);
  gap: 0.75rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.banking-consent-sla-main {
  display: grid;
  align-content: start;
  gap: 0.55rem;
  min-width: 0;
}

.banking-consent-sla-title {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.6rem;
}

.banking-consent-sla-title .btn {
  flex: 0 0 auto;
}

.banking-consent-sla h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1.05rem;
  font-weight: 760;
  line-height: 1.25;
}

.banking-consent-sla p {
  max-width: 72ch;
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
  line-height: 1.45;
  text-wrap: pretty;
}

.banking-consent-sla-main dl,
.banking-consent-sla-grid {
  display: grid;
  gap: 0.55rem;
  margin: 0;
}

.banking-consent-sla-main dl {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.banking-consent-sla-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.banking-consent-sla-main dl > div,
.banking-consent-sla-grid > div {
  min-width: 0;
  padding: 0.65rem 0.7rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.55rem;
  background: color-mix(in oklab, var(--admin-bg) 48%, white);
}

.banking-consent-sla-grid > div.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 34%, var(--admin-border));
  background: #fffbeb;
}

.banking-consent-sla-grid > div.is-danger {
  border-color: color-mix(in oklab, var(--admin-danger) 34%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-danger) 6%, white);
}

.banking-consent-sla dt {
  margin-bottom: 0.2rem;
  color: var(--admin-muted);
  font-size: 0.76rem;
  font-weight: 730;
  line-height: 1.25;
}

.banking-consent-sla dd {
  margin: 0;
  color: var(--admin-text);
  font-size: 0.92rem;
  font-weight: 760;
  font-variant-numeric: tabular-nums;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.banking-consent-sla-grid dd {
  font-size: 1.2rem;
}

.banking-accounts-empty {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem;
}

.banking-accounts-empty h2 {
  margin: 0 0 0.3rem;
  font-size: 1.05rem;
  line-height: 1.25;
}

.banking-accounts-empty p {
  max-width: 70ch;
  margin: 0;
  color: var(--admin-muted);
  line-height: 1.5;
}

.banking-import-confirmation {
  display: grid;
  gap: 0.75rem;
  padding: 0.9rem;
  border: 1px solid color-mix(in oklab, var(--admin-warning) 34%, var(--admin-border));
  border-radius: var(--admin-radius);
  background: #fffbeb;
}

.banking-import-confirmation.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 28%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-success) 6%, white);
}

.banking-import-confirmation-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.9rem;
}

.banking-import-confirmation-head h2 {
  margin: 0.35rem 0 0.15rem;
  color: var(--admin-text);
  font-size: 1.05rem;
  font-weight: 750;
}

.banking-import-confirmation-head p {
  max-width: 72ch;
  margin: 0;
  color: #713f12;
  font-size: 0.9rem;
  line-height: 1.45;
  text-wrap: pretty;
}

.banking-import-confirmation.is-ready .banking-import-confirmation-head p,
.banking-import-confirmation.is-ready .banking-import-confirmation-more {
  color: var(--admin-muted);
}

.banking-import-confirmation-meta {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.35rem;
}

.banking-import-confirmation-meta span {
  min-height: 1.75rem;
  padding: 0.25rem 0.5rem;
  border: 1px solid color-mix(in oklab, var(--admin-warning) 34%, var(--admin-border));
  border-radius: 999px;
  color: #7c2d12;
  background: color-mix(in oklab, white 74%, var(--admin-warning));
  font-size: 0.8rem;
  font-weight: 700;
}

.banking-import-readiness {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(22rem, 1.6fr) auto;
  align-items: center;
  gap: 0.8rem;
  min-width: 0;
  padding: 0.75rem;
  border: 1px solid color-mix(in oklab, var(--admin-warning) 30%, var(--admin-border));
  border-radius: 0.55rem;
  background: color-mix(in oklab, white 72%, var(--admin-warning));
}

.banking-import-readiness + .banking-import-readiness {
  margin-top: 0.6rem;
}

.banking-reconciliation-readiness {
  border-color: color-mix(in oklab, var(--admin-primary) 22%, var(--admin-border));
}

.banking-import-readiness.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 26%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-success) 8%, white);
}

.banking-import-readiness.is-danger {
  border-color: color-mix(in oklab, var(--admin-danger) 30%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-danger) 8%, white);
}

.banking-import-readiness.is-muted {
  border-color: var(--admin-border);
  background: color-mix(in oklab, var(--admin-surface-muted) 70%, white);
}

.banking-import-readiness-main {
  min-width: 0;
}

.banking-import-readiness-main span,
.banking-import-readiness-main strong,
.banking-import-readiness-main p {
  display: block;
  overflow-wrap: anywhere;
}

.banking-import-readiness-main span {
  color: var(--admin-muted);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.banking-import-readiness-main strong {
  margin-top: 0.15rem;
  color: var(--admin-text);
  font-size: 0.98rem;
  font-weight: 800;
}

.banking-import-readiness-main p {
  margin: 0.2rem 0 0;
  color: var(--admin-muted);
  font-size: 0.84rem;
  line-height: 1.4;
}

.banking-import-readiness dl {
  display: grid;
  grid-template-columns: repeat(6, minmax(4.5rem, 1fr));
  gap: 0.45rem;
  min-width: 0;
  margin: 0;
}

.banking-import-readiness dl > div {
  min-width: 0;
  padding: 0.45rem 0.5rem;
  border: 1px solid color-mix(in oklab, var(--admin-border) 82%, transparent);
  border-radius: 0.45rem;
  background: color-mix(in oklab, white 68%, transparent);
}

.banking-import-readiness dt {
  margin: 0 0 0.1rem;
  color: var(--admin-muted);
  font-size: 0.7rem;
  font-weight: 760;
  line-height: 1.15;
}

.banking-import-readiness dd {
  margin: 0;
  color: var(--admin-text);
  font-size: 1rem;
  font-weight: 820;
  line-height: 1.1;
}

.banking-import-readiness .btn {
  justify-self: end;
  white-space: nowrap;
}

.banking-import-confirmation-groups {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr));
  gap: 0.6rem;
}

.banking-import-confirmation-groups form {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  min-width: 0;
  margin: 0;
  padding: 0.7rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 24%, var(--admin-border));
  border-radius: 0.55rem;
  background: color-mix(in oklab, var(--admin-primary-soft) 42%, white);
}

.banking-import-confirmation-groups form > div {
  min-width: 0;
}

.banking-import-confirmation-groups strong,
.banking-import-confirmation-groups span,
.banking-import-confirmation-groups small {
  display: block;
  overflow-wrap: anywhere;
}

.banking-import-confirmation-groups strong {
  color: var(--admin-text);
  font-weight: 750;
}

.banking-import-confirmation-groups span {
  margin-top: 0.15rem;
  color: var(--admin-text);
  font-size: 0.88rem;
  font-weight: 650;
}

.banking-import-confirmation-groups small {
  margin-top: 0.15rem;
  color: var(--admin-muted);
  font-size: 0.78rem;
}

.banking-import-confirmation-groups .btn {
  flex: 0 0 auto;
  white-space: nowrap;
}

.banking-import-confirmation-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
  gap: 0.65rem;
}

.banking-import-confirmation-item {
  display: grid;
  grid-template-rows: auto auto auto;
  gap: 0.65rem;
  min-width: 0;
  padding: 0.75rem;
  border: 1px solid color-mix(in oklab, var(--admin-warning) 28%, var(--admin-border));
  border-radius: 0.55rem;
  background: var(--admin-surface);
}

.banking-import-confirmation-item strong,
.banking-import-confirmation-item span,
.banking-import-confirmation-item dd {
  overflow-wrap: anywhere;
}

.banking-import-confirmation-item span {
  display: block;
  margin-top: 0.2rem;
  color: var(--admin-muted);
  font-size: 0.82rem;
}

.banking-import-confirmation-item dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
  margin: 0;
}

.banking-import-confirmation-item dt {
  margin-bottom: 0.15rem;
  color: var(--admin-muted);
  font-size: 0.74rem;
  font-weight: 700;
}

.banking-import-confirmation-item dd {
  margin: 0;
  color: var(--admin-text);
  font-size: 0.88rem;
  font-weight: 700;
}

.banking-import-confirmation-item form {
  margin: 0;
}

.banking-import-confirmation-item .btn {
  width: 100%;
}

.banking-import-confirmation-more {
  margin: 0;
  color: #713f12;
  font-size: 0.86rem;
}

.banking-accounts-iban {
  overflow-wrap: anywhere;
}

.banking-accounts-table .admin-table {
  min-width: 62rem;
}

.banking-ledger-account-form {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  align-items: center;
  min-width: 14rem;
}

.banking-ledger-account-form .form-select {
  flex: 1 1 11rem;
  min-width: 0;
}

.banking-ledger-account-form .btn {
  flex: 0 0 auto;
}

.settings-users-page {
  gap: 0.9rem;
}

.settings-users-summary {
  grid-template-columns: repeat(auto-fit, minmax(8.75rem, 1fr));
}

.settings-users-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.85rem;
}

.settings-users-panel-head h2,
.settings-users-empty h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1.05rem;
  line-height: 1.25;
}

.settings-users-panel-head p,
.settings-users-empty p {
  max-width: 70ch;
  margin: 0.2rem 0 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
  line-height: 1.5;
}

.settings-users-create-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
  gap: 0.75rem;
}

.settings-users-search {
  display: grid;
  grid-template-columns: minmax(16rem, 1fr) auto;
  gap: 0.75rem;
  align-items: end;
  padding: 0.85rem;
}

.settings-users-search-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  justify-content: flex-end;
}

.settings-users-search-actions .btn {
  min-width: 6.75rem;
}

.settings-users-search-hint {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.86rem;
}

.settings-role-picker {
  min-width: 0;
  margin: 0.85rem 0 0;
  padding: 0.75rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 50%, white);
}

.settings-role-picker legend {
  float: none;
  width: auto;
  margin: 0;
  padding: 0 0.25rem;
  color: var(--admin-muted);
  font-size: 0.82rem;
  font-weight: 650;
}

.settings-role-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 11.5rem), 1fr));
  gap: 0.25rem 0.75rem;
  max-height: 11rem;
  overflow-y: auto;
}

.settings-role-grid .form-check {
  min-height: 1.9rem;
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0;
  padding-left: 0;
}

.settings-role-grid .form-check-input {
  flex: 0 0 auto;
  margin: 0;
}

.settings-role-grid .form-check-label {
  color: var(--admin-text);
  font-size: 0.88rem;
  line-height: 1.25;
}

.settings-users-empty {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem;
}

.settings-users-table .admin-table {
  min-width: 64rem;
}

.settings-user-identity {
  display: grid;
  gap: 0.25rem;
  min-width: 0;
}

.settings-user-identity strong {
  overflow-wrap: anywhere;
}

.settings-user-identity span {
  color: var(--admin-muted);
  font-size: 0.84rem;
}

.settings-user-role-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  margin-top: 0.15rem;
}

.settings-user-role-chips span {
  display: inline-flex;
  align-items: center;
  min-height: 1.45rem;
  padding: 0.12rem 0.45rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 20%, var(--admin-border));
  border-radius: 999px;
  color: var(--admin-primary-dark);
  background: var(--admin-primary-soft);
  font-size: 0.76rem;
  font-weight: 650;
}

.settings-user-update-form {
  display: grid;
  grid-template-columns: minmax(17rem, 1fr) minmax(18rem, 0.9fr);
  gap: 0.65rem;
  align-items: start;
}

.settings-role-picker-compact {
  margin: 0;
  padding: 0.6rem;
}

.settings-role-picker-compact .settings-role-grid {
  grid-template-columns: repeat(auto-fit, minmax(10.5rem, 1fr));
  max-height: 8.75rem;
}

.settings-user-controls,
.settings-user-password-form {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
}

.settings-user-controls .form-select {
  flex: 0 0 7.75rem;
}

.settings-user-controls .form-control {
  flex: 1 1 10rem;
  min-width: 8rem;
}

.settings-user-password-form .form-control {
  flex: 1 1 12rem;
  min-width: 10rem;
}

.settings-user-controls .btn,
.settings-user-password-form .btn {
  flex: 0 0 auto;
}

.settings-role-lifecycle {
  margin-top: 0.65rem;
  border-top: 1px solid var(--admin-border);
  border-bottom: 1px solid var(--admin-border);
}

.settings-role-lifecycle > summary {
  display: list-item;
  min-height: 44px;
  padding: 0.5rem 0.25rem;
  color: var(--admin-text);
  font-weight: 650;
  cursor: pointer;
}

.settings-role-lifecycle > summary small {
  float: right;
  margin-left: 0.75rem;
  color: var(--admin-muted);
  font-weight: 500;
}

.settings-role-lifecycle[open] > summary {
  color: var(--admin-primary-dark);
}

.settings-role-assignments {
  border-top: 1px solid var(--admin-border);
}

.settings-role-assignment {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(15rem, 0.65fr);
  gap: 0.75rem;
  align-items: start;
  padding: 0.7rem 0.25rem;
  border-bottom: 1px solid color-mix(in oklab, var(--admin-border) 72%, transparent);
}

.settings-role-assignment p {
  margin: 0.2rem 0 0;
  color: var(--admin-muted);
  font-size: 0.82rem;
  line-height: 1.4;
}

.settings-role-status {
  display: inline-flex;
  align-items: center;
  min-height: 1.5rem;
  margin-left: 0.35rem;
  padding: 0.1rem 0.45rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: var(--admin-bg);
  font-size: 0.75rem;
  font-weight: 700;
}

.settings-role-status.is-active {
  border-color: color-mix(in oklab, var(--admin-success) 35%, var(--admin-border));
  color: var(--admin-success);
  background: color-mix(in oklab, var(--admin-success) 9%, white);
}

.settings-role-status.is-scheduled {
  border-color: color-mix(in oklab, var(--admin-warning) 42%, var(--admin-border));
  color: var(--admin-warning);
  background: color-mix(in oklab, var(--admin-warning) 10%, white);
}

.settings-role-revoke-form {
  display: grid;
  grid-template-columns: minmax(10rem, 1fr) auto;
  gap: 0.45rem;
  align-items: center;
}

.settings-role-grant-form {
  display: grid;
  grid-template-columns: minmax(9rem, 0.7fr) repeat(2, minmax(11rem, 0.9fr)) minmax(14rem, 1.2fr) auto;
  gap: 0.6rem;
  align-items: end;
  padding: 0.8rem 0.25rem;
  border-bottom: 1px solid var(--admin-border);
  background: color-mix(in oklab, var(--admin-primary-soft) 35%, transparent);
}

.settings-role-grant-form .form-label {
  margin-bottom: 0.25rem;
  font-size: 0.8rem;
}

.settings-role-grant-form .btn,
.settings-role-revoke-form .btn,
.settings-role-grant-form .form-control,
.settings-role-grant-form .form-select,
.settings-role-revoke-form .form-control {
  min-height: 44px;
}

.settings-role-history-head {
  display: flex;
  justify-content: flex-end;
  padding: 0.65rem 0.25rem 0;
}

.settings-role-history {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0.55rem 0.25rem 0.75rem 1.5rem;
}

.settings-role-history li {
  padding: 0.45rem 0.3rem 0.45rem 0.25rem;
  border-bottom: 1px solid color-mix(in oklab, var(--admin-border) 65%, transparent);
  color: var(--admin-text);
  font-size: 0.84rem;
}

.settings-role-history time,
.settings-role-history span {
  margin-right: 0.4rem;
  color: var(--admin-muted);
}

.settings-role-history p {
  margin: 0.2rem 0 0;
}

.settings-role-history-empty {
  color: var(--admin-muted) !important;
  list-style: none;
}

@media (max-width: 1199.98px) {
  .settings-role-grant-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .settings-role-reason-field {
    grid-column: 1 / -1;
  }
}

@media (max-width: 767.98px) {
  .settings-role-lifecycle > summary,
  .settings-role-assignment,
  .settings-role-grant-form,
  .settings-role-revoke-form {
    grid-template-columns: 1fr;
  }

  .settings-role-lifecycle > summary {
    min-height: 52px;
  }

  .settings-role-lifecycle > summary small {
    float: none;
    display: block;
    margin: 0.15rem 0 0;
  }

  .settings-role-grant-form .btn,
  .settings-role-revoke-form .btn {
    width: 100%;
  }

  .settings-role-reason-field {
    grid-column: auto;
  }
}

.settings-users-pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.75rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.settings-users-pagination span {
  color: var(--admin-muted);
  font-size: 0.9rem;
}

.settings-users-pagination div {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.settings-users-pagination .btn {
  min-width: 7.25rem;
}

.tenant-admin-page {
  gap: 0.9rem;
}

.tenant-admin-health,
.tenant-admin-create,
.tenant-admin-list,
.tenant-admin-panel {
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
  box-shadow: var(--admin-shadow);
}

.tenant-admin-health,
.tenant-admin-create,
.tenant-admin-list {
  padding: 0.9rem;
}

.tenant-admin-panel {
  padding: 0.8rem;
  margin-bottom: 0.75rem;
}

.tenant-admin-section-head,
.tenant-admin-panel-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

.tenant-admin-section-copy {
  min-width: min(100%, 22rem);
}

.tenant-admin-section-head h2,
.tenant-admin-panel-head h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1.15rem;
  line-height: 1.25;
}

.tenant-admin-export-strip {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.4rem;
  max-width: min(100%, 46rem);
}

.tenant-admin-export-strip .btn {
  min-height: 2.1rem;
  white-space: nowrap;
}

.tenant-admin-overview,
.tenant-admin-kpi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(10.5rem, 1fr));
  gap: 0.55rem;
  margin: 0 0 0.75rem;
}

.tenant-admin-overview div,
.tenant-admin-kpi {
  min-width: 0;
  padding: 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 58%, white);
}

.tenant-admin-overview dt,
.tenant-admin-kpi .small {
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.tenant-admin-overview dd,
.tenant-admin-kpi .fs-4 {
  margin: 0.1rem 0 0;
  color: var(--admin-text);
  font-variant-numeric: tabular-nums;
}

.tenant-onboarding {
  margin-block: 0.9rem;
  border-block: 1px solid var(--admin-border);
}

.tenant-onboarding-head,
.tenant-onboarding-summary,
.tenant-onboarding-current {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.tenant-onboarding-head {
  padding-block: 0.8rem;
}

.tenant-onboarding-head h3,
.tenant-onboarding-summary h4 {
  margin: 0;
  color: var(--admin-text);
}

.tenant-onboarding-head h3 {
  font-size: 1.05rem;
}

.tenant-onboarding-head p,
.tenant-onboarding-summary p {
  margin: 0.2rem 0 0;
  color: var(--admin-muted);
}

.tenant-onboarding-head > span {
  color: var(--admin-muted);
  font-size: 0.84rem;
  white-space: nowrap;
}

.tenant-onboarding-row {
  padding-block: 0.9rem;
  border-top: 1px solid var(--admin-border);
}

.tenant-onboarding-summary h4 {
  font-size: 0.98rem;
}

.tenant-onboarding-progress {
  display: grid;
  grid-template-columns: max-content 8rem;
  align-items: center;
  gap: 0.55rem;
  min-width: 0;
}

.tenant-onboarding-progress > span {
  color: var(--admin-text);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.tenant-onboarding-progress .progress {
  width: 8rem;
  height: 0.5rem;
}

.tenant-onboarding-current {
  align-items: center;
  margin-top: 0.7rem;
  padding: 0.75rem;
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-primary) 7%, var(--admin-surface));
}

.tenant-onboarding-current > div {
  display: grid;
  gap: 0.1rem;
  min-width: 0;
}

.tenant-onboarding-current span,
.tenant-onboarding-current small {
  color: var(--admin-muted);
}

.tenant-onboarding-current span {
  font-size: 0.76rem;
  font-weight: 700;
  text-transform: uppercase;
}

.tenant-onboarding-current strong,
.tenant-onboarding-current small {
  overflow-wrap: anywhere;
}

.tenant-onboarding-current .btn {
  min-height: 2.75rem;
  white-space: nowrap;
}

.tenant-onboarding-details {
  margin-top: 0.55rem;
}

.tenant-onboarding-details summary {
  width: fit-content;
  color: var(--admin-primary);
  cursor: pointer;
  font-size: 0.84rem;
  font-weight: 650;
}

.tenant-onboarding-details summary:focus-visible {
  outline: 2px solid var(--admin-focus);
  outline-offset: 3px;
}

.tenant-onboarding-details ol {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin: 0.65rem 0 0;
  padding: 0;
  list-style: none;
}

.tenant-onboarding-details li {
  display: grid;
  grid-template-columns: 1.75rem minmax(0, 1fr);
  gap: 0.45rem;
  min-width: 0;
  padding: 0.55rem;
  border-top: 1px solid var(--admin-border);
}

.tenant-onboarding-details li > span {
  display: grid;
  width: 1.65rem;
  height: 1.65rem;
  place-items: center;
  border-radius: 50%;
  background: var(--admin-bg);
  color: var(--admin-muted);
  font-size: 0.75rem;
  font-weight: 700;
}

.tenant-onboarding-details li > div {
  display: grid;
  gap: 0.1rem;
  min-width: 0;
}

.tenant-onboarding-details li strong,
.tenant-onboarding-details li small {
  overflow-wrap: anywhere;
}

.tenant-onboarding-details li small {
  color: var(--admin-muted);
}

.tenant-onboarding-details li.is-complete > span {
  background: color-mix(in oklab, var(--admin-success) 12%, var(--admin-surface));
  color: var(--admin-success);
}

.tenant-onboarding-details li.is-current > span {
  background: color-mix(in oklab, var(--admin-warning) 12%, var(--admin-surface));
  color: var(--admin-warning);
}

.tenant-billing-status-summary {
  display: flex;
  gap: 1rem;
  margin: 0;
}

.tenant-billing-status-summary div {
  min-width: 3.75rem;
}

.tenant-billing-status-summary dt {
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.tenant-billing-status-summary dd {
  margin: 0;
  color: var(--admin-text);
  font-size: 1.05rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.tenant-billing-generate {
  display: grid;
  grid-template-columns: minmax(16rem, 32rem) max-content;
  align-items: end;
  justify-content: start;
  gap: 0.75rem;
  margin-bottom: 0.85rem;
  padding-block: 0.75rem;
  border-block: 1px solid var(--admin-border);
}

.tenant-billing-filter {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 0.55rem;
  margin-bottom: 0.1rem;
}

.tenant-billing-filter > div {
  min-width: 11rem;
}

.tenant-billing-filter .form-label {
  margin-bottom: 0.25rem;
  color: var(--admin-text);
  font-size: 0.8rem;
  font-weight: 650;
}

.tenant-billing-filter > span {
  align-self: center;
  margin-left: auto;
}

.tenant-billing-generate .form-label,
.tenant-billing-action-stack .form-label {
  margin-bottom: 0.25rem;
  color: var(--admin-text);
  font-size: 0.8rem;
  font-weight: 650;
}

.tenant-billing-generate .btn {
  min-height: 2.15rem;
  white-space: nowrap;
}

.tenant-billing-empty {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  padding: 1rem 0;
  color: var(--admin-muted);
}

.tenant-billing-empty strong {
  color: var(--admin-text);
}

.tenant-billing-amount {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.tenant-billing-actions {
  min-width: 9rem;
}

.tenant-billing-actions summary {
  width: fit-content;
  color: var(--admin-primary);
  cursor: pointer;
  font-weight: 650;
  list-style-position: outside;
}

.tenant-billing-actions summary:focus-visible {
  outline: 2px solid var(--admin-focus);
  outline-offset: 3px;
}

.tenant-billing-action-stack {
  display: grid;
  grid-template-columns: repeat(2, minmax(14rem, 1fr));
  gap: 0.75rem;
  width: min(42rem, calc(100vw - 5rem));
  padding-top: 0.65rem;
}

.tenant-billing-action-stack form {
  display: grid;
  align-content: start;
  gap: 0.4rem;
}

.tenant-billing-action-stack .btn {
  justify-self: start;
  margin-top: 0.2rem;
}

.tenant-billing-cancel-form {
  padding-left: 0.75rem;
  border-left: 1px solid var(--admin-border);
}

.tenant-billing-pagination {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.6rem;
  padding-top: 0.65rem;
}

.tenant-billing-pagination span {
  color: var(--admin-muted);
  font-size: 0.85rem;
}

.tenant-capacity-readiness {
  display: grid;
  gap: 0.75rem;
  margin-bottom: 0.85rem;
  padding: 0.8rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.55rem;
  background: color-mix(in oklab, var(--admin-bg) 42%, white);
}

.tenant-capacity-readiness-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.tenant-capacity-readiness-head h3 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1rem;
  font-weight: 700;
}

.tenant-capacity-readiness-head p {
  max-width: 72ch;
  margin: 0.2rem 0 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.45;
}

.tenant-capacity-status {
  flex: 0 0 auto;
  padding: 0.25rem 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  background: var(--admin-surface);
  color: var(--admin-muted);
  font-size: 0.8rem;
  font-weight: 700;
  white-space: nowrap;
}

.tenant-capacity-status.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 28%, var(--admin-border));
  color: var(--admin-success);
  background: color-mix(in oklab, var(--admin-success) 8%, white);
}

.tenant-capacity-status.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 34%, var(--admin-border));
  color: #7c2d12;
  background: #fffbeb;
}

.tenant-capacity-status.is-danger {
  border-color: color-mix(in oklab, var(--admin-danger) 30%, var(--admin-border));
  color: var(--admin-danger);
  background: color-mix(in oklab, var(--admin-danger) 7%, white);
}

.tenant-capacity-summary {
  display: grid;
  grid-template-columns: 0.75fr 1fr 1.4fr;
  gap: 0.55rem;
  margin: 0;
}

.tenant-capacity-summary div,
.tenant-capacity-card {
  min-width: 0;
  padding: 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: var(--admin-surface);
}

.tenant-capacity-summary dt {
  color: var(--admin-muted);
  font-size: 0.76rem;
  font-weight: 650;
}

.tenant-capacity-summary dd {
  margin: 0.12rem 0 0;
  color: var(--admin-text);
  font-weight: 750;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.tenant-capacity-summary small,
.tenant-capacity-card small {
  color: var(--admin-muted);
  font-size: 0.78rem;
  line-height: 1.35;
}

.tenant-capacity-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.55rem;
}

.tenant-capacity-card {
  display: grid;
  gap: 0.35rem;
}

.tenant-capacity-card.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 20%, var(--admin-border));
}

.tenant-capacity-card.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 28%, var(--admin-border));
  background: #fffbeb;
}

.tenant-capacity-card.is-danger {
  border-color: color-mix(in oklab, var(--admin-danger) 28%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-danger) 5%, var(--admin-surface));
}

.tenant-capacity-card div {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.5rem;
}

.tenant-capacity-card strong {
  color: var(--admin-text);
  font-size: 0.88rem;
  line-height: 1.25;
}

.tenant-capacity-card span {
  flex: 0 0 auto;
  color: var(--admin-text);
  font-weight: 750;
  font-variant-numeric: tabular-nums;
}

.tenant-capacity-card p {
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.82rem;
  line-height: 1.35;
}

.tenant-admin-create-form {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.tenant-admin-table-shell {
  box-shadow: none;
}

.tenant-admin-table {
  min-width: 48rem;
}

.tenant-admin-list-table {
  min-width: 72rem;
}

.tenant-admin-infrastructure-table {
  min-width: 68rem;
}

.tenant-infrastructure {
  margin-block: 1rem;
  padding-block: 0.9rem;
  border-block: 1px solid var(--admin-border);
}

.tenant-infrastructure-head,
.tenant-infrastructure-subhead {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.tenant-infrastructure-head h3,
.tenant-infrastructure-subhead h4 {
  margin: 0;
  color: var(--admin-text);
}

.tenant-infrastructure-head h3 {
  font-size: 1.05rem;
}

.tenant-infrastructure-subhead {
  align-items: center;
  margin-top: 0.9rem;
  padding-block: 0.55rem;
  border-top: 1px solid var(--admin-border);
}

.tenant-infrastructure-subhead h4 {
  font-size: 0.95rem;
}

.tenant-infrastructure-head p,
.tenant-infrastructure-alerts p {
  margin: 0.2rem 0 0;
  color: var(--admin-muted);
}

.tenant-infrastructure-status {
  flex: 0 0 auto;
  color: var(--admin-muted);
  text-align: right;
}

.tenant-external-alert-channel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  align-items: center;
  gap: 1rem;
  margin-top: 0.8rem;
  padding-block: 0.7rem;
  border-block: 1px solid var(--admin-border);
}

.tenant-external-alert-channel .tenant-infrastructure-subhead {
  justify-content: flex-start;
  margin: 0;
  padding: 0;
  border: 0;
}

.tenant-external-alert-copy {
  min-width: 0;
}

.tenant-external-alert-copy p {
  margin: 0.25rem 0;
  color: var(--admin-text);
  overflow-wrap: anywhere;
}

.tenant-external-alert-copy small {
  display: block;
  color: var(--admin-muted);
  overflow-wrap: anywhere;
}

.tenant-external-alert-channel .btn {
  min-height: 44px;
  white-space: nowrap;
}

.tenant-infrastructure-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0.8rem 0 0;
  border-top: 1px solid var(--admin-border);
}

.tenant-infrastructure-metrics > div {
  min-width: 0;
  padding: 0.7rem 0.65rem;
  border-bottom: 1px solid var(--admin-border);
}

.tenant-infrastructure-metrics dt {
  color: var(--admin-muted);
  font-size: 0.76rem;
  font-weight: 700;
}

.tenant-infrastructure-metrics dd {
  margin: 0.15rem 0 0;
  color: var(--admin-text);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

.tenant-infrastructure-metrics small,
.tenant-infrastructure-subhead > span,
.tenant-worker-instances small {
  color: var(--admin-muted);
}

.tenant-infrastructure-alerts ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.tenant-infrastructure-alerts li {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 0.65rem;
  padding-block: 0.7rem;
  border-top: 1px solid var(--admin-border);
}

.tenant-infrastructure-alerts li > .badge {
  align-self: start;
}

.tenant-infrastructure-alerts li strong,
.tenant-infrastructure-alerts li small {
  display: block;
  overflow-wrap: anywhere;
}

.tenant-infrastructure-empty {
  margin: 0.8rem 0 0;
  padding: 0.7rem;
  border: 1px solid color-mix(in oklab, var(--admin-success) 28%, var(--admin-border));
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-success) 7%, var(--admin-surface));
  color: var(--admin-text);
}

.tenant-worker-history {
  min-width: 16rem;
  max-width: 28rem;
}

.tenant-worker-run {
  padding: 0.45rem 0;
  border-top: 1px solid var(--admin-border);
}

.tenant-worker-instances {
  display: grid;
  gap: 0;
  min-width: 18rem;
  margin-top: 0.45rem;
}

.tenant-worker-instances > div {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 0.15rem 0.45rem;
  padding-block: 0.45rem;
  border-top: 1px solid var(--admin-border);
}

.tenant-worker-instances strong {
  min-width: 0;
  overflow-wrap: anywhere;
}

.tenant-worker-instances small {
  grid-column: 2;
}

@media (max-width: 1199.98px) {
  .tenant-infrastructure-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .tenant-infrastructure-head {
    align-items: stretch;
    flex-direction: column;
  }

  .tenant-infrastructure-status {
    text-align: left;
  }

  .tenant-external-alert-channel {
    grid-template-columns: 1fr;
  }

  .tenant-external-alert-channel .btn {
    width: 100%;
  }

  .tenant-infrastructure-metrics {
    grid-template-columns: 1fr;
  }

  .tenant-infrastructure-alerts li {
    grid-template-columns: 1fr;
  }

  .tenant-infrastructure-alerts li > .badge {
    width: fit-content;
  }
}

.tenant-admin-page code {
  white-space: nowrap;
}

.cashflow-page {
  gap: 0.9rem;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  contain: inline-size paint;
  overflow-x: clip;
}

.cashflow-forecast-panel,
.cashflow-operations-panel,
.cashflow-form-panel {
  min-width: 0;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
  box-shadow: var(--admin-shadow);
}

.cashflow-forecast-panel > *,
.cashflow-operations-panel > * {
  min-width: 0;
}

.cashflow-forecast-panel,
.cashflow-operations-panel {
  display: grid;
  gap: 0.8rem;
  padding: 0.9rem;
}

.cashflow-form-panel {
  display: grid;
  gap: 0.65rem;
  margin-bottom: 0.8rem;
  padding: 0.85rem;
}

.cashflow-balance-adjustment {
  margin-bottom: 0.8rem;
  border-block: 1px solid var(--admin-border);
  background: color-mix(in oklab, var(--admin-bg) 36%, var(--admin-surface));
}

.cashflow-balance-adjustment > summary {
  display: flex;
  min-height: 3.5rem;
  padding: 0.75rem 0.85rem;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  color: var(--admin-text);
  cursor: pointer;
  list-style: none;
}

.cashflow-balance-adjustment > summary::-webkit-details-marker {
  display: none;
}

.cashflow-balance-adjustment > summary:focus-visible {
  outline: 3px solid color-mix(in oklab, var(--admin-primary) 34%, white);
  outline-offset: -3px;
}

.cashflow-balance-adjustment > summary span:first-child {
  display: grid;
  gap: 0.1rem;
  min-width: 0;
}

.cashflow-balance-adjustment > summary strong,
.cashflow-balance-adjustment > summary small {
  overflow-wrap: anywhere;
}

.cashflow-balance-adjustment > summary small {
  color: var(--admin-muted);
  font-size: 0.82rem;
  line-height: 1.35;
}

.cashflow-balance-adjustment-summary-state {
  flex: 0 0 auto;
  color: var(--admin-primary);
  font-size: 0.82rem;
  font-weight: 700;
}

.cashflow-balance-adjustment[open] .cashflow-balance-adjustment-summary-state {
  font-size: 0;
}

.cashflow-balance-adjustment[open] .cashflow-balance-adjustment-summary-state::after {
  content: "Chiudi";
  font-size: 0.82rem;
}

.cashflow-balance-adjustment-form,
.cashflow-balance-adjustment-history,
.cashflow-balance-adjustment-empty {
  margin: 0 0.85rem 0.85rem;
}

.cashflow-balance-adjustment-form {
  display: grid;
  gap: 0.75rem;
  padding-top: 0.8rem;
  border-top: 1px solid var(--admin-border);
}

.cashflow-balance-adjustment-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.65rem;
  min-width: 0;
}

.cashflow-balance-adjustment-grid > * {
  min-width: 0;
}

.cashflow-balance-adjustment-account,
.cashflow-balance-adjustment-counter,
.cashflow-balance-adjustment-reason,
.cashflow-balance-adjustment-notes {
  grid-column: span 2;
}

.cashflow-balance-adjustment-impact {
  min-width: 0;
  padding: 0.6rem 0.7rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.4rem;
  color: var(--admin-text);
  background: var(--admin-surface);
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

.cashflow-balance-adjustment-confirm {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.cashflow-balance-adjustment-history {
  display: grid;
  gap: 0.55rem;
  padding-top: 0.8rem;
  border-top: 1px solid var(--admin-border);
}

.cashflow-balance-adjustment-history h3 {
  margin: 0;
  font-size: 1rem;
}

.cashflow-balance-adjustment-reversal {
  display: grid;
  grid-template-columns: minmax(8rem, 1fr) auto;
  gap: 0.4rem;
  min-width: 15rem;
}

@media (max-width: 1199.98px) {
  .cashflow-balance-adjustment-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .cashflow-balance-adjustment > summary {
    align-items: flex-start;
  }

  .cashflow-balance-adjustment-form,
  .cashflow-balance-adjustment-history,
  .cashflow-balance-adjustment-empty {
    margin-inline: 0.75rem;
  }

  .cashflow-balance-adjustment-grid {
    grid-template-columns: 1fr;
  }

  .cashflow-balance-adjustment-account,
  .cashflow-balance-adjustment-counter,
  .cashflow-balance-adjustment-reason,
  .cashflow-balance-adjustment-notes {
    grid-column: auto;
  }

  .cashflow-balance-adjustment-confirm {
    align-items: stretch;
    flex-direction: column;
  }

  .cashflow-balance-adjustment-confirm .btn,
  .cashflow-balance-adjustment-reversal .btn {
    width: 100%;
  }

  .cashflow-balance-adjustment-reversal {
    grid-template-columns: 1fr;
    min-width: 0;
  }
}

.cashflow-priority-strip {
  display: grid;
  grid-template-columns: minmax(13rem, 0.7fr) minmax(0, 2.4fr);
  gap: 0.75rem;
  align-items: stretch;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
  box-shadow: var(--admin-shadow);
}

.cashflow-priority-intro {
  display: grid;
  align-content: start;
  gap: 0.25rem;
  min-width: 0;
}

.cashflow-priority-intro h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1.05rem;
  line-height: 1.25;
}

.cashflow-priority-intro p {
  max-width: 40ch;
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.86rem;
  line-height: 1.45;
}

.cashflow-priority-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.55rem;
  min-width: 0;
}

.cashflow-priority-item {
  display: grid;
  align-content: start;
  gap: 0.18rem;
  min-width: 0;
  min-height: 7.25rem;
  padding: 0.68rem 0.72rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  color: inherit;
  background: color-mix(in oklab, var(--admin-bg) 54%, white);
  text-decoration: none;
  transition: border-color 160ms ease, background-color 160ms ease, transform 160ms ease;
}

.cashflow-priority-item:hover,
.cashflow-priority-item:focus-visible {
  color: inherit;
  border-color: color-mix(in oklab, var(--admin-primary) 36%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-primary-soft) 34%, white);
  transform: translateY(-1px);
  text-decoration: none;
}

.cashflow-priority-item:focus-visible {
  outline: 3px solid color-mix(in oklab, var(--admin-primary) 32%, white);
  outline-offset: 2px;
}

.cashflow-priority-label {
  color: var(--admin-muted);
  font-size: 0.76rem;
  font-weight: 700;
}

.cashflow-priority-item strong {
  color: var(--admin-text);
  font-size: 1.18rem;
  line-height: 1.15;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

.cashflow-priority-status {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  min-height: 1.45rem;
  padding: 0.12rem 0.42rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.1;
}

.cashflow-priority-status.is-ready {
  color: #14532d;
  border-color: #86efac;
  background: #dcfce7;
}

.cashflow-priority-status.is-warning {
  color: #78350f;
  border-color: #fcd34d;
  background: #fffbeb;
}

.cashflow-priority-status.is-danger {
  color: #881337;
  border-color: #fda4af;
  background: #fff1f2;
}

.cashflow-priority-status.is-muted {
  color: var(--admin-muted);
  background: var(--admin-surface);
}

.cashflow-priority-item small {
  color: var(--admin-muted);
  font-size: 0.78rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.cashflow-section-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.cashflow-section-head h2,
.cashflow-form-panel h3 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1.15rem;
  line-height: 1.25;
}

.cashflow-form-panel h3 {
  font-size: 1.02rem;
}

.cashflow-section-head p {
  margin: 0.25rem 0 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

.cashflow-kpi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(9.75rem, 1fr));
  gap: 0.55rem;
}

.cashflow-kpi-grid-secondary {
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
}

.cashflow-kpi-card {
  min-width: 0;
  padding: 0.68rem 0.72rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 54%, white);
}

.cashflow-kpi-card > * {
  min-width: 0;
  overflow-wrap: anywhere;
}

.cashflow-kpi-card .small {
  font-weight: 650;
}

.cashflow-kpi-card .fs-5,
.cashflow-kpi-card .fs-6 {
  font-variant-numeric: tabular-nums;
}

.cashflow-minimum-alert {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 0.45rem;
  align-items: center;
  padding: 0.6rem 0.7rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 56%, white);
}

.cashflow-minimum-alert-danger {
  color: #842029;
  border-color: #f1aeb5;
  background: #fff5f5;
}

.cashflow-minimum-alert-neutral {
  color: var(--admin-text);
}

.cashflow-history-panel {
  display: grid;
  gap: 0.9rem;
  min-width: 0;
  padding: 1rem 0;
  border-block: 1px solid var(--admin-border);
}

.cashflow-history-head,
.cashflow-history-title-line {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.cashflow-history-head > div {
  min-width: 0;
}

.cashflow-history-title-line {
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
}

.cashflow-history-head h3,
.cashflow-history-comparison h4 {
  margin: 0;
  color: var(--admin-text);
  font-weight: 750;
}

.cashflow-history-head h3 {
  font-size: 1.05rem;
}

.cashflow-history-head p {
  max-width: 74ch;
  margin: 0.3rem 0 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.5;
}

.cashflow-history-metrics {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin: 0;
  border-block: 1px solid var(--admin-border);
}

.cashflow-history-metrics > div {
  min-width: 0;
  padding: 0.75rem;
  border-inline-end: 1px solid var(--admin-border);
}

.cashflow-history-metrics > div:last-child {
  border-inline-end: 0;
}

.cashflow-history-metrics dt,
.cashflow-history-quality {
  color: var(--admin-muted);
  font-size: 0.78rem;
}

.cashflow-history-metrics dt {
  font-weight: 650;
}

.cashflow-history-metrics dd {
  margin: 0.2rem 0 0;
  overflow-wrap: anywhere;
  font-size: 1rem;
  font-variant-numeric: tabular-nums;
  font-weight: 750;
}

.cashflow-history-metrics small {
  color: var(--admin-muted);
  font-size: 0.75rem;
  line-height: 1.35;
}

.cashflow-history-analysis {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(17rem, 0.8fr);
  gap: 1rem;
  min-width: 0;
}

.cashflow-history-chart {
  display: grid;
  gap: 0.5rem;
  min-width: 0;
  margin: 0;
}

.cashflow-history-chart figcaption {
  display: grid;
  gap: 0.1rem;
}

.cashflow-history-chart figcaption span,
.cashflow-history-comparison-note {
  color: var(--admin-muted);
  font-size: 0.8rem;
  line-height: 1.45;
}

.cashflow-history-chart-frame {
  position: relative;
  min-width: 0;
  height: 13rem;
  padding: 1.15rem 0 1.2rem 3.9rem;
  border-bottom: 1px solid var(--admin-border-strong);
  background: color-mix(in oklab, var(--admin-bg) 46%, var(--admin-surface));
}

.cashflow-history-chart-frame svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.cashflow-history-line {
  fill: none;
  stroke: var(--admin-primary);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 4;
  vector-effect: non-scaling-stroke;
}

.cashflow-history-point {
  fill: var(--admin-surface);
  stroke: var(--admin-primary);
  stroke-width: 3;
  vector-effect: non-scaling-stroke;
}

.cashflow-history-zero-line {
  stroke: #b42318;
  stroke-dasharray: 7 6;
  stroke-width: 1.5;
  vector-effect: non-scaling-stroke;
}

.cashflow-history-axis {
  position: absolute;
  inset-inline-start: 0.4rem;
  max-width: 3.2rem;
  color: var(--admin-muted);
  font-size: 0.7rem;
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
  text-align: end;
  overflow-wrap: anywhere;
}

.cashflow-history-axis-max {
  inset-block-start: 0.4rem;
}

.cashflow-history-axis-min {
  inset-block-end: 0.35rem;
}

.cashflow-history-dates,
.cashflow-history-quality {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
}

.cashflow-history-dates {
  padding-inline-start: 3.9rem;
  color: var(--admin-muted);
  font-size: 0.72rem;
}

.cashflow-history-comparison {
  min-width: 0;
  padding-inline-start: 1rem;
  border-inline-start: 1px solid var(--admin-border);
}

.cashflow-history-comparison h4 {
  margin-bottom: 0.6rem;
  font-size: 0.92rem;
}

.cashflow-history-comparison .admin-table-shell {
  margin: 0;
}

.cashflow-history-comparison .admin-table {
  width: 100%;
  min-width: 0;
  border-collapse: collapse;
}

.cashflow-history-comparison .admin-table thead,
.cashflow-history-comparison .admin-table tbody {
  display: block;
}

.cashflow-history-comparison .admin-table tr {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr) minmax(0, 0.95fr);
  column-gap: 0.45rem;
  align-items: center;
}

.cashflow-history-comparison .admin-table th,
.cashflow-history-comparison .admin-table td {
  display: block;
  min-width: 0;
  padding-inline: 0.25rem;
  overflow-wrap: anywhere;
}

.cashflow-history-comparison .admin-table th:not(:first-child),
.cashflow-history-comparison .admin-table td:not(:first-child) {
  text-align: end;
}

.cashflow-history-comparison-note {
  margin: 0.65rem 0 0;
}

.cashflow-history-quality {
  justify-content: flex-start;
  flex-wrap: wrap;
  padding-top: 0.7rem;
  border-top: 1px solid var(--admin-border);
}

.cashflow-history-quality span {
  padding-inline-end: 0.75rem;
  border-inline-end: 1px solid var(--admin-border);
}

.cashflow-history-quality span:last-child {
  border-inline-end: 0;
}

.cashflow-history-coverage-note {
  margin: -0.35rem 0 0;
  color: var(--admin-muted);
  font-size: 0.75rem;
  line-height: 1.45;
}

.cashflow-history-empty {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.65rem;
  min-height: 4rem;
  padding: 0.75rem;
  border: 1px dashed var(--admin-border-strong);
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 45%, var(--admin-surface));
}

.cashflow-history-empty strong {
  color: var(--admin-text);
}

.cashflow-history-empty .btn {
  margin-inline-start: auto;
}

.cashflow-exposure-panel {
  display: grid;
  gap: 0.75rem;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 42%, white);
}

.cashflow-exposure-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.8rem;
}

.cashflow-exposure-head h3 {
  margin: 0.25rem 0 0.2rem;
  color: var(--admin-text);
  font-weight: 700;
}

.cashflow-exposure-head p {
  max-width: 72ch;
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

.cashflow-exposure-status {
  display: inline-flex;
  align-items: center;
  min-height: 1.55rem;
  padding: 0.16rem 0.48rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 700;
}

.cashflow-exposure-status.is-ready {
  color: #14532d;
  border-color: #86efac;
  background: #dcfce7;
}

.cashflow-exposure-status.is-warning {
  color: #78350f;
  border-color: #fcd34d;
  background: #fffbeb;
}

.cashflow-exposure-status.is-danger {
  color: #881337;
  border-color: #fda4af;
  background: #fff1f2;
}

.cashflow-exposure-status.is-muted {
  color: var(--admin-muted);
  background: var(--admin-surface);
}

.cashflow-exposure-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.45rem;
}

.cashflow-exposure-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.55rem;
  margin: 0;
}

.cashflow-exposure-grid div {
  min-width: 0;
  padding: 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: var(--admin-surface);
}

.cashflow-exposure-grid dt {
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.cashflow-exposure-grid dd {
  margin: 0.18rem 0 0;
  font-variant-numeric: tabular-nums;
  font-weight: 750;
}

.cashflow-exposure-grid small {
  color: var(--admin-muted);
  font-size: 0.78rem;
}

.cashflow-exposure-ratio-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.cashflow-exposure-ratio-grid span {
  display: inline-flex;
  align-items: center;
  min-height: 1.8rem;
  padding: 0.22rem 0.5rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: var(--admin-surface);
  font-size: 0.8rem;
  font-weight: 650;
}

.cashflow-automatch-panel .form-check {
  min-height: 1.4rem;
}

.cashflow-automatch-governance {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.8rem;
  padding: 0.75rem 0.85rem;
  border: 1px solid color-mix(in oklab, var(--admin-warning, #f59e0b) 34%, var(--admin-border));
  border-radius: var(--admin-radius);
  background: color-mix(in oklab, var(--admin-warning, #f59e0b) 8%, var(--admin-surface));
}

.cashflow-automatch-governance > div {
  display: grid;
  gap: 0.22rem;
  min-width: 0;
}

.cashflow-automatch-governance strong {
  color: var(--admin-text);
  font-size: 0.94rem;
}

.cashflow-automatch-governance p {
  max-width: 72ch;
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.84rem;
  line-height: 1.45;
}

.cashflow-automatch-governance .btn {
  flex: 0 0 auto;
}

.cashflow-automatch-reasons {
  display: grid;
  gap: 0.2rem;
  min-width: 18rem;
  max-width: 36rem;
  margin: 0;
  padding-left: 1rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.cashflow-automatch-policy-badge {
  display: inline-flex;
  margin-left: 0.25rem;
  vertical-align: middle;
}

.cashflow-automatch-policy-reason {
  display: block;
  max-width: 24rem;
  margin-top: 0.25rem;
  color: var(--admin-muted);
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.cashflow-nondocumental-panel {
  display: grid;
  gap: 0.75rem;
  margin-bottom: 0.8rem;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: color-mix(in oklab, var(--admin-bg) 44%, white);
}

.cashflow-reconciliation-export-panel {
  display: grid;
  gap: 0.75rem;
  margin-bottom: 0.8rem;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: color-mix(in oklab, var(--admin-bg) 44%, white);
}

.cashflow-reconciliation-export-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.8rem;
}

.cashflow-reconciliation-export-head h3 {
  margin: 0.25rem 0 0.2rem;
  color: var(--admin-text);
  font-size: 1.02rem;
  font-weight: 700;
  line-height: 1.25;
}

.cashflow-reconciliation-export-head p {
  max-width: 72ch;
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

.cashflow-reconciliation-export-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.45rem;
}

.cashflow-reconciliation-export-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.55rem;
  margin: 0;
}

.cashflow-reconciliation-export-grid div {
  min-width: 0;
  padding: 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: var(--admin-surface);
}

.cashflow-reconciliation-export-grid dt {
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.cashflow-reconciliation-export-grid dd {
  margin: 0.16rem 0 0;
  color: var(--admin-text);
  font-weight: 750;
  font-variant-numeric: tabular-nums;
}

.cashflow-reconciliation-export-grid small {
  color: var(--admin-muted);
  font-size: 0.78rem;
  line-height: 1.35;
}

.cashflow-nondocumental-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.8rem;
}

.cashflow-nondocumental-head h3 {
  margin: 0.25rem 0 0.2rem;
  color: var(--admin-text);
  font-size: 1.02rem;
  font-weight: 700;
  line-height: 1.25;
}

.cashflow-nondocumental-head p {
  max-width: 72ch;
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

.cashflow-nondocumental-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.45rem;
}

.cashflow-nondocumental-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.55rem;
  margin: 0;
}

.cashflow-nondocumental-grid div {
  min-width: 0;
  padding: 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: var(--admin-surface);
}

.cashflow-nondocumental-grid dt,
.cashflow-nondocumental-item dt {
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.cashflow-nondocumental-grid dd,
.cashflow-nondocumental-item dd {
  margin: 0.16rem 0 0;
  color: var(--admin-text);
  font-weight: 750;
  font-variant-numeric: tabular-nums;
}

.cashflow-nondocumental-grid small {
  color: var(--admin-muted);
  font-size: 0.78rem;
  line-height: 1.35;
}

.cashflow-nondocumental-list {
  display: grid;
  gap: 0.5rem;
}

.cashflow-nondocumental-item {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(18rem, 0.9fr) minmax(13rem, 0.8fr);
  gap: 0.65rem;
  align-items: center;
  padding: 0.68rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.55rem;
  background: var(--admin-surface);
}

.cashflow-assisted-empty {
  display: grid;
  gap: 0.12rem;
  padding: 0.7rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.55rem;
  background: var(--admin-surface);
}

.cashflow-assisted-empty strong {
  color: var(--admin-text);
  font-size: 0.92rem;
  line-height: 1.3;
}

.cashflow-assisted-empty span {
  color: var(--admin-muted);
  font-size: 0.82rem;
  line-height: 1.4;
}

.cashflow-assisted-list {
  display: grid;
  gap: 0.5rem;
}

.cashflow-assisted-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.85fr) minmax(16rem, 0.75fr);
  gap: 0.65rem;
  align-items: center;
  padding: 0.68rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.55rem;
  background: var(--admin-surface);
}

.cashflow-assisted-item > div:first-child {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
}

.cashflow-assisted-item strong,
.cashflow-assisted-decision small {
  color: var(--admin-text);
  font-size: 0.9rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.cashflow-assisted-item span,
.cashflow-assisted-item small {
  color: var(--admin-muted);
  font-size: 0.8rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.cashflow-assisted-item dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.35rem;
  margin: 0;
}

.cashflow-assisted-item dt {
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.cashflow-assisted-item dd {
  margin: 0.16rem 0 0;
  color: var(--admin-text);
  font-weight: 750;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

.cashflow-assisted-decision {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
}

.cashflow-assisted-command {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  align-items: flex-start;
  margin-top: 0.35rem;
}

.cashflow-assisted-command > a,
.cashflow-assisted-command > form,
.cashflow-assisted-command > details {
  min-width: 0;
}

.cashflow-assisted-command .btn,
.cashflow-assisted-confirmation > summary {
  min-height: 44px;
}

.cashflow-assisted-confirmation {
  flex: 1 1 100%;
  border-top: 1px solid var(--admin-border);
  padding-top: 0.4rem;
}

.cashflow-assisted-confirmation > summary {
  display: inline-flex;
  align-items: center;
  color: var(--admin-primary);
  font-size: 0.86rem;
  font-weight: 700;
  cursor: pointer;
}

.cashflow-assisted-confirmation > summary:focus-visible {
  outline: 3px solid var(--admin-focus);
  outline-offset: 2px;
}

.cashflow-assisted-confirmation form {
  display: grid;
  gap: 0.38rem;
  margin-top: 0.35rem;
  padding: 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: var(--admin-bg);
}

.cashflow-assisted-confirmation label {
  margin: 0;
  color: var(--admin-text);
  font-size: 0.82rem;
  font-weight: 700;
}

.cashflow-assisted-confirmation-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
}

.cashflow-assisted-confirmation-actions .form-control {
  flex: 1 1 8rem;
  min-width: 0;
  min-height: 44px;
  font-variant-numeric: tabular-nums;
}

.cashflow-assisted-confirmation-actions .btn {
  flex: 0 1 auto;
}

.cashflow-assisted-transfer-form {
  margin: 0;
}

.cashflow-nondocumental-item > div:first-child {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
}

.cashflow-nondocumental-item strong,
.cashflow-nondocumental-decision span {
  color: var(--admin-text);
  font-size: 0.9rem;
  line-height: 1.25;
}

.cashflow-nondocumental-item span,
.cashflow-nondocumental-item small,
.cashflow-nondocumental-decision small {
  color: var(--admin-muted);
  font-size: 0.8rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.cashflow-nondocumental-item dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.35rem;
  margin: 0;
}

.cashflow-nondocumental-decision {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
}

.cashflow-nondocumental-command-group {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  align-items: center;
  margin-top: 0.2rem;
}

.cashflow-nondocumental-command-group form {
  margin: 0;
}

.cashflow-ledger-rule-result {
  display: grid;
  gap: 0.65rem;
  margin: 0;
  border-radius: var(--admin-radius);
}

.cashflow-ledger-rule-result-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.cashflow-ledger-rule-result-head > div {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
}

.cashflow-ledger-rule-result-head strong {
  color: var(--admin-text);
  font-size: 0.94rem;
}

.cashflow-ledger-rule-result-head span:not(.badge),
.cashflow-ledger-rule-reasons {
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.82rem;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.cashflow-ledger-rule-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.45rem;
  margin: 0;
}

.cashflow-ledger-rule-summary div {
  min-width: 0;
  padding: 0.5rem;
  border: 1px solid color-mix(in oklab, var(--admin-border) 80%, transparent);
  border-radius: 0.45rem;
  background: color-mix(in oklab, var(--admin-surface) 82%, transparent);
}

.cashflow-ledger-rule-summary dt {
  color: var(--admin-muted);
  font-size: 0.76rem;
  font-weight: 650;
}

.cashflow-ledger-rule-summary dd {
  margin: 0.1rem 0 0;
  color: var(--admin-text);
  font-size: 0.84rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

.cashflow-transactions-table .admin-table {
  min-width: 78rem;
}

.cashflow-transactions-table {
  width: 100%;
  min-width: 0;
}

.cashflow-reconciliation-form {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
  min-width: min(100%, 25rem);
}

.cashflow-reconciliation-form .form-select {
  flex: 1 1 18rem;
  min-width: min(100%, 15rem);
}

.cashflow-reconciliation-form .form-control {
  flex: 0 1 8rem;
}

.cashflow-reconciliation-form .btn {
  flex: 0 0 auto;
  min-width: 6.75rem;
}

.cashflow-reconciliation-line {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
}

.cashflow-document-combobox {
  position: relative;
  flex: 1 1 18rem;
  min-width: 0;
  max-width: 100%;
}

.cashflow-document-combobox .form-control {
  width: 100%;
  max-width: none;
}

.cashflow-document-combobox.is-loading .form-control {
  border-color: var(--admin-primary);
}

.cashflow-document-native-select {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.cashflow-document-results {
  width: 100%;
  max-height: 16rem;
  margin-top: 0.25rem;
  overflow-y: auto;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.cashflow-document-result {
  display: flex;
  width: 100%;
  min-height: 3rem;
  flex-direction: column;
  gap: 0.15rem;
  padding: 0.55rem 0.65rem;
  border: 0;
  border-bottom: 1px solid var(--admin-border);
  background: transparent;
  color: var(--admin-text);
  text-align: left;
}

.cashflow-document-result:last-child {
  border-bottom: 0;
}

.cashflow-document-result:hover,
.cashflow-document-result.is-active,
.cashflow-document-result:focus-visible {
  background: var(--admin-bg);
  outline: 2px solid transparent;
}

.cashflow-document-result strong,
.cashflow-document-result span {
  overflow-wrap: anywhere;
}

.cashflow-document-result span,
.cashflow-document-status,
.cashflow-document-empty {
  color: var(--admin-text-muted);
  font-size: 0.8rem;
}

.cashflow-document-load-more {
  display: block;
  width: calc(100% - 1rem);
  min-height: 2.75rem;
  margin: 0.5rem;
  padding: 0.45rem 0.7rem;
  border: 1px solid var(--admin-primary);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
  color: var(--admin-primary-dark);
  font-weight: 700;
}

.cashflow-document-load-more:hover,
.cashflow-document-load-more:focus-visible {
  background: var(--admin-primary-soft);
  outline: 2px solid var(--admin-focus);
  outline-offset: 1px;
}

.cashflow-document-status {
  min-height: 1.2rem;
  padding-top: 0.2rem;
}

.cashflow-document-empty {
  margin: 0;
  padding: 0.75rem;
}

.cashflow-exchange-fields {
  display: grid;
  grid-template-columns: minmax(9rem, auto) minmax(8rem, 0.8fr) minmax(9rem, 0.9fr) minmax(12rem, 1.4fr);
  gap: 0.45rem;
  align-items: center;
  flex: 1 1 100%;
  width: 100%;
  padding: 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-bg);
}

.cashflow-exchange-fields[hidden] {
  display: none !important;
}

.cashflow-exchange-fields > span {
  color: var(--admin-text);
  font-size: 0.84rem;
  font-weight: 700;
}

.cashflow-exchange-fields .form-control {
  width: 100%;
  max-width: none !important;
}

.cashflow-fee-form .form-control:last-of-type {
  flex-basis: 13rem;
}

.cashflow-account-page {
  gap: 0.9rem;
}

.cashflow-account-summary,
.cashflow-account-control,
.cashflow-account-ledger {
  display: grid;
  gap: 0.75rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
  box-shadow: var(--admin-shadow);
}

.cashflow-account-kpi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr));
  gap: 0.55rem;
}

.cashflow-account-kpi-grid .cashflow-kpi-card {
  display: grid;
  align-content: start;
  gap: 0.12rem;
}

.cashflow-account-kpi-grid .cashflow-kpi-card strong {
  color: var(--admin-text);
  font-size: 1.08rem;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
}

.cashflow-account-control-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
  gap: 0.55rem;
}

.cashflow-account-control-grid > div {
  display: grid;
  align-content: start;
  gap: 0.16rem;
  min-width: 0;
  padding: 0.68rem 0.72rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 54%, white);
}

.cashflow-account-control-grid span {
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.cashflow-account-control-grid strong {
  color: var(--admin-text);
  font-size: 1.08rem;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
}

.cashflow-account-control-grid small {
  color: var(--admin-muted);
  line-height: 1.35;
}

.cashflow-account-next-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.cashflow-account-empty {
  border-radius: var(--admin-radius);
}

.cashflow-account-table .admin-table {
  min-width: 72rem;
}

.cashflow-account-table td {
  vertical-align: middle;
}

.cashflow-account-table td,
.cashflow-account-table code {
  overflow-wrap: anywhere;
}

.cashflow-account-table td[data-label="Controparte"],
.cashflow-account-table td[data-label="Riconciliazione"],
.cashflow-account-table td[data-label="Audit"] {
  min-width: 0;
}

.cashflow-account-table td[data-label="Controparte"] strong,
.cashflow-account-table td[data-label="Controparte"] small,
.cashflow-account-table td[data-label="Riconciliazione"] small,
.cashflow-account-table td[data-label="Audit"] code {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.cashflow-account-table td[data-label="Controparte"] small,
.cashflow-account-table td[data-label="Riconciliazione"] small {
  margin-top: 0.12rem;
  color: var(--admin-muted);
  font-size: 0.78rem;
  line-height: 1.3;
}

.cashflow-account-table td[data-label="Stato provider"] .badge,
.cashflow-account-table td[data-label="Riconciliazione"] .badge,
.cashflow-account-table td[data-label="Audit"] .badge {
  max-width: 100%;
  margin: 0.1rem 0.12rem 0.1rem 0;
  white-space: normal;
  text-align: left;
}

.cashflow-account-table td[data-label="Audit"] code {
  margin-top: 0.2rem;
  color: var(--admin-muted);
  font-size: 0.75rem;
}

.privacy-page {
  gap: 1rem;
}

.privacy-hero .admin-page-title-sub {
  max-width: 58rem;
}

.privacy-notice,
.privacy-card,
.privacy-detail-section {
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.privacy-notice {
  padding: 1rem;
  background: color-mix(in oklab, var(--admin-primary-soft) 56%, white);
}

.privacy-notice h2,
.privacy-card h2,
.privacy-detail-section h2,
.privacy-process-table h2 {
  margin: 0 0 0.45rem;
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.25;
  text-wrap: balance;
}

.privacy-notice p,
.privacy-card p {
  max-width: 76ch;
  margin: 0;
  color: var(--admin-muted);
  line-height: 1.55;
}

.privacy-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
  gap: 0.75rem;
}

.privacy-card {
  padding: 0.9rem;
}

.privacy-detail-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
  gap: 0.75rem;
}

.privacy-detail-section {
  padding: 1rem;
}

.privacy-detail-section ul {
  margin: 0;
  padding-left: 1.15rem;
  color: var(--admin-muted);
  line-height: 1.55;
}

.privacy-detail-section li + li {
  margin-top: 0.35rem;
}

.privacy-process-table {
  display: grid;
  gap: 0.55rem;
}

.error-response-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
  gap: 0.75rem;
}

.error-response-card,
.error-action-panel {
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.error-response-card {
  padding: 1rem;
}

.error-response-card h2,
.error-action-panel h2 {
  margin: 0 0 0.45rem;
  font-size: 1rem;
  line-height: 1.25;
  text-wrap: balance;
}

.error-response-card p {
  margin: 0 0 0.75rem;
  color: var(--admin-muted);
  line-height: 1.5;
}

.error-response-card dl {
  display: grid;
  gap: 0.55rem;
  margin: 0;
}

.error-response-card dl > div {
  display: grid;
  gap: 0.15rem;
}

.error-response-card dt {
  color: var(--admin-muted);
  font-size: 0.8rem;
  font-weight: 600;
}

.error-response-card dd {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
}

.error-action-panel {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem;
}

.error-action-panel ol {
  margin: 0;
  padding-left: 1.15rem;
  color: var(--admin-muted);
  line-height: 1.55;
}

.error-action-buttons {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.5rem;
}

.status-page {
  gap: 1rem;
}

.status-hero .admin-page-title-sub {
  max-width: 58rem;
}

.status-overview,
.status-card,
.status-incident-panel {
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.status-overview {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem;
}

.status-overview h2,
.status-card h2,
.status-incident-panel h2 {
  margin: 0 0 0.45rem;
  font-size: 1rem;
  line-height: 1.25;
  text-wrap: balance;
}

.status-overview p,
.status-incident-panel p {
  max-width: 76ch;
  margin: 0;
  color: var(--admin-muted);
  line-height: 1.55;
}

.status-overview dl {
  display: grid;
  flex: 0 0 min(24rem, 42%);
  gap: 0.45rem;
  margin: 0;
}

.status-overview dl > div {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.45rem 0.55rem;
  border-radius: 0.45rem;
  background: color-mix(in oklab, var(--admin-bg) 58%, white);
}

.status-overview dt {
  color: var(--admin-muted);
  font-size: 0.82rem;
  font-weight: 600;
}

.status-overview dd {
  margin: 0;
  color: var(--admin-text);
  font-weight: 600;
  text-align: right;
}

.status-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr));
  gap: 0.75rem;
}

.status-card {
  padding: 1rem;
}

.status-card ul {
  margin: 0;
  padding-left: 1.15rem;
  color: var(--admin-muted);
  line-height: 1.55;
}

.status-card li + li {
  margin-top: 0.35rem;
}

.status-incident-panel {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem;
}

.admin-bulk-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem;
  border-bottom: 1px solid var(--admin-border);
  background: #fafcff;
}

.admin-bulk-helper {
  color: var(--admin-muted);
  font-size: 0.85rem;
}

.admin-bulk-print-status {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.75rem 1rem;
  padding: 0.85rem 0.95rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.admin-bulk-print-status-main {
  min-width: 0;
}

.admin-bulk-print-status-main p {
  max-width: 72ch;
}

.admin-bulk-print-status-metrics {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.45rem;
}

.admin-bulk-print-status-metrics span {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  min-height: 2rem;
  padding: 0.25rem 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  background: #f8fafc;
  color: var(--admin-muted);
  font-size: 0.82rem;
  white-space: nowrap;
}

.admin-bulk-print-status-metrics strong {
  color: var(--admin-text);
  font-variant-numeric: tabular-nums;
}

.admin-bulk-print-next-action {
  grid-column: 1 / -1;
  padding-top: 0.65rem;
  border-top: 1px solid var(--admin-border);
  color: var(--admin-muted);
  font-size: 0.87rem;
}

.admin-table-shell {
  overflow-x: auto;
  max-width: 100%;
  border-radius: var(--admin-radius);
  border: 1px solid var(--admin-border);
  background: var(--admin-surface);
  box-shadow: var(--admin-shadow);
}

.admin-table {
  width: 100%;
  min-width: 36rem;
  margin-bottom: 0;
}

.admin-table thead th {
  white-space: nowrap;
}

.admin-table .admin-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.375rem;
}

.admin-table .admin-actions .btn {
  min-width: 6.25rem;
}

.admin-row-subtitle {
  display: block;
  margin-top: 0.12rem;
  color: var(--admin-muted);
  font-size: 0.82rem;
  line-height: 1.25;
}

.approval-delegations-page {
  gap: 1rem;
}

.approval-delegations-create {
  padding-block: 1rem;
  border-block: 1px solid var(--admin-border);
}

.approval-delegations-section-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.75rem;
}

.approval-delegations-section-head h2 {
  margin: 0;
  font-size: 1.1rem;
}

.approval-delegations-section-head span {
  color: var(--admin-muted);
  font-size: 0.86rem;
}

.approval-delegations-form {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  align-items: end;
}

.approval-delegations-reason {
  grid-column: span 2;
}

.approval-delegations-submit {
  display: flex;
  justify-content: flex-end;
}

.approval-delegations-submit .btn {
  min-height: 44px;
  min-width: 10rem;
}

.approval-delegations-table {
  min-width: 76rem;
}

.approval-delegations-table td {
  vertical-align: top;
}

.approval-delegations-table .admin-actions {
  min-width: 12rem;
}

.approval-delegations-revoke summary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  list-style: none;
}

.approval-delegations-revoke summary::-webkit-details-marker {
  display: none;
}

.approval-delegations-revoke form {
  display: grid;
  grid-template-columns: minmax(10rem, 1fr) auto;
  gap: 0.4rem;
  margin-top: 0.5rem;
}

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

  .approval-delegations-reason {
    grid-column: 1 / -1;
  }
}

@media (max-width: 575.98px) {
  .approval-delegations-section-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.2rem;
  }

  .approval-delegations-form {
    grid-template-columns: 1fr;
  }

  .approval-delegations-reason {
    grid-column: auto;
  }

  .approval-delegations-form .form-control,
  .approval-delegations-form .form-select,
  .approval-delegations-submit .btn {
    min-height: 44px;
  }

  .approval-delegations-submit,
  .approval-delegations-submit .btn {
    width: 100%;
  }
}

.anagraph-page {
  gap: 0.9rem;
}

.anagraph-form {
  display: grid;
  gap: 0.85rem;
}

.anagraph-form-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(17rem, 0.34fr);
  gap: 0.9rem;
  align-items: start;
}

.jobs-form-page,
.jobs-detail-page {
  gap: 0.9rem;
}

.jobs-portfolio-panel {
  display: grid;
  gap: 0.85rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.jobs-portfolio-panel.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 28%, var(--admin-border));
}

.jobs-portfolio-panel.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 34%, var(--admin-border));
  background: #fffbeb;
}

.jobs-portfolio-panel.is-critical {
  border-color: color-mix(in oklab, var(--admin-danger) 30%, var(--admin-border));
  background: #fff7ed;
}

.jobs-portfolio-head,
.jobs-portfolio-priority {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
}

.jobs-portfolio-head h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1.05rem;
  line-height: 1.25;
}

.jobs-portfolio-head p {
  margin: 0.25rem 0 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.5;
}

.jobs-portfolio-head > span {
  display: inline-flex;
  align-items: center;
  min-height: 1.8rem;
  padding: 0.15rem 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 64%, white);
  font-size: 0.8rem;
  font-weight: 700;
  white-space: nowrap;
}

.jobs-portfolio-metrics {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.65rem;
}

.jobs-portfolio-metrics > div {
  min-width: 0;
  padding: 0.68rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.55rem;
  background: var(--admin-surface);
}

.jobs-portfolio-metrics span,
.jobs-portfolio-metrics small,
.jobs-portfolio-priority span {
  display: block;
  color: var(--admin-muted);
  font-size: 0.78rem;
  line-height: 1.35;
}

.jobs-portfolio-metrics strong {
  display: block;
  margin: 0.18rem 0;
  color: var(--admin-text);
  font-size: 1.05rem;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

.jobs-portfolio-priority {
  padding: 0.7rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.55rem;
  background: color-mix(in oklab, var(--admin-bg) 58%, white);
}

.jobs-portfolio-priority strong {
  display: block;
  color: var(--admin-text);
  font-size: 0.9rem;
}

.jobs-form {
  display: grid;
  gap: 0.75rem;
}

.jobs-form-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.36fr);
  gap: 0.9rem;
  align-items: start;
}

.jobs-form-sections {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
}

.jobs-form-section,
.jobs-readiness,
.jobs-detail-summary,
.jobs-detail-section,
.jobs-entry-panel {
  min-width: 0;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.jobs-form-section,
.jobs-readiness,
.jobs-detail-section,
.jobs-entry-panel {
  padding: 0.85rem;
}

.jobs-form-section-head,
.jobs-readiness-head,
.jobs-detail-section-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

.jobs-form-section-head h2,
.jobs-readiness-head h2,
.jobs-detail-section-head h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1.05rem;
  line-height: 1.25;
}

.jobs-form-section-head p,
.jobs-detail-section-head p,
.jobs-readiness-head span,
.jobs-readiness-item span {
  margin: 0.18rem 0 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.45;
}

.jobs-readiness {
  position: sticky;
  top: 5rem;
}

.jobs-readiness-list {
  display: grid;
  gap: 0.55rem;
}

.jobs-readiness-item {
  padding: 0.62rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 58%, white);
}

.jobs-readiness-item strong {
  display: block;
  color: var(--admin-text);
  font-size: 0.9rem;
}

.jobs-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.8rem;
}

.jobs-detail-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.45fr);
  gap: 0.85rem;
  padding: 0.9rem;
}

.jobs-detail-identity {
  min-width: 0;
}

.jobs-detail-identity h2 {
  margin: 0.45rem 0 0.75rem;
  color: var(--admin-text);
  font-size: 1.18rem;
  line-height: 1.25;
  text-wrap: balance;
}

.jobs-status,
.jobs-entry-type,
.jobs-detail-count {
  display: inline-flex;
  align-items: center;
  min-height: 1.6rem;
  padding: 0.18rem 0.5rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 60%, white);
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

.jobs-status.is-active {
  color: #14532d;
  border-color: #bbf7d0;
  background: #dcfce7;
}

.jobs-status.is-paused {
  color: #7c2d12;
  border-color: #fed7aa;
  background: #ffedd5;
}

.jobs-status.is-closed {
  color: #475569;
  border-color: #cbd5e1;
  background: #f1f5f9;
}

.jobs-detail-identity dl {
  display: grid;
  gap: 0.5rem;
  margin: 0;
}

.jobs-detail-identity dl div {
  display: grid;
  grid-template-columns: 7rem minmax(0, 1fr);
  gap: 0.75rem;
  padding: 0.48rem 0;
  border-bottom: 1px solid color-mix(in oklab, var(--admin-border) 72%, transparent);
}

.jobs-detail-identity dl div:last-child {
  border-bottom: 0;
}

.jobs-detail-identity dt {
  color: var(--admin-muted);
  font-size: 0.82rem;
  font-weight: 700;
}

.jobs-detail-identity dd {
  margin: 0;
  min-width: 0;
  color: var(--admin-text);
  overflow-wrap: anywhere;
}

.jobs-detail-kpis {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem;
}

.jobs-detail-kpis div {
  min-width: 0;
  padding: 0.68rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 56%, white);
}

.jobs-detail-kpis span,
.jobs-detail-kpis small {
  display: block;
  color: var(--admin-muted);
  font-size: 0.78rem;
  line-height: 1.35;
}

.jobs-detail-kpis strong {
  display: block;
  margin: 0.18rem 0;
  color: var(--admin-text);
  font-size: 1.05rem;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

.jobs-control-panel {
  display: grid;
  gap: 0.75rem;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.jobs-control-panel.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 28%, var(--admin-border));
}

.jobs-control-panel.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 34%, var(--admin-border));
  background: #fffbeb;
}

.jobs-control-panel.is-critical {
  border-color: color-mix(in oklab, var(--admin-danger) 30%, var(--admin-border));
  background: #fff7ed;
}

.jobs-control-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
}

.jobs-control-head h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1.05rem;
  line-height: 1.25;
}

.jobs-control-head p {
  margin: 0.2rem 0 0;
  max-width: 78ch;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.45;
}

.jobs-control-head > span {
  display: inline-flex;
  align-items: center;
  min-height: 1.8rem;
  padding: 0.15rem 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 64%, white);
  font-size: 0.8rem;
  font-weight: 700;
  white-space: nowrap;
}

.jobs-control-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.6rem;
}

.jobs-control-metrics > div {
  min-width: 0;
  padding: 0.66rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: var(--admin-surface);
}

.jobs-control-metrics span,
.jobs-control-metrics small {
  display: block;
  color: var(--admin-muted);
  font-size: 0.78rem;
  line-height: 1.35;
}

.jobs-control-metrics strong {
  display: block;
  margin: 0.18rem 0;
  color: var(--admin-text);
  font-size: 1.04rem;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

.jobs-detail-table-shell .admin-table {
  min-width: 58rem;
}

.jobs-detail-table-shell td strong,
.jobs-detail-table-shell td small {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.jobs-detail-table-shell td small {
  color: var(--admin-muted);
  font-size: 0.78rem;
}

.jobs-entry-description,
.jobs-entry-description-content,
.jobs-entry-description-content > strong,
.jobs-entry-description-content > small,
.jobs-entry-origin {
  min-width: 0;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.jobs-entry-description-content,
.jobs-entry-origin {
  display: grid;
  justify-items: start;
  gap: 0.15rem;
}

.jobs-detail-table-shell td.jobs-entry-description .jobs-entry-description-content > strong {
  display: block;
  width: 100%;
  max-width: 100%;
  white-space: normal !important;
  overflow: visible;
  overflow-wrap: anywhere !important;
  word-break: break-all;
}

.jobs-entry-form {
  display: grid;
  gap: 0.2rem;
}

.anagraph-form-sections {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
}

.anagraph-section,
.anagraph-quality-panel {
  min-width: 0;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.anagraph-section legend {
  float: none;
  width: auto;
  margin-bottom: 0.65rem;
  color: var(--admin-text);
  font-size: 0.98rem;
  font-weight: 700;
}

.anagraph-section .form-label {
  font-weight: 600;
}

.anagraph-quality-panel {
  position: sticky;
  top: 4.85rem;
  display: grid;
  gap: 0.7rem;
}

.anagraph-quality-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.65rem;
}

.anagraph-quality-head h2 {
  margin: 0;
  font-size: 1rem;
  line-height: 1.25;
}

.anagraph-quality-head span {
  flex: 0 0 auto;
  padding: 0.16rem 0.5rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 70%, white);
  font-size: 0.76rem;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
}

.anagraph-quality-head span.is-ready {
  color: #14532d;
  border-color: #86efac;
  background: #dcfce7;
}

.anagraph-quality-head span.is-warning {
  color: #7c2d12;
  border-color: #fdba74;
  background: #ffedd5;
}

.anagraph-quality-panel p,
.anagraph-quality-alert {
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
}

.anagraph-quality-list {
  display: grid;
  gap: 0.45rem;
  margin: 0;
}

.anagraph-quality-list div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.5rem;
  align-items: center;
  min-height: 2rem;
  padding: 0.35rem 0.45rem;
  border: 1px solid color-mix(in oklab, var(--admin-border) 72%, white);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 52%, white);
}

.anagraph-quality-list dt,
.anagraph-quality-list dd {
  min-width: 0;
  margin: 0;
}

.anagraph-quality-list dt {
  color: var(--admin-text);
  font-size: 0.84rem;
  font-weight: 650;
}

.anagraph-quality-list dd {
  color: var(--admin-muted);
  font-size: 0.82rem;
  text-align: right;
}

.anagraph-quality-list dd.is-ready {
  color: #14532d;
  font-weight: 700;
}

.anagraph-quality-alert {
  padding: 0.6rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 18%, var(--admin-border));
  border-radius: 0.5rem;
  background: var(--admin-primary-soft);
}

.anagraph-fiscal-lock {
  display: grid;
  gap: 0.2rem;
  margin-bottom: 0.85rem;
  padding: 0.7rem 0.8rem;
  border: 1px solid #fdba74;
  border-radius: 0.5rem;
  background: #ffedd5;
  color: #7c2d12;
}

.anagraph-fiscal-lock strong {
  color: #7c2d12;
  font-size: 0.9rem;
  line-height: 1.3;
}

.anagraph-fiscal-lock span,
.anagraph-fiscal-lock-help {
  color: #9a3412;
  font-size: 0.82rem;
  line-height: 1.4;
}

.anagraph-fiscal-lock-help {
  margin: 0.65rem 0 0;
}

.anagraph-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.anagraph-detail-page {
  display: grid;
  gap: 0.9rem;
}

.anagraph-detail-summary {
  margin-bottom: 0;
}

.anagraph-detail-operations {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.85rem;
  align-items: center;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.anagraph-detail-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.5rem;
}

.anagraph-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.9rem;
  align-items: start;
}

.anagraph-detail-panel {
  min-width: 0;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.anagraph-detail-panel h2 {
  margin: 0 0 0.7rem;
  font-size: 1rem;
  line-height: 1.25;
}

.anagraph-detail-list {
  display: grid;
  gap: 0.45rem;
  margin: 0;
}

.anagraph-detail-list div {
  display: grid;
  grid-template-columns: minmax(7.5rem, 0.34fr) minmax(0, 1fr);
  gap: 0.65rem;
  padding: 0.45rem 0;
  border-bottom: 1px solid color-mix(in oklab, var(--admin-border) 72%, white);
}

.anagraph-detail-list div:last-child {
  border-bottom: 0;
}

.anagraph-detail-list dt,
.anagraph-detail-list dd {
  min-width: 0;
  margin: 0;
}

.anagraph-detail-list dt {
  color: var(--admin-muted);
  font-size: 0.82rem;
  font-weight: 700;
}

.anagraph-detail-list dd {
  color: var(--admin-text);
  overflow-wrap: anywhere;
}

.anagraph-detail-note {
  margin: 0;
  color: var(--admin-muted);
  overflow-wrap: anywhere;
}

.anagraph-detail-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

.anagraph-detail-section-head h2 {
  margin-bottom: 0.2rem;
}

.anagraph-detail-section-head p {
  margin: 0;
  color: var(--admin-muted);
}

.anagraph-detail-empty {
  margin: 0;
}

.anagraph-detail-table-shell .admin-table {
  min-width: 0;
}

.customer-activity-panel {
  display: grid;
  gap: 0.8rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.customer-activity-head,
.customer-activity-item-head,
.customer-activity-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.65rem;
}

.customer-activity-head h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1.05rem;
  font-weight: 700;
}

.customer-activity-head p {
  max-width: 72ch;
  margin: 0.18rem 0 0;
  color: var(--admin-muted);
}

.customer-activity-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.customer-activity-status {
  display: inline-flex;
  align-items: center;
  min-height: 1.55rem;
  padding: 0.16rem 0.48rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 26%, var(--admin-border));
  border-radius: 999px;
  color: var(--admin-primary-dark);
  background: var(--admin-primary-soft);
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.1;
  white-space: nowrap;
}

.customer-activity-status.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 28%, var(--admin-border));
  color: var(--admin-success);
  background: color-mix(in oklab, var(--admin-success) 8%, white);
}

.customer-activity-status.is-warning,
.customer-activity-status.is-attention {
  border-color: color-mix(in oklab, var(--admin-warning) 34%, var(--admin-border));
  color: #7c2d12;
  background: #fffbeb;
}

.customer-activity-status.is-danger {
  border-color: color-mix(in oklab, var(--admin-danger) 30%, var(--admin-border));
  color: var(--admin-danger);
  background: color-mix(in oklab, var(--admin-danger) 7%, white);
}

.customer-activity-status.is-muted {
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 58%, white);
}

.customer-activity-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
  gap: 0.65rem;
  margin: 0;
}

.customer-activity-grid div {
  min-width: 0;
  padding: 0.7rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 54%, white);
}

.customer-activity-grid dt,
.customer-activity-grid small {
  display: block;
  color: var(--admin-muted);
  font-size: 0.8rem;
}

.customer-activity-grid dd {
  margin: 0.12rem 0;
  color: var(--admin-text);
  font-size: 1.32rem;
  font-weight: 750;
  line-height: 1.15;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

.customer-activity-timeline {
  display: grid;
  gap: 0.65rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.customer-activity-timeline li {
  display: grid;
  grid-template-columns: 0.8rem minmax(0, 1fr);
  gap: 0.65rem;
  min-width: 0;
}

.customer-activity-marker {
  width: 0.55rem;
  height: 0.55rem;
  margin-top: 0.8rem;
  border: 2px solid var(--admin-primary);
  border-radius: 999px;
  background: var(--admin-surface);
}

.customer-activity-item {
  display: grid;
  gap: 0.5rem;
  min-width: 0;
  padding: 0.7rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.55rem;
  background: color-mix(in oklab, var(--admin-bg) 38%, white);
}

.customer-activity-item-head span,
.customer-activity-meta span:not(.customer-activity-status) {
  color: var(--admin-muted);
  font-size: 0.8rem;
}

.customer-activity-item-head h3 {
  margin: 0.08rem 0 0;
  color: var(--admin-text);
  font-size: 0.98rem;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.customer-activity-item-head time {
  flex: 0 0 auto;
  color: var(--admin-muted);
  font-size: 0.82rem;
  font-weight: 650;
  white-space: nowrap;
}

.customer-activity-item p {
  margin: 0;
  color: var(--admin-muted);
  line-height: 1.4;
}

.customer-activity-meta {
  justify-content: flex-start;
}

.customer-visit-panel {
  display: grid;
  gap: 0.8rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.customer-visit-head,
.customer-visit-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.customer-visit-head h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1.05rem;
  font-weight: 700;
}

.customer-visit-head p {
  max-width: 72ch;
  margin: 0.18rem 0 0;
  color: var(--admin-muted);
}

.customer-visit-form {
  display: grid;
  gap: 0.75rem;
}

.customer-visit-form-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
  align-items: start;
}

.customer-visit-field {
  min-width: 0;
}

.customer-visit-field-wide {
  grid-column: span 2;
}

.customer-visit-field-notes {
  grid-column: span 4;
}

.customer-visit-field .form-label {
  color: var(--admin-text);
  font-size: 0.84rem;
  font-weight: 700;
}

.customer-visit-field .form-control,
.customer-visit-field .form-select {
  min-height: 2.55rem;
}

.customer-visit-field textarea.form-control {
  min-height: 5.25rem;
  resize: vertical;
}

.customer-visit-actions {
  align-items: center;
  color: var(--admin-muted);
  font-size: 0.86rem;
}

.customer-visit-queue {
  display: grid;
}

.customer-visit-queue-item {
  min-width: 0;
  padding: 0.8rem 0;
  border-top: 1px solid var(--admin-border);
}

.customer-visit-queue-item:last-child {
  padding-bottom: 0;
}

.customer-visit-queue-summary {
  display: grid;
  grid-template-columns: minmax(6.5rem, auto) minmax(0, 1fr);
  align-items: center;
  gap: 0.8rem;
}

.customer-visit-date {
  display: grid;
  justify-items: start;
  gap: 0.15rem;
  color: var(--admin-muted);
  font-size: 0.82rem;
  font-weight: 700;
}

.customer-visit-date time {
  color: var(--admin-text);
  font-size: 0.95rem;
}

.customer-visit-date.is-overdue,
.customer-visit-date.is-overdue time {
  color: var(--admin-danger);
}

.customer-visit-queue-summary h3 {
  margin: 0;
  color: var(--admin-text);
  font-size: 0.98rem;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.customer-visit-queue-summary p {
  margin: 0.18rem 0 0;
  color: var(--admin-muted);
  font-size: 0.84rem;
  overflow-wrap: anywhere;
}

.customer-visit-queue-empty {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35rem 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--admin-border);
}

.customer-visit-queue-empty strong {
  color: var(--admin-text);
}

.customer-visit-queue-empty span {
  color: var(--admin-muted);
}

.customer-visit-completion {
  margin: 0.6rem 0 0 clamp(0rem, 7vw, 7.3rem);
}

.customer-visit-cancellation {
  margin: 0.35rem 0 0 clamp(0rem, 7vw, 7.3rem);
}

.customer-visit-cancellation > summary {
  width: fit-content;
  min-height: 44px;
  padding: 0.65rem 0.8rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.35rem;
  color: var(--admin-danger);
  background: transparent;
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1.35;
  cursor: pointer;
}

.customer-visit-cancellation > summary:hover,
.customer-visit-cancellation > summary:focus-visible {
  background: color-mix(in oklab, var(--admin-danger) 8%, var(--admin-surface));
}

.customer-visit-cancellation > summary:focus-visible {
  outline: 2px solid var(--admin-focus);
  outline-offset: 2px;
}

.customer-visit-cancellation-form {
  display: grid;
  gap: 0.75rem;
  margin-top: 0.65rem;
  padding: 0.8rem;
  border: 1px solid color-mix(in oklab, var(--admin-danger) 30%, var(--admin-border));
  border-radius: 0.35rem;
  background: color-mix(in oklab, var(--admin-danger) 4%, var(--admin-surface));
}

.customer-visit-cancellation-form .form-text {
  display: block;
  margin-top: 0.35rem;
  color: var(--admin-muted);
}

.customer-visit-completion > summary {
  width: fit-content;
  min-height: 44px;
  padding: 0.65rem 0.8rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 55%, var(--admin-border));
  border-radius: 0.35rem;
  color: var(--admin-primary-dark);
  background: transparent;
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1.35;
  cursor: pointer;
}

.customer-visit-completion > summary:hover,
.customer-visit-completion > summary:focus-visible {
  background: var(--admin-primary-soft);
}

.customer-visit-completion > summary:focus-visible {
  outline: 2px solid var(--admin-focus);
  outline-offset: 2px;
}

.customer-visit-completion-form {
  display: grid;
  gap: 0.75rem;
  margin-top: 0.65rem;
  padding: 0.8rem;
  border-left: 3px solid color-mix(in oklab, var(--admin-primary) 60%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-bg) 64%, var(--admin-surface));
}

.customer-visit-completion-grid,
.customer-visit-follow-up {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.7rem;
}

.customer-visit-completion-notes {
  grid-column: span 2;
}

.customer-visit-follow-up {
  padding-top: 0.7rem;
  border-top: 1px solid var(--admin-border);
}

.customer-visit-follow-up-notes {
  grid-column: span 3;
}

.customer-visit-follow-up-toggle {
  min-height: 44px;
  margin: 0;
  padding: 0.65rem 0 0.55rem 1.75rem;
}

.customer-visit-completion-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  color: var(--admin-muted);
  font-size: 0.84rem;
}

@media (max-width: 767.98px) {
  .customer-visit-queue-summary {
    grid-template-columns: 1fr;
    gap: 0.35rem;
  }

  .customer-visit-completion {
    margin-left: 0;
  }

  .customer-visit-cancellation {
    margin-left: 0;
  }

  .customer-visit-completion-grid,
  .customer-visit-follow-up {
    grid-template-columns: 1fr;
  }

  .customer-visit-completion-notes,
  .customer-visit-follow-up-notes {
    grid-column: auto;
  }
}

@media (max-width: 575.98px) {
  .customer-visit-completion-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .customer-visit-completion-actions .btn {
    width: 100%;
  }
}

.supplier-risk-panel {
  display: grid;
  gap: 0.75rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.supplier-risk-head,
.supplier-risk-priority {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.supplier-risk-head h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1.05rem;
  font-weight: 700;
}

.supplier-risk-head p {
  max-width: 72ch;
  margin: 0.18rem 0 0;
  color: var(--admin-muted);
}

.supplier-risk-status,
.supplier-risk-badge {
  display: inline-flex;
  align-items: center;
  min-height: 1.55rem;
  padding: 0.16rem 0.48rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 26%, var(--admin-border));
  border-radius: 999px;
  color: var(--admin-primary-dark);
  background: var(--admin-primary-soft);
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.1;
  white-space: nowrap;
}

.supplier-risk-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
  gap: 0.65rem;
}

.supplier-risk-metric {
  min-width: 0;
  padding: 0.7rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 54%, white);
}

.supplier-risk-metric span,
.supplier-risk-metric small,
.supplier-risk-priority span,
.supplier-risk-priority small {
  display: block;
  color: var(--admin-muted);
  font-size: 0.8rem;
}

.supplier-risk-metric strong {
  display: block;
  margin: 0.12rem 0;
  color: var(--admin-text);
  font-size: 1.32rem;
  line-height: 1.15;
}

.supplier-risk-priority {
  padding-top: 0.65rem;
  border-top: 1px solid var(--admin-border);
}

.supplier-risk-priority strong {
  display: block;
  max-width: 72ch;
  color: var(--admin-text);
  overflow-wrap: anywhere;
}

.supplier-risk-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.supplier-risk-actions .btn {
  min-width: 0;
  white-space: normal;
}

.suppliers-table-shell {
  width: 100%;
  min-width: 0;
}

.suppliers-table {
  min-width: 0;
  table-layout: fixed;
}

.suppliers-table th,
.suppliers-table td {
  overflow-wrap: anywhere;
}

.suppliers-table th:first-child {
  width: 16%;
}

.suppliers-table th:nth-child(6) {
  width: 15%;
}

.suppliers-table th:last-child {
  width: 13%;
}

.suppliers-table .admin-actions .btn {
  width: 100%;
  min-width: 0;
}

@media (max-width: 575.98px) {
  .supplier-risk-actions {
    width: 100%;
  }

  .supplier-risk-actions .btn {
    width: 100%;
    justify-content: center;
  }

  .suppliers-table-shell {
    overflow-x: clip;
  }

  .suppliers-table {
    min-width: 0;
  }

  .suppliers-table thead {
    display: none;
  }

  .suppliers-table,
  .suppliers-table tbody,
  .suppliers-table tr,
  .suppliers-table td {
    display: block;
    width: 100%;
  }

  .suppliers-table tr {
    padding: 0.7rem;
    border-bottom: 1px solid var(--admin-border);
  }

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

  .suppliers-table td {
    display: grid;
    grid-template-columns: minmax(6.8rem, 0.42fr) minmax(0, 1fr);
    gap: 0.5rem;
    padding: 0.42rem 0;
    border: 0;
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  .suppliers-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 650;
  }

  .suppliers-table td[data-label="Azioni"] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
  }

  .suppliers-table td[data-label="Azioni"]::before {
    flex: 0 0 6.8rem;
    align-self: center;
  }
}

.customer-duplicate-panel,
.supplier-duplicate-panel {
  display: grid;
  gap: 0.75rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.customer-duplicate-head,
.supplier-duplicate-head,
.customer-duplicate-priority {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.customer-duplicate-head h2,
.supplier-duplicate-head h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1.05rem;
  font-weight: 700;
}

.customer-duplicate-head p,
.supplier-duplicate-head p {
  max-width: 72ch;
  margin: 0.18rem 0 0;
  color: var(--admin-muted);
}

.supplier-duplicate-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
  gap: 0.65rem;
  margin: 0;
}

.supplier-duplicate-metrics div {
  min-width: 0;
  padding: 0.65rem 0.7rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 54%, white);
}

.supplier-duplicate-metrics dt {
  color: var(--admin-muted);
  font-size: 0.8rem;
  font-weight: 500;
}

.supplier-duplicate-metrics dd {
  margin: 0.12rem 0 0;
  color: var(--admin-text);
  font-size: 1.25rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.supplier-duplicate-list {
  display: grid;
  gap: 0;
  border-top: 1px solid var(--admin-border);
}

.supplier-duplicate-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  min-width: 0;
  padding: 0.65rem 0;
  border-bottom: 1px solid var(--admin-border);
}

.supplier-duplicate-item:last-child {
  border-bottom: 0;
}

.supplier-duplicate-item > div {
  min-width: 0;
}

.supplier-duplicate-item strong,
.supplier-duplicate-item span {
  display: block;
  overflow-wrap: anywhere;
}

.supplier-duplicate-item span {
  margin-top: 0.12rem;
  color: var(--admin-muted);
  font-size: 0.8rem;
}

@media (max-width: 575.98px) {
  .supplier-duplicate-item {
    align-items: stretch;
    flex-direction: column;
  }

  .supplier-duplicate-item .btn {
    width: 100%;
  }
}

.customer-duplicate-status,
.customer-duplicate-badge {
  display: inline-flex;
  align-items: center;
  min-height: 1.55rem;
  padding: 0.16rem 0.48rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 26%, var(--admin-border));
  border-radius: 999px;
  color: var(--admin-primary-dark);
  background: var(--admin-primary-soft);
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.1;
  white-space: nowrap;
}

.customer-duplicate-status.is-ready,
.customer-duplicate-badge.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 28%, var(--admin-border));
  color: var(--admin-success);
  background: color-mix(in oklab, var(--admin-success) 8%, white);
}

.customer-duplicate-status.is-warning,
.customer-duplicate-badge.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 34%, var(--admin-border));
  color: #7c2d12;
  background: #fffbeb;
}

.customer-duplicate-status.is-danger {
  border-color: color-mix(in oklab, var(--admin-danger) 30%, var(--admin-border));
  color: var(--admin-danger);
  background: color-mix(in oklab, var(--admin-danger) 7%, white);
}

.customer-duplicate-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
  gap: 0.65rem;
  margin: 0;
}

.customer-duplicate-grid div {
  min-width: 0;
  padding: 0.7rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 54%, white);
}

.customer-duplicate-grid dt,
.customer-duplicate-grid small,
.customer-duplicate-priority span,
.customer-duplicate-priority small {
  display: block;
  color: var(--admin-muted);
  font-size: 0.8rem;
}

.customer-duplicate-grid dd {
  margin: 0.12rem 0;
  color: var(--admin-text);
  font-size: 1.32rem;
  font-weight: 750;
  line-height: 1.15;
  font-variant-numeric: tabular-nums;
}

.customer-duplicate-priority {
  padding-top: 0.65rem;
  border-top: 1px solid var(--admin-border);
}

.customer-duplicate-priority strong {
  display: block;
  max-width: 72ch;
  color: var(--admin-text);
  overflow-wrap: anywhere;
}

.customer-fuzzy-duplicates {
  display: grid;
  gap: 0.55rem;
  padding-top: 0.65rem;
  border-top: 1px solid var(--admin-border);
}

.customer-fuzzy-duplicates > div:first-child {
  display: grid;
  gap: 0.12rem;
}

.customer-fuzzy-duplicates h3,
.customer-fuzzy-duplicates strong {
  color: var(--admin-text);
  font-size: 0.92rem;
}

.customer-fuzzy-duplicates h3 {
  margin: 0;
  font-weight: 700;
  line-height: 1.25;
}

.customer-fuzzy-duplicates span,
.customer-fuzzy-duplicates small {
  color: var(--admin-muted);
  font-size: 0.8rem;
  line-height: 1.35;
}

.customer-fuzzy-duplicate-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
  gap: 0.45rem;
}

.customer-fuzzy-duplicate-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.18rem 0.55rem;
  min-width: 0;
  padding: 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.45rem;
  background: color-mix(in oklab, var(--admin-bg) 54%, white);
}

.customer-fuzzy-duplicate-item span {
  color: var(--admin-text);
  font-weight: 650;
  overflow-wrap: anywhere;
}

.customer-fuzzy-duplicate-item strong {
  justify-self: end;
  font-variant-numeric: tabular-nums;
}

.customer-fuzzy-duplicate-item small {
  grid-column: 1 / -1;
  overflow-wrap: anywhere;
}

.customer-fuzzy-duplicate-item .btn {
  justify-self: start;
}

.customer-compare-page {
  display: grid;
  gap: 1rem;
}

.customer-compare-hub,
.customer-compare-identities,
.customer-compare-table-panel,
.customer-merge-panel {
  min-width: 0;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.customer-compare-hub {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(18rem, 0.9fr);
  gap: 1rem;
  align-items: start;
}

.customer-compare-hub h2,
.customer-compare-identities h2 {
  margin: 0.25rem 0 0;
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.customer-compare-hub p,
.customer-compare-identities p {
  margin: 0.35rem 0 0;
  color: var(--admin-muted);
  font-size: 0.86rem;
  line-height: 1.4;
}

.customer-compare-status,
.customer-compare-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 1.45rem;
  padding: 0.18rem 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  font-size: 0.76rem;
  font-weight: 700;
  line-height: 1.2;
}

.customer-compare-status.is-ready,
.customer-compare-badge.is-ready {
  border-color: #86efac;
  color: #14532d;
  background: #dcfce7;
}

.customer-compare-status.is-warning,
.customer-compare-badge.is-warning {
  border-color: #fdba74;
  color: #7c2d12;
  background: #ffedd5;
}

.customer-compare-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem;
  margin: 0;
}

.customer-compare-metrics div,
.customer-compare-identities article {
  min-width: 0;
  padding: 0.65rem;
  border: 1px solid color-mix(in oklab, var(--admin-border) 76%, white);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 58%, white);
}

.customer-compare-metrics dt,
.customer-compare-metrics dd {
  margin: 0;
}

.customer-compare-metrics dt,
.customer-compare-identities article > span {
  color: var(--admin-muted);
  font-size: 0.76rem;
  font-weight: 700;
}

.customer-compare-metrics dd {
  margin-top: 0.2rem;
  color: var(--admin-text);
  font-size: 0.95rem;
  font-weight: 750;
  overflow-wrap: anywhere;
}

.customer-compare-identities {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.customer-compare-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 0.65rem;
}

.customer-merge-panel {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(20rem, 1.2fr);
  gap: 1rem;
  align-items: start;
}

.customer-merge-audit-page {
  gap: 1rem;
}

.customer-merge-audit-hub,
.customer-merge-audit-table-panel {
  min-width: 0;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.customer-merge-audit-hub {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(18rem, 0.9fr);
  gap: 1rem;
  align-items: start;
}

.customer-merge-audit-hub h2 {
  margin: 0.25rem 0 0;
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.25;
}

.customer-merge-audit-hub p {
  margin: 0.35rem 0 0;
  color: var(--admin-muted);
  font-size: 0.86rem;
  line-height: 1.4;
}

.customer-merge-audit-table td {
  vertical-align: top;
}

.customer-merge-audit-table td strong,
.customer-merge-audit-table td small,
.customer-merge-audit-table td span {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.customer-merge-audit-table td small {
  margin-top: 0.15rem;
  color: var(--admin-muted);
  font-size: 0.76rem;
  line-height: 1.3;
}

.customer-merge-copy h2 {
  margin: 0.25rem 0 0;
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.25;
}

.customer-merge-copy p {
  margin: 0.35rem 0 0;
  max-width: 62ch;
  color: var(--admin-muted);
  font-size: 0.86rem;
  line-height: 1.4;
}

.customer-merge-form {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
}

.customer-merge-form fieldset {
  display: grid;
  gap: 0.45rem;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.customer-merge-form legend,
.customer-merge-form label:not(.customer-merge-option, .customer-merge-confirm) {
  margin-bottom: 0.25rem;
  color: var(--admin-text);
  font-size: 0.82rem;
  font-weight: 700;
}

.customer-merge-option,
.customer-merge-confirm {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.55rem;
  align-items: start;
  min-width: 0;
  padding: 0.65rem;
  border: 1px solid color-mix(in oklab, var(--admin-border) 76%, white);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 58%, white);
}

.customer-merge-option input,
.customer-merge-confirm input {
  margin-top: 0.18rem;
}

.customer-merge-option strong,
.customer-merge-option small,
.customer-merge-confirm span {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.customer-merge-option strong {
  color: var(--admin-text);
  font-size: 0.9rem;
}

.customer-merge-option small,
.customer-merge-confirm span {
  color: var(--admin-muted);
  font-size: 0.82rem;
  line-height: 1.35;
}

.customer-compare-table td {
  vertical-align: top;
}

.customer-compare-table td strong,
.customer-compare-table td small {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.customer-compare-table td small {
  margin-top: 0.15rem;
  color: var(--admin-muted);
  font-size: 0.76rem;
}

.customer-compare-table tr.is-different td {
  background: color-mix(in oklab, #ffedd5 45%, white);
}

@media (max-width: 767.98px) {
  .customer-compare-hub,
  .customer-compare-identities,
  .customer-compare-metrics,
  .customer-merge-panel,
  .customer-merge-audit-hub {
    grid-template-columns: 1fr;
  }

  .customer-compare-table-panel .table-responsive {
    overflow: visible;
  }

  .customer-compare-table,
  .customer-compare-table tbody,
  .customer-compare-table tr,
  .customer-compare-table td {
    display: block;
    width: 100%;
  }

  .customer-compare-table {
    min-width: 0;
  }

  .customer-compare-table thead {
    display: none;
  }

  .customer-compare-table tr {
    margin-bottom: 0.65rem;
    border: 1px solid var(--admin-border);
    border-radius: 0.5rem;
    background: var(--admin-surface);
    overflow: hidden;
  }

  .customer-compare-table tr:last-child {
    margin-bottom: 0;
  }

  .customer-compare-table td {
    display: grid;
    grid-template-columns: minmax(5.5rem, 0.42fr) minmax(0, 1fr);
    gap: 0.45rem;
    padding: 0.55rem 0.65rem;
    border: 0;
    border-bottom: 1px solid color-mix(in oklab, var(--admin-border) 70%, white);
    overflow-wrap: anywhere;
  }

  .customer-compare-table td:last-child {
    border-bottom: 0;
  }

  .customer-compare-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.76rem;
    font-weight: 700;
  }

  .customer-merge-audit-table-panel .table-responsive {
    overflow: visible;
  }

  .customer-merge-audit-table,
  .customer-merge-audit-table tbody,
  .customer-merge-audit-table tr,
  .customer-merge-audit-table td {
    display: block;
    width: 100%;
  }

  .customer-merge-audit-table {
    min-width: 0;
  }

  .customer-merge-audit-table thead {
    display: none;
  }

  .customer-merge-audit-table tr {
    margin-bottom: 0.65rem;
    border: 1px solid var(--admin-border);
    border-radius: 0.5rem;
    background: var(--admin-surface);
    overflow: hidden;
  }

  .customer-merge-audit-table tr:last-child {
    margin-bottom: 0;
  }

  .customer-merge-audit-table td {
    display: grid;
    grid-template-columns: minmax(5.5rem, 0.42fr) minmax(0, 1fr);
    gap: 0.45rem;
    padding: 0.55rem 0.65rem;
    border: 0;
    border-bottom: 1px solid color-mix(in oklab, var(--admin-border) 70%, white);
    overflow-wrap: anywhere;
  }

  .customer-merge-audit-table td:last-child {
    border-bottom: 0;
  }

  .customer-merge-audit-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.76rem;
    font-weight: 700;
  }
}

.customer-duplicate-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.customer-duplicate-row-note {
  display: block;
  margin-top: 0.18rem;
  color: var(--admin-muted);
  font-size: 0.78rem;
  line-height: 1.25;
}

.customers-table-shell .admin-table {
  min-width: 0;
  table-layout: fixed;
}

.customers-table-shell .admin-table thead th {
  white-space: normal;
}

.customers-table-shell .admin-table th,
.customers-table-shell .admin-table td {
  overflow-wrap: anywhere;
}

.customers-table-shell .admin-table th:nth-child(1),
.customers-table-shell .admin-table td:nth-child(1) {
  width: 18%;
}

.customers-table-shell .admin-table th:nth-child(2),
.customers-table-shell .admin-table td:nth-child(2) {
  width: 9%;
}

.customers-table-shell .admin-table th:nth-child(3),
.customers-table-shell .admin-table td:nth-child(3) {
  width: 10%;
}

.customers-table-shell .admin-table th:nth-child(4),
.customers-table-shell .admin-table td:nth-child(4) {
  width: 7%;
}

.customers-table-shell .admin-table th:nth-child(5),
.customers-table-shell .admin-table td:nth-child(5) {
  width: 17%;
}

.customers-table-shell .admin-table th:nth-child(6),
.customers-table-shell .admin-table td:nth-child(6) {
  width: 18%;
}

.customers-table-shell .admin-table th:nth-child(7),
.customers-table-shell .admin-table td:nth-child(7) {
  width: 6%;
}

.customers-table-shell .admin-table th:nth-child(8),
.customers-table-shell .admin-table td:nth-child(8) {
  width: 15%;
}

.customers-table-shell .admin-table .admin-actions .btn {
  min-width: min(6.25rem, 100%);
}

.contacts-page {
  gap: 0.9rem;
}

.contacts-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr));
  gap: 0.75rem;
}

.contacts-summary-card {
  min-width: 0;
  padding: 0.8rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.contacts-summary-card span,
.contacts-summary-card small {
  display: block;
  color: var(--admin-muted);
  font-size: 0.82rem;
}

.contacts-summary-card strong {
  display: block;
  margin: 0.12rem 0;
  color: var(--admin-text);
  font-size: 1.5rem;
  line-height: 1.15;
}

.contacts-alert {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.75rem;
  align-items: center;
  padding: 0.7rem 0.8rem;
  border: 1px solid #fdba74;
  border-radius: var(--admin-radius);
  color: #7c2d12;
  background: #ffedd5;
}

.contacts-alert strong,
.contacts-alert span {
  min-width: 0;
}

.contacts-alert span {
  color: #7c2d12;
}

.contacts-cleanup-panel {
  display: grid;
  gap: 0.7rem;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.contacts-cleanup-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.65rem;
}

.contacts-cleanup-head h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1rem;
  font-weight: 720;
}

.contacts-cleanup-head p {
  max-width: 72ch;
  margin: 0.16rem 0 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.45;
}

.contacts-cleanup-head > span {
  display: inline-flex;
  align-items: center;
  min-height: 1.55rem;
  padding: 0.16rem 0.48rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: var(--admin-bg);
  font-size: 0.78rem;
  font-weight: 700;
}

.contacts-cleanup-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
  gap: 0.6rem;
}

.contacts-cleanup-card {
  display: flex;
  min-width: 0;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.65rem;
  padding: 0.68rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 54%, white);
}

.contacts-cleanup-card > div {
  min-width: 0;
}

.contacts-cleanup-card span,
.contacts-cleanup-card small {
  display: block;
  color: var(--admin-muted);
  font-size: 0.78rem;
  line-height: 1.35;
}

.contacts-cleanup-card strong {
  display: block;
  margin: 0.1rem 0;
  color: var(--admin-text);
  font-size: 1.25rem;
  font-weight: 760;
  line-height: 1.15;
  font-variant-numeric: tabular-nums;
}

.contacts-cleanup-card-ready {
  border-color: color-mix(in oklab, var(--admin-success) 25%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-success) 7%, white);
}

.contacts-cleanup-card-attention {
  border-color: color-mix(in oklab, var(--admin-primary) 24%, var(--admin-border));
  background: var(--admin-primary-soft);
}

.contacts-cleanup-card-warning {
  border-color: #fdba74;
  background: #fffbeb;
}

.contacts-cleanup-card-danger {
  border-color: color-mix(in oklab, var(--admin-danger) 28%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-danger) 6%, white);
}

.contacts-dedup-panel {
  display: grid;
  gap: 0.65rem;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.contacts-dedup-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.65rem;
}

.contacts-dedup-head h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1rem;
  font-weight: 700;
}

.contacts-dedup-head p {
  max-width: 72ch;
  margin: 0.16rem 0 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
}

.contacts-dedup-head > span,
.contacts-dedup-side > span {
  display: inline-flex;
  align-items: center;
  min-height: 1.5rem;
  padding: 0.14rem 0.46rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: var(--admin-bg);
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.1;
  white-space: nowrap;
}

.contacts-dedup-head > span {
  max-width: 100%;
  white-space: normal;
}

.contacts-dedup-empty {
  padding: 0.65rem 0.7rem;
  border: 1px dashed var(--admin-border);
  border-radius: 0.5rem;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 64%, white);
  font-size: 0.88rem;
}

.contacts-dedup-list {
  display: grid;
  gap: 0.5rem;
}

.contacts-dedup-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.7rem;
  padding: 0.65rem 0.7rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 56%, white);
}

.contacts-dedup-main {
  min-width: 0;
}

.contacts-dedup-main span,
.contacts-dedup-main small {
  display: block;
  color: var(--admin-muted);
  font-size: 0.8rem;
}

.contacts-dedup-main strong {
  display: block;
  color: var(--admin-text);
  overflow-wrap: anywhere;
}

.contacts-dedup-side {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.4rem;
}

.contacts-dedup-compare {
  grid-column: 1 / -1;
  min-width: 0;
  border-top: 1px solid color-mix(in oklab, var(--admin-border) 70%, transparent);
  padding-top: 0.55rem;
}

.contacts-dedup-compare summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  min-height: 2.35rem;
  padding: 0.35rem 0.5rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.45rem;
  color: var(--admin-text);
  background: var(--admin-surface);
  cursor: pointer;
  font-weight: 700;
}

.contacts-dedup-compare summary:focus-visible {
  outline: 3px solid color-mix(in oklab, var(--admin-primary) 30%, white);
  outline-offset: 2px;
}

.contacts-dedup-compare summary small {
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.contacts-dedup-compare-table {
  margin-top: 0.55rem;
  max-width: 100%;
  overflow-x: auto;
}

.contacts-dedup-compare-table table {
  min-width: 58rem;
}

.contacts-dedup-compare-table td,
.contacts-dedup-compare-table th {
  overflow-wrap: anywhere;
}

.contacts-dedup-compare-table td small,
.contacts-dedup-compare-table td span {
  display: block;
  min-width: 0;
}

.contacts-dedup-signal {
  display: inline-flex !important;
  width: fit-content;
  max-width: 100%;
  margin: 0 0.25rem 0.25rem 0;
  padding: 0.12rem 0.42rem;
  border: 1px solid color-mix(in oklab, var(--admin-warning) 32%, var(--admin-border));
  border-radius: 999px;
  color: #78350f;
  background: #fffbeb;
  font-size: 0.76rem;
  font-weight: 700;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.contacts-dedup-decision-form {
  grid-column: 1 / -1;
  display: grid;
  gap: 0.55rem;
  min-width: 0;
  padding-top: 0.55rem;
  border-top: 1px solid color-mix(in oklab, var(--admin-border) 70%, transparent);
}

.contacts-dedup-decision-copy {
  display: grid;
  gap: 0.1rem;
}

.contacts-dedup-decision-copy span {
  color: var(--admin-text);
  font-size: 0.86rem;
  font-weight: 750;
}

.contacts-dedup-decision-copy small {
  max-width: 72ch;
  color: var(--admin-muted);
  font-size: 0.8rem;
  line-height: 1.4;
}

.contacts-dedup-decision-controls {
  display: grid;
  grid-template-columns: minmax(11rem, 0.55fr) minmax(16rem, 1fr) auto;
  align-items: end;
  gap: 0.55rem;
  min-width: 0;
}

.contacts-dedup-decision-controls .form-label {
  margin-bottom: 0.22rem;
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.contacts-dedup-decision-controls textarea {
  min-height: 2.35rem;
  resize: vertical;
}

.contacts-dedup-decision-action {
  display: flex;
  align-items: flex-end;
}

.contacts-dedup-decision-action .btn {
  min-height: 2.35rem;
  white-space: nowrap;
}

.contacts-dedup-audit-panel {
  display: grid;
  gap: 0.65rem;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.contacts-dedup-audit-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.4rem;
  min-width: 0;
}

.contacts-dedup-audit-actions > span {
  display: inline-flex;
  align-items: center;
  min-height: 1.5rem;
  padding: 0.14rem 0.46rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: var(--admin-bg);
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.1;
}

.contacts-dedup-audit-filter {
  display: grid;
  grid-template-columns: minmax(12rem, 18rem) auto auto;
  align-items: end;
  justify-content: start;
  gap: 0.5rem;
  min-width: 0;
}

.contacts-dedup-audit-filter .form-label {
  margin-bottom: 0.22rem;
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.contacts-dedup-audit-filter .btn {
  min-height: 2.25rem;
  white-space: nowrap;
}

.contacts-dedup-audit-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem;
}

.contacts-dedup-audit-metrics > div {
  min-width: 0;
  padding: 0.55rem 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 58%, white);
}

.contacts-dedup-audit-metrics span {
  display: block;
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.contacts-dedup-audit-metrics strong {
  display: block;
  margin-top: 0.12rem;
  color: var(--admin-text);
  font-size: 1.05rem;
  overflow-wrap: anywhere;
}

.contacts-dedup-audit-table-shell {
  max-width: 100%;
  overflow-x: auto;
}

.contacts-dedup-audit-table {
  min-width: 58rem;
}

.contacts-dedup-audit-table td,
.contacts-dedup-audit-table th {
  overflow-wrap: anywhere;
}

.contacts-dedup-audit-table td small,
.contacts-dedup-audit-table td span {
  display: block;
  min-width: 0;
}

.contacts-dedup-audit-badge {
  display: inline-flex !important;
  width: fit-content;
  max-width: 100%;
  padding: 0.12rem 0.46rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 24%, var(--admin-border));
  border-radius: 999px;
  color: var(--admin-primary-dark);
  background: var(--admin-primary-soft);
  font-size: 0.76rem;
  font-weight: 750;
  line-height: 1.2;
}

.contacts-control-panel {
  display: grid;
  gap: 0.75rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.contacts-control-copy,
.contacts-control-priority {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.contacts-control-copy h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1.05rem;
  font-weight: 700;
}

.contacts-control-copy p {
  max-width: 72ch;
  margin: 0.18rem 0 0;
  color: var(--admin-muted);
}

.contacts-control-status,
.contacts-duplicate-badge {
  display: inline-flex;
  align-items: center;
  min-height: 1.55rem;
  padding: 0.16rem 0.48rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 26%, var(--admin-border));
  border-radius: 999px;
  color: var(--admin-primary-dark);
  background: var(--admin-primary-soft);
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.1;
}

.contacts-control-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
  gap: 0.65rem;
}

.contacts-control-metric {
  min-width: 0;
  padding: 0.7rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 54%, white);
}

.contacts-control-metric span,
.contacts-control-metric small,
.contacts-control-priority span,
.contacts-control-priority small {
  display: block;
  color: var(--admin-muted);
  font-size: 0.8rem;
}

.contacts-control-metric strong {
  display: block;
  margin: 0.12rem 0;
  color: var(--admin-text);
  font-size: 1.32rem;
  line-height: 1.15;
}

.contacts-control-priority {
  padding-top: 0.65rem;
  border-top: 1px solid var(--admin-border);
}

.contacts-control-priority strong {
  display: block;
  max-width: 72ch;
  color: var(--admin-text);
  overflow-wrap: anywhere;
}

.contacts-control-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.contacts-duplicate-badge {
  margin-left: 0.35rem;
  border-color: #fdba74;
  color: #7c2d12;
  background: #ffedd5;
}

.contacts-filter {
  padding: 0.85rem;
}

.contacts-table {
  min-width: 58rem;
}

.contacts-result-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  color: var(--admin-muted);
  background: var(--admin-surface);
  font-size: 0.88rem;
}

.contacts-result-strip div {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.contacts-table a {
  overflow-wrap: anywhere;
}

.contacts-table td {
  vertical-align: middle;
}

.f24-page {
  gap: 0.9rem;
}

.f24-filter {
  padding: 0.85rem;
}

.f24-alert {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.75rem;
  align-items: center;
  padding: 0.7rem 0.8rem;
  border: 1px solid #fdba74;
  border-radius: var(--admin-radius);
  color: #7c2d12;
  background: #ffedd5;
}

.f24-alert span {
  color: #7c2d12;
}

.f24-payment-control-panel {
  display: grid;
  gap: 0.8rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.f24-payment-control-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.9rem;
}

.f24-payment-control-head h2 {
  margin: 0.35rem 0 0.15rem;
  color: var(--admin-text);
  font-size: 1.05rem;
  font-weight: 750;
  text-wrap: balance;
}

.f24-payment-control-head p {
  max-width: 72ch;
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
  line-height: 1.45;
  text-wrap: pretty;
}

.f24-payment-control-status {
  display: inline-flex;
  align-items: center;
  min-height: 1.7rem;
  padding: 0.25rem 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 62%, white);
  font-size: 0.78rem;
  font-weight: 700;
}

.f24-payment-control-status.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 28%, var(--admin-border));
  color: var(--admin-success);
  background: color-mix(in oklab, var(--admin-success) 8%, white);
}

.f24-payment-control-status.is-attention {
  border-color: color-mix(in oklab, var(--admin-info) 30%, var(--admin-border));
  color: var(--admin-info);
  background: color-mix(in oklab, var(--admin-info) 8%, white);
}

.f24-payment-control-status.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 34%, var(--admin-border));
  color: #7c2d12;
  background: #fffbeb;
}

.f24-payment-control-status.is-danger {
  border-color: color-mix(in oklab, var(--admin-danger) 30%, var(--admin-border));
  color: var(--admin-danger);
  background: color-mix(in oklab, var(--admin-danger) 7%, white);
}

.f24-payment-control-actions {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.45rem;
}

.f24-payment-control-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.65rem;
  margin: 0;
}

.f24-payment-control-grid div {
  min-width: 0;
  padding: 0.75rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.55rem;
  background: color-mix(in oklab, var(--admin-bg) 48%, white);
}

.f24-payment-control-grid dt {
  margin-bottom: 0.25rem;
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.f24-payment-control-grid dd {
  margin: 0;
  color: var(--admin-text);
  font-size: 1.05rem;
  font-weight: 760;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

.f24-payment-control-grid small {
  display: block;
  margin-top: 0.25rem;
  color: var(--admin-muted);
  font-size: 0.78rem;
  line-height: 1.35;
}

.f24-payment-control-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.f24-payment-control-strip span {
  min-height: 1.75rem;
  padding: 0.25rem 0.5rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: var(--admin-bg);
  font-size: 0.8rem;
  font-weight: 650;
}

.f24-telematic-control-panel {
  display: grid;
  gap: 0.75rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.f24-telematic-control-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.6rem;
  margin: 0;
}

.f24-telematic-control-grid div {
  min-width: 0;
  padding: 0.68rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 48%, white);
}

.f24-telematic-control-grid dt {
  margin-bottom: 0.22rem;
  color: var(--admin-muted);
  font-size: 0.76rem;
  font-weight: 700;
}

.f24-telematic-control-grid dd {
  margin: 0;
  color: var(--admin-text);
  font-size: 1rem;
  font-weight: 740;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

.f24-telematic-control-grid small {
  display: block;
  margin-top: 0.22rem;
  color: var(--admin-muted);
  font-size: 0.76rem;
  line-height: 1.35;
}

.f24-telematic-control-wide {
  grid-column: span 4;
}

.f24-result-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  color: var(--admin-muted);
  background: var(--admin-surface);
  font-size: 0.88rem;
}

.f24-table {
  min-width: 56rem;
}

.f24-table td {
  vertical-align: middle;
}

.f24-form-page {
  gap: 0.9rem;
}

.f24-form {
  display: grid;
  gap: 0.9rem;
}

.f24-form-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(16rem, 21rem);
  gap: 0.9rem;
  align-items: start;
}

.f24-form-main {
  display: grid;
  gap: 0.9rem;
  min-width: 0;
}

.f24-form-section {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
  margin: 0;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.f24-form-section legend,
.f24-form-section h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.25;
}

.f24-form-section p {
  max-width: 74ch;
  margin: 0.2rem 0 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.5;
}

.f24-form-section-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.65rem;
}

.f24-form-table-shell .admin-table {
  min-width: 70rem;
}

.f24-form-table-shell td {
  vertical-align: middle;
}

.f24-readiness {
  position: sticky;
  top: 5rem;
  display: grid;
  gap: 0.75rem;
  min-width: 0;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.f24-readiness-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.f24-readiness-head h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.25;
}

.f24-readiness-head span {
  flex: 0 0 auto;
  padding: 0.18rem 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 70%, white);
  font-size: 0.76rem;
  font-weight: 700;
}

.f24-readiness p {
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.5;
}

.f24-readiness-list {
  display: grid;
  gap: 0.5rem;
}

.f24-readiness-item {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
  min-height: 44px;
  padding: 0.55rem 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 62%, white);
}

.f24-readiness-item strong {
  color: var(--admin-text);
  font-size: 0.9rem;
}

.f24-readiness-item span {
  color: var(--admin-muted);
  font-size: 0.82rem;
  line-height: 1.35;
}

.f24-readiness-note {
  padding: 0.65rem 0.7rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 22%, var(--admin-border));
  border-radius: 0.5rem;
  color: #1e3a8a;
  background: color-mix(in oklab, var(--admin-primary-soft) 64%, white);
  font-size: 0.84rem;
  line-height: 1.45;
}

.f24-form-actions {
  display: grid;
  gap: 0.5rem;
}

.f24-form-actions .btn {
  width: 100%;
}

.f24-detail-page {
  gap: 0.9rem;
}

.f24-detail-summary {
  margin-bottom: 0;
}

.f24-detail-operations {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.85rem;
  align-items: center;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.f24-detail-checks {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.45rem;
}

.f24-approval-workflow {
  display: grid;
  gap: 0.85rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.f24-approval-workflow .f24-detail-section-head {
  margin-bottom: 0;
}

.f24-approval-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-border);
  list-style: none;
}

.f24-approval-steps li {
  display: grid;
  min-width: 0;
  gap: 0.2rem;
  padding: 0.75rem;
  background: var(--admin-surface);
}

.f24-approval-steps li.is-current {
  background: color-mix(in oklab, var(--admin-primary) 8%, var(--admin-surface));
}

.f24-approval-steps li.is-complete strong {
  color: var(--admin-success);
}

.f24-approval-steps strong {
  color: var(--admin-text);
  font-size: 0.9rem;
}

.f24-approval-steps span {
  color: var(--admin-muted);
  font-size: 0.82rem;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.f24-approval-form,
.f24-approval-decision-form {
  display: grid;
  gap: 0.65rem;
}

.f24-approval-form {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
}

.f24-approval-form textarea,
.f24-approval-decision-form textarea {
  min-height: 5.25rem;
}

.f24-approval-form .btn,
.f24-approval-decision-form .btn {
  min-height: 44px;
}

.f24-approval-request,
.f24-approval-decision {
  min-width: 0;
  padding: 0.75rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: color-mix(in oklab, var(--admin-bg) 58%, white);
}

.f24-approval-request {
  display: grid;
  grid-template-columns: minmax(12rem, 0.35fr) minmax(0, 1fr);
  gap: 0.75rem;
}

.f24-approval-request > div,
.f24-approval-decision {
  display: grid;
  gap: 0.25rem;
}

.f24-approval-request span,
.f24-approval-decision span {
  color: var(--admin-muted);
  font-size: 0.85rem;
}

.f24-approval-request p,
.f24-approval-decision p {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
}

.f24-approval-decision.is-approved {
  background: color-mix(in oklab, var(--admin-success) 8%, var(--admin-surface));
}

.f24-approval-decision-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
}

.f24-approval-decision-form {
  min-width: 0;
  padding: 0.75rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
}

.f24-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.44fr);
  gap: 0.9rem;
  align-items: start;
}

.f24-detail-payment-panel {
  grid-column: 1 / -1;
}

.f24-payment-locked {
  align-self: stretch;
}

.f24-detail-panel {
  min-width: 0;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.f24-detail-panel h2 {
  margin: 0 0 0.7rem;
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.25;
}

.f24-detail-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

.f24-detail-section-head h2 {
  margin-bottom: 0.2rem;
}

.f24-detail-section-head p,
.f24-detail-note {
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.45;
}

.f24-detail-empty {
  margin: 0;
}

.f24-detail-table-shell .admin-table {
  min-width: 0;
}

.f24-detail-table-shell td {
  vertical-align: middle;
}

.f24-detail-form {
  display: grid;
  gap: 0.65rem;
}

.f24-evidence-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.34fr);
  gap: 0.85rem;
  align-items: start;
}

.f24-evidence-form {
  padding: 0.75rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: color-mix(in oklab, var(--admin-bg) 62%, white);
}

.f24-detail-link-form {
  display: grid;
  grid-template-columns: minmax(18rem, 1fr) minmax(9rem, 0.28fr) minmax(9rem, 0.28fr) auto;
  gap: 0.65rem;
  align-items: end;
}

.tax-deadlines-page {
  gap: 0.9rem;
}

.tax-deadlines-filter,
.tax-deadlines-template-panel {
  padding: 0.85rem;
}

.tax-deadlines-control-panel {
  display: grid;
  gap: 0.8rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.tax-deadlines-control-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.9rem;
}

.tax-deadlines-control-head h2 {
  margin: 0.35rem 0 0.15rem;
  color: var(--admin-text);
  font-size: 1.05rem;
  font-weight: 750;
  text-wrap: balance;
}

.tax-deadlines-control-head p {
  max-width: 72ch;
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
  line-height: 1.45;
  text-wrap: pretty;
}

.tax-deadlines-control-status {
  display: inline-flex;
  align-items: center;
  min-height: 1.7rem;
  padding: 0.25rem 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 62%, white);
  font-size: 0.78rem;
  font-weight: 700;
}

.tax-deadlines-control-status.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 28%, var(--admin-border));
  color: var(--admin-success);
  background: color-mix(in oklab, var(--admin-success) 8%, white);
}

.tax-deadlines-control-status.is-attention {
  border-color: color-mix(in oklab, var(--admin-primary) 30%, var(--admin-border));
  color: var(--admin-primary-dark);
  background: var(--admin-primary-soft);
}

.tax-deadlines-control-status.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 34%, var(--admin-border));
  color: #7c2d12;
  background: #fffbeb;
}

.tax-deadlines-control-status.is-danger {
  border-color: color-mix(in oklab, var(--admin-danger) 30%, var(--admin-border));
  color: var(--admin-danger);
  background: color-mix(in oklab, var(--admin-danger) 7%, white);
}

.tax-deadlines-control-actions {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.45rem;
}

.tax-deadlines-control-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.65rem;
  margin: 0;
}

.tax-deadlines-control-grid div {
  min-width: 0;
  padding: 0.75rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.55rem;
  background: color-mix(in oklab, var(--admin-bg) 48%, white);
}

.tax-deadlines-control-grid dt {
  margin-bottom: 0.25rem;
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.tax-deadlines-control-grid dd {
  margin: 0;
  color: var(--admin-text);
  font-size: 1.05rem;
  font-weight: 760;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

.tax-deadlines-control-grid small {
  display: block;
  margin-top: 0.25rem;
  color: var(--admin-muted);
  font-size: 0.78rem;
  line-height: 1.35;
}

.tax-deadlines-control-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.tax-deadlines-control-strip span {
  min-height: 1.75rem;
  padding: 0.25rem 0.5rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: var(--admin-bg);
  font-size: 0.8rem;
  font-weight: 650;
}

.tax-deadlines-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.8rem;
}

.tax-deadlines-panel-head div {
  display: grid;
  gap: 0.15rem;
}

.tax-deadlines-panel-head span {
  color: var(--admin-muted);
  font-size: 0.88rem;
}

.tax-deadlines-table {
  min-width: 62rem;
}

.tax-deadlines-table td {
  vertical-align: middle;
}

.tax-deadline-delete-page {
  gap: 0.9rem;
}

.tax-deadline-delete-panel {
  display: grid;
  gap: 0.85rem;
  padding: 0.95rem;
  border: 1px solid color-mix(in oklab, var(--admin-danger) 22%, var(--admin-border));
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.tax-deadline-delete-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.8rem;
}

.tax-deadline-delete-head h2 {
  margin: 0.35rem 0 0.15rem;
  color: var(--admin-text);
  font-size: 1.15rem;
  font-weight: 760;
  overflow-wrap: anywhere;
}

.tax-deadline-delete-head p {
  max-width: 72ch;
  margin: 0;
  color: var(--admin-muted);
  line-height: 1.45;
}

.tax-deadline-delete-head > strong {
  color: var(--admin-danger);
  font-size: 1.35rem;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.tax-deadline-delete-status {
  display: inline-flex;
  align-items: center;
  min-height: 1.7rem;
  padding: 0.22rem 0.55rem;
  border: 1px solid color-mix(in oklab, var(--admin-danger) 30%, var(--admin-border));
  border-radius: 999px;
  color: var(--admin-danger);
  background: color-mix(in oklab, var(--admin-danger) 7%, white);
  font-size: 0.78rem;
  font-weight: 700;
}

.tax-deadline-delete-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.65rem;
  margin: 0;
}

.tax-deadline-delete-grid div {
  min-width: 0;
  padding: 0.72rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.55rem;
  background: color-mix(in oklab, var(--admin-bg) 52%, white);
}

.tax-deadline-delete-grid dt {
  margin-bottom: 0.2rem;
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.tax-deadline-delete-grid dd {
  margin: 0;
  color: var(--admin-text);
  font-weight: 700;
  overflow-wrap: anywhere;
}

.tax-deadline-delete-impact,
.tax-deadline-delete-notes {
  display: grid;
  gap: 0.18rem;
  padding: 0.72rem;
  border: 1px solid #fdba74;
  border-radius: 0.55rem;
  color: #7c2d12;
  background: #fffbeb;
}

.tax-deadline-delete-impact span,
.tax-deadline-delete-notes p {
  margin: 0;
  color: #7c2d12;
}

.tax-deadline-delete-form {
  display: grid;
  gap: 0.75rem;
  padding-top: 0.2rem;
}

.tax-deadline-delete-check {
  display: flex;
  gap: 0.55rem;
  align-items: flex-start;
  margin: 0;
  color: var(--admin-text);
  font-weight: 650;
}

.tax-deadline-delete-check .form-check-input {
  flex: 0 0 auto;
  margin-top: 0.18rem;
}

.tax-deadline-delete-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.tax-template-delete-page {
  gap: 0.9rem;
}

.tax-template-delete-panel {
  display: grid;
  gap: 0.85rem;
  padding: 0.95rem;
  border: 1px solid color-mix(in oklab, var(--admin-danger) 22%, var(--admin-border));
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.tax-template-delete-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.8rem;
}

.tax-template-delete-head h2 {
  margin: 0.35rem 0 0.15rem;
  color: var(--admin-text);
  font-size: 1.15rem;
  font-weight: 760;
  overflow-wrap: anywhere;
}

.tax-template-delete-head p {
  max-width: 72ch;
  margin: 0;
  color: var(--admin-muted);
  line-height: 1.45;
}

.tax-template-delete-head > strong {
  color: var(--admin-danger);
  font-size: 1.12rem;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
  text-align: right;
}

.tax-template-delete-status {
  display: inline-flex;
  align-items: center;
  min-height: 1.7rem;
  padding: 0.22rem 0.55rem;
  border: 1px solid color-mix(in oklab, var(--admin-danger) 30%, var(--admin-border));
  border-radius: 999px;
  color: var(--admin-danger);
  background: color-mix(in oklab, var(--admin-danger) 7%, white);
  font-size: 0.78rem;
  font-weight: 700;
}

.tax-template-delete-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.65rem;
  margin: 0;
}

.tax-template-delete-grid div {
  min-width: 0;
  padding: 0.72rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.55rem;
  background: color-mix(in oklab, var(--admin-bg) 52%, white);
}

.tax-template-delete-grid dt {
  margin-bottom: 0.2rem;
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.tax-template-delete-grid dd {
  margin: 0;
  color: var(--admin-text);
  font-weight: 700;
  overflow-wrap: anywhere;
}

.tax-template-delete-impact,
.tax-template-delete-notes {
  display: grid;
  gap: 0.18rem;
  padding: 0.72rem;
  border: 1px solid #fdba74;
  border-radius: 0.55rem;
  color: #7c2d12;
  background: #fffbeb;
}

.tax-template-delete-impact span,
.tax-template-delete-notes p {
  margin: 0;
  color: #7c2d12;
}

.tax-template-delete-form {
  display: grid;
  gap: 0.75rem;
  padding-top: 0.2rem;
}

.tax-template-delete-check {
  display: flex;
  gap: 0.55rem;
  align-items: flex-start;
  margin: 0;
  color: var(--admin-text);
  font-weight: 650;
}

.tax-template-delete-check .form-check-input {
  flex: 0 0 auto;
  margin-top: 0.18rem;
}

.tax-template-delete-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.tax-deadline-form-page {
  gap: 0.9rem;
}

.tax-deadline-form {
  display: grid;
  gap: 0.85rem;
}

.tax-deadline-form-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(17rem, 0.34fr);
  gap: 0.9rem;
  align-items: start;
}

.tax-deadline-form-sections {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
}

.tax-deadline-form-section,
.tax-deadline-quality-panel {
  min-width: 0;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.tax-deadline-form-section legend {
  float: none;
  width: auto;
  margin-bottom: 0.65rem;
  color: var(--admin-text);
  font-size: 0.98rem;
  font-weight: 700;
}

.tax-deadline-form-section .form-label {
  font-weight: 600;
}

.tax-deadline-quality-panel {
  position: sticky;
  top: 4.85rem;
  display: grid;
  gap: 0.7rem;
}

.tax-deadline-quality-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.65rem;
}

.tax-deadline-quality-head h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.25;
}

.tax-deadline-quality-head span {
  flex: 0 0 auto;
  padding: 0.16rem 0.5rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 70%, white);
  font-size: 0.76rem;
  font-weight: 700;
  line-height: 1.2;
}

.tax-deadline-quality-panel p,
.tax-deadline-quality-note {
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.5;
}

.tax-deadline-quality-list {
  display: grid;
  gap: 0.45rem;
  margin: 0;
}

.tax-deadline-quality-list div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.5rem;
  align-items: center;
  min-height: 2rem;
  padding: 0.35rem 0.45rem;
  border: 1px solid color-mix(in oklab, var(--admin-border) 72%, white);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 52%, white);
}

.tax-deadline-quality-list dt,
.tax-deadline-quality-list dd {
  min-width: 0;
  margin: 0;
}

.tax-deadline-quality-list dt {
  color: var(--admin-text);
  font-size: 0.84rem;
  font-weight: 650;
}

.tax-deadline-quality-list dd {
  color: var(--admin-muted);
  font-size: 0.82rem;
  text-align: right;
  overflow-wrap: anywhere;
}

.tax-deadline-quality-note {
  padding: 0.6rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 18%, var(--admin-border));
  border-radius: 0.5rem;
  background: var(--admin-primary-soft);
}

.tax-deadline-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.tax-templates-page,
.tax-template-form-page {
  gap: 0.9rem;
}

.tax-templates-filter {
  padding: 0.85rem;
}

.tax-templates-table {
  min-width: 62rem;
}

.tax-templates-table td {
  vertical-align: middle;
}

.tax-template-form {
  display: grid;
  gap: 0.85rem;
}

.tax-template-form-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(17rem, 0.34fr);
  gap: 0.9rem;
  align-items: start;
}

.tax-template-form-sections {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
}

.tax-template-form-section,
.tax-template-quality-panel {
  min-width: 0;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.tax-template-form-section legend {
  float: none;
  width: auto;
  margin-bottom: 0.65rem;
  color: var(--admin-text);
  font-size: 0.98rem;
  font-weight: 700;
}

.tax-template-form-section .form-label {
  font-weight: 600;
}

.tax-template-quality-panel {
  position: sticky;
  top: 4.85rem;
  display: grid;
  gap: 0.7rem;
}

.tax-template-quality-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.65rem;
}

.tax-template-quality-head h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.25;
}

.tax-template-quality-head span {
  flex: 0 0 auto;
  padding: 0.16rem 0.5rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 70%, white);
  font-size: 0.76rem;
  font-weight: 700;
  line-height: 1.2;
}

.tax-template-quality-panel p,
.tax-template-quality-note {
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.5;
}

.tax-template-quality-list {
  display: grid;
  gap: 0.45rem;
  margin: 0;
}

.tax-template-quality-list div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.5rem;
  align-items: center;
  min-height: 2rem;
  padding: 0.35rem 0.45rem;
  border: 1px solid color-mix(in oklab, var(--admin-border) 72%, white);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 52%, white);
}

.tax-template-quality-list dt,
.tax-template-quality-list dd {
  min-width: 0;
  margin: 0;
}

.tax-template-quality-list dt {
  color: var(--admin-text);
  font-size: 0.84rem;
  font-weight: 650;
}

.tax-template-quality-list dd {
  color: var(--admin-muted);
  font-size: 0.82rem;
  text-align: right;
  overflow-wrap: anywhere;
}

.tax-template-quality-note {
  padding: 0.6rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 18%, var(--admin-border));
  border-radius: 0.5rem;
  background: var(--admin-primary-soft);
}

.tax-template-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.tax-templates-readiness {
  display: grid;
  gap: 0.7rem;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.tax-templates-readiness.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 28%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-success) 4%, var(--admin-surface));
}

.tax-templates-readiness.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 28%, var(--admin-border));
  background: #fffbeb;
}

.tax-templates-readiness.is-critical {
  border-color: color-mix(in oklab, var(--admin-danger) 28%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-danger) 4%, var(--admin-surface));
}

.tax-templates-readiness-head,
.tax-templates-readiness-footer,
.tax-templates-readiness-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  align-items: center;
  justify-content: space-between;
}

.tax-templates-readiness-head h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1rem;
  font-weight: 700;
}

.tax-templates-readiness-head p {
  max-width: 78ch;
  margin: 0.18rem 0 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.45;
}

.tax-templates-readiness-head > span,
.tax-templates-readiness-footer span {
  min-height: 1.75rem;
  display: inline-flex;
  align-items: center;
  padding: 0.16rem 0.5rem;
  border: 1px solid color-mix(in oklab, var(--admin-border) 70%, white);
  border-radius: 999px;
  color: var(--admin-text);
  background: color-mix(in oklab, var(--admin-surface) 70%, white);
  font-size: 0.78rem;
  font-weight: 700;
}

.tax-templates-readiness-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr));
  gap: 0.5rem;
}

.tax-templates-readiness-grid div {
  min-width: 0;
  padding: 0.55rem 0.65rem;
  border: 1px solid color-mix(in oklab, var(--admin-border) 78%, white);
  border-radius: 0.5rem;
  background: var(--admin-surface);
}

.tax-templates-readiness-grid span {
  display: block;
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.tax-templates-readiness-grid strong {
  display: block;
  margin-top: 0.15rem;
  color: var(--admin-text);
  font-size: 1.2rem;
  line-height: 1.1;
}

.items-page {
  gap: 0.9rem;
}

.items-filter {
  padding: 0.85rem;
}

.items-filter .admin-filter-grid {
  margin-right: 0;
  margin-left: 0;
}

.items-result-strip,
.customers-result-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  color: var(--admin-muted);
  background: var(--admin-surface);
  font-size: 0.88rem;
}

.customers-result-strip {
  margin-bottom: 0.75rem;
}

.items-table {
  min-width: 68rem;
}

.items-table td {
  vertical-align: middle;
}

.sales-orders-page {
  gap: 0.9rem;
}

.sales-orders-summary {
  align-items: stretch;
}

.admin-filter-strip {
  display: inline-flex;
  align-items: center;
  min-height: 1.9rem;
  width: fit-content;
  padding: 0.2rem 0.55rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 18%, var(--admin-border));
  border-radius: 999px;
  color: var(--admin-primary-dark);
  background: var(--admin-primary-soft);
  font-size: 0.82rem;
  font-weight: 650;
}

.sales-orders-priority-panel {
  display: grid;
  grid-template-columns: minmax(14rem, 0.32fr) minmax(0, 1fr);
  gap: 0.8rem;
  align-items: stretch;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.sales-orders-priority-panel h2 {
  color: var(--admin-text);
}

.sales-orders-priority-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.6rem;
}

.sales-orders-priority-item {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
  padding: 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.55rem;
  background: #f8fbff;
}

.sales-orders-priority-item strong {
  font-size: 1.2rem;
  line-height: 1.1;
}

.sales-orders-priority-item span {
  color: var(--admin-muted);
  font-size: 0.82rem;
  line-height: 1.25;
}

.sales-orders-priority-item.is-critical {
  border-color: #fecdd3;
  color: #9f1239;
  background: #fff1f2;
}

.sales-orders-priority-item.is-warning {
  border-color: #fed7aa;
  color: #9a3412;
  background: #fff7ed;
}

.sales-orders-priority-item.is-ok {
  border-color: #99f6e4;
  color: #115e59;
  background: #f0fdfa;
}

.sales-orders-priority-item.is-critical span,
.sales-orders-priority-item.is-warning span,
.sales-orders-priority-item.is-ok span {
  color: currentColor;
}

.sales-orders-sla-control {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, 1fr) minmax(16rem, 22rem);
  gap: 0.75rem;
  min-width: 0;
}

.sales-orders-sla-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem;
  min-width: 0;
}

.sales-orders-sla-card,
.sales-orders-next-action {
  min-width: 0;
  padding: 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.55rem;
  background: var(--admin-surface);
}

.sales-orders-sla-card {
  display: grid;
  gap: 0.2rem;
}

.sales-orders-sla-card span,
.sales-orders-next-action > span {
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.sales-orders-sla-card strong,
.sales-orders-next-action strong {
  display: block;
  color: var(--admin-text);
  font-size: 1.05rem;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

.sales-orders-sla-card small,
.sales-orders-next-action small {
  display: block;
  color: var(--admin-muted);
  font-size: 0.78rem;
  line-height: 1.35;
}

.sales-orders-sla-card.is-urgent {
  border-color: color-mix(in oklab, var(--admin-danger) 28%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-danger) 5%, var(--admin-surface));
}

.sales-orders-sla-card.is-medium {
  border-color: color-mix(in oklab, var(--admin-warning) 32%, var(--admin-border));
  background: #fffbeb;
}

.sales-orders-sla-card.is-low {
  border-color: color-mix(in oklab, var(--admin-primary) 16%, var(--admin-border));
}

.sales-orders-next-action {
  display: grid;
  gap: 0.45rem;
  align-content: start;
}

.sales-orders-next-action div {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.sales-orders-result-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  color: var(--admin-muted);
  background: var(--admin-surface);
  font-size: 0.88rem;
}

.sales-orders-result-strip strong {
  color: var(--admin-text);
}

.sales-orders-table {
  min-width: 72rem;
}

.sales-orders-table td {
  vertical-align: middle;
}

.sales-orders-priority-badge {
  display: inline-flex;
  align-items: center;
  min-height: 1.55rem;
  padding: 0.12rem 0.45rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-text);
  background: var(--admin-surface);
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.2;
}

.sales-orders-priority-badge.is-urgent {
  color: var(--admin-danger);
  border-color: color-mix(in oklab, var(--admin-danger) 32%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-danger) 6%, white);
}

.sales-orders-priority-badge.is-medium {
  color: #7c2d12;
  border-color: color-mix(in oklab, var(--admin-warning) 34%, var(--admin-border));
  background: #fffbeb;
}

.sales-orders-priority-badge.is-low {
  color: var(--admin-primary-dark);
  border-color: color-mix(in oklab, var(--admin-primary) 22%, var(--admin-border));
  background: var(--admin-primary-soft);
}

.sales-orders-priority-badge.is-done {
  color: var(--admin-success);
  border-color: color-mix(in oklab, var(--admin-success) 26%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-success) 7%, white);
}

.sales-orders-priority-note {
  display: block;
  margin-top: 0.18rem;
  color: var(--admin-muted);
  font-size: 0.76rem;
  line-height: 1.3;
}

.sales-orders-detail-page {
  gap: 0.9rem;
}

.sales-orders-detail-summary,
.sales-orders-fulfillment-summary {
  align-items: stretch;
}

.sales-orders-detail-meta-panel {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.sales-orders-detail-meta-panel h2,
.sales-orders-detail-section h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1rem;
  font-weight: 700;
}

.sales-orders-detail-meta-panel p,
.sales-orders-detail-section p {
  margin: 0.15rem 0 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
}

.sales-orders-detail-dl {
  display: grid;
  gap: 0.4rem;
  margin: 0.65rem 0 0;
}

.sales-orders-detail-dl div {
  display: grid;
  grid-template-columns: 8.5rem minmax(0, 1fr);
  gap: 0.65rem;
  align-items: start;
}

.sales-orders-detail-dl dt {
  color: var(--admin-muted);
  font-size: 0.82rem;
  font-weight: 650;
}

.sales-orders-detail-dl dd {
  min-width: 0;
  margin: 0;
  color: var(--admin-text);
  overflow-wrap: anywhere;
}

.sales-orders-detail-section {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.sales-orders-detail-section-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.65rem;
}

.sales-orders-detail-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  justify-content: flex-end;
}

.sales-orders-detail-table-shell .admin-table {
  min-width: 68rem;
}

.sales-order-form-page {
  gap: 0.9rem;
}

.sales-order-form {
  display: grid;
  gap: 0.9rem;
}

.sales-order-form-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(16rem, 21rem);
  gap: 0.9rem;
  align-items: start;
}

.sales-order-form-main {
  display: grid;
  gap: 0.9rem;
  min-width: 0;
}

.sales-order-form-section {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
  margin: 0;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.sales-order-form-section legend,
.sales-order-form-section h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.25;
}

.sales-order-form-section p {
  max-width: 74ch;
  margin: 0.2rem 0 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.5;
}

.sales-order-form-section-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.65rem;
}

.sales-order-form-table-shell .admin-table {
  min-width: 72rem;
}

.sales-order-form-table-shell td {
  vertical-align: middle;
}

.sales-order-readiness {
  position: sticky;
  top: 5rem;
  display: grid;
  gap: 0.75rem;
  min-width: 0;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.sales-order-readiness-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.sales-order-readiness-head h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.25;
}

.sales-order-readiness-head span {
  flex: 0 0 auto;
  padding: 0.18rem 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 70%, white);
  font-size: 0.76rem;
  font-weight: 700;
}

.sales-order-readiness p {
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.5;
}

.sales-order-readiness-list {
  display: grid;
  gap: 0.5rem;
}

.sales-order-readiness-item {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
  min-height: 44px;
  padding: 0.55rem 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 62%, white);
}

.sales-order-readiness-item strong {
  color: var(--admin-text);
  font-size: 0.9rem;
}

.sales-order-readiness-item span {
  color: var(--admin-muted);
  font-size: 0.82rem;
  line-height: 1.35;
}

.sales-order-readiness-note {
  padding: 0.65rem 0.7rem;
  border: 1px solid color-mix(in oklab, var(--admin-warning) 28%, var(--admin-border));
  border-radius: 0.5rem;
  color: #7c2d12;
  background: color-mix(in oklab, #fef3c7 58%, white);
  font-size: 0.84rem;
  line-height: 1.45;
}

.sales-order-form-actions {
  display: grid;
  gap: 0.5rem;
}

.sales-order-form-actions .btn {
  width: 100%;
}

.offers-page {
  gap: 0.9rem;
}

.offers-summary {
  align-items: stretch;
}

.offers-filter {
  padding: 0.85rem;
}

.offers-priority-panel {
  display: grid;
  grid-template-columns: minmax(14rem, 0.32fr) minmax(0, 1fr);
  gap: 0.8rem;
  align-items: stretch;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.offers-priority-panel h2 {
  color: var(--admin-text);
}

.offers-priority-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.6rem;
}

.offers-priority-item {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
  padding: 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.55rem;
  background: #f8fbff;
}

.offers-priority-item strong {
  font-size: 1.2rem;
  line-height: 1.1;
}

.offers-priority-item span {
  color: currentColor;
  font-size: 0.82rem;
  line-height: 1.25;
}

.offers-priority-item.is-warning {
  border-color: #fed7aa;
  color: #9a3412;
  background: #fff7ed;
}

.offers-priority-item.is-info {
  border-color: #bfdbfe;
  color: #1e40af;
  background: #eff6ff;
}

.offers-priority-item.is-success,
.offers-priority-item.is-ok {
  border-color: #99f6e4;
  color: #115e59;
  background: #f0fdfa;
}

.offers-result-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  color: var(--admin-muted);
  background: var(--admin-surface);
  font-size: 0.88rem;
}

.offers-result-strip div {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.offers-result-strip strong {
  color: var(--admin-text);
}

.offers-table {
  min-width: 70rem;
}

.offers-table td {
  vertical-align: middle;
}

.offers-detail-page {
  gap: 0.9rem;
}

.offers-detail-summary {
  align-items: stretch;
}

.offers-detail-meta-panel {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.offers-detail-meta-panel h2,
.offers-detail-section h2,
.offers-detail-action-panel h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1rem;
  font-weight: 700;
}

.offers-detail-meta-panel p,
.offers-detail-section p,
.offers-detail-action-panel p {
  margin: 0.15rem 0 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
}

.offers-detail-dl {
  display: grid;
  gap: 0.4rem;
  margin: 0.65rem 0 0;
}

.offers-detail-dl div {
  display: grid;
  grid-template-columns: 8.5rem minmax(0, 1fr);
  gap: 0.65rem;
  align-items: start;
}

.offers-detail-dl dt {
  color: var(--admin-muted);
  font-size: 0.82rem;
  font-weight: 650;
}

.offers-detail-dl dd {
  min-width: 0;
  margin: 0;
  color: var(--admin-text);
  overflow-wrap: anywhere;
}

.offers-detail-section,
.offers-detail-action-panel {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.offers-detail-section-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.65rem;
}

.offers-detail-table-shell .admin-table {
  min-width: 68rem;
}

.offers-detail-readiness-panel {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
  box-shadow: var(--admin-shadow);
}

.offers-detail-readiness-next {
  display: grid;
  gap: 0.12rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 22%, var(--admin-border));
  border-radius: 0.55rem;
  background: var(--admin-primary-soft);
}

.offers-detail-readiness-next span {
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.offers-detail-readiness-next strong {
  color: var(--admin-primary-dark);
  font-size: 0.92rem;
  line-height: 1.35;
}

.offers-detail-readiness-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
  gap: 0.6rem;
}

.offers-detail-readiness-item {
  display: grid;
  align-content: start;
  gap: 0.35rem;
  min-width: 0;
  min-height: 7.75rem;
  padding: 0.68rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.55rem;
  color: var(--admin-text);
  background: color-mix(in oklab, var(--admin-bg) 50%, white);
  text-decoration: none;
}

.offers-detail-readiness-item:hover,
.offers-detail-readiness-item:focus {
  border-color: color-mix(in oklab, var(--admin-primary) 34%, var(--admin-border));
  color: var(--admin-primary-dark);
  background: var(--admin-primary-soft);
  text-decoration: none;
}

.offers-detail-readiness-item.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 20%, var(--admin-border));
}

.offers-detail-readiness-item.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 28%, var(--admin-border));
  background: color-mix(in oklab, #fef3c7 34%, white);
}

.offers-detail-readiness-item .badge {
  width: fit-content;
}

.offers-detail-readiness-item strong {
  color: inherit;
  font-size: 0.92rem;
  line-height: 1.25;
}

.offers-detail-readiness-item small {
  color: var(--admin-muted);
  font-size: 0.8rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.offers-detail-revision-guide {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.55rem;
  align-items: baseline;
  padding: 0.6rem 0.7rem;
  border: 1px solid color-mix(in oklab, var(--admin-warning) 24%, var(--admin-border));
  border-radius: 0.5rem;
  background: color-mix(in oklab, #fef3c7 28%, white);
}

.offers-detail-revision-guide strong {
  color: var(--admin-text);
}

.offers-detail-revision-guide span {
  min-width: 0;
  color: var(--admin-muted);
  font-size: 0.86rem;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.offer-revision-register .is-current-row {
  background: color-mix(in oklab, var(--admin-primary-soft) 64%, white);
}

.offer-revision-register td[data-label="Motivazione"] {
  max-width: 34rem;
  overflow-wrap: anywhere;
}

.offer-revision-form {
  display: grid;
  grid-template-columns: minmax(10rem, 0.75fr) minmax(10rem, 0.75fr) minmax(18rem, 2fr) auto;
  gap: 0.75rem;
  align-items: end;
  min-width: 0;
}

.offer-revision-form > * {
  min-width: 0;
}

.offer-revision-reason input {
  min-height: 44px;
}

.offer-revision-submit .btn {
  min-height: 44px;
  white-space: nowrap;
}

.offer-form-page {
  gap: 0.9rem;
}

.offer-form {
  display: grid;
  gap: 0.9rem;
}

.offer-form-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(16rem, 21rem);
  gap: 0.9rem;
  align-items: start;
}

.offer-form-main {
  display: grid;
  gap: 0.9rem;
  min-width: 0;
}

.offer-form-section {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
  margin: 0;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.offer-form-section legend,
.offer-form-section h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.25;
}

.offer-form-section p {
  max-width: 74ch;
  margin: 0.2rem 0 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.5;
}

.offer-form-section-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.65rem;
}

.offer-form-table-shell .admin-table {
  min-width: 72rem;
}

.offer-form-table-shell td {
  vertical-align: middle;
}

.offer-readiness {
  position: sticky;
  top: 5rem;
  display: grid;
  gap: 0.75rem;
  min-width: 0;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.offer-readiness-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.offer-readiness-head h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.25;
}

.offer-readiness-head span {
  flex: 0 0 auto;
  padding: 0.18rem 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 70%, white);
  font-size: 0.76rem;
  font-weight: 700;
}

.offer-readiness p {
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.5;
}

.offer-readiness-list {
  display: grid;
  gap: 0.5rem;
}

.offer-readiness-item {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
  min-height: 44px;
  padding: 0.55rem 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 62%, white);
}

.offer-readiness-item strong {
  color: var(--admin-text);
  font-size: 0.9rem;
}

.offer-readiness-item span {
  color: var(--admin-muted);
  font-size: 0.82rem;
  line-height: 1.35;
}

.offer-readiness-note {
  padding: 0.65rem 0.7rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 22%, var(--admin-border));
  border-radius: 0.5rem;
  color: #1e3a8a;
  background: color-mix(in oklab, var(--admin-primary-soft) 64%, white);
  font-size: 0.84rem;
  line-height: 1.45;
}

.offer-form-actions {
  display: grid;
  gap: 0.5rem;
}

.offer-form-actions .btn {
  width: 100%;
}

.proforma-form-page {
  gap: 0.9rem;
}

.proforma-form {
  display: grid;
  gap: 0.9rem;
}

.proforma-form-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(16rem, 21rem);
  gap: 0.9rem;
  align-items: start;
}

.proforma-form-main {
  display: grid;
  gap: 0.9rem;
  min-width: 0;
}

.proforma-form-section {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
  margin: 0;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.proforma-form-section legend,
.proforma-form-section h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.25;
}

.proforma-form-section p {
  max-width: 74ch;
  margin: 0.2rem 0 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.5;
}

.proforma-form-section-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.65rem;
}

.proforma-form-table-shell .admin-table {
  min-width: 72rem;
}

.proforma-form-table-shell td {
  vertical-align: middle;
}

.proforma-readiness {
  position: sticky;
  top: 5rem;
  display: grid;
  gap: 0.75rem;
  min-width: 0;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.proforma-readiness-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.proforma-readiness-head h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.25;
}

.proforma-readiness-head span {
  flex: 0 0 auto;
  padding: 0.18rem 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 70%, white);
  font-size: 0.76rem;
  font-weight: 700;
}

.proforma-readiness p {
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.5;
}

.proforma-readiness-list {
  display: grid;
  gap: 0.5rem;
}

.proforma-readiness-item {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
  min-height: 44px;
  padding: 0.55rem 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 62%, white);
}

.proforma-readiness-item strong {
  color: var(--admin-text);
  font-size: 0.9rem;
}

.proforma-readiness-item span {
  color: var(--admin-muted);
  font-size: 0.82rem;
  line-height: 1.35;
}

.proforma-readiness-note {
  padding: 0.65rem 0.7rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 22%, var(--admin-border));
  border-radius: 0.5rem;
  color: #1e3a8a;
  background: color-mix(in oklab, var(--admin-primary-soft) 64%, white);
  font-size: 0.84rem;
  line-height: 1.45;
}

.proforma-form-actions {
  display: grid;
  gap: 0.5rem;
}

.proforma-form-actions .btn {
  width: 100%;
}

.ddt-form-page {
  gap: 0.9rem;
}

.ddt-form {
  display: grid;
  gap: 0.9rem;
}

.ddt-form-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(16rem, 21rem);
  gap: 0.9rem;
  align-items: start;
}

.ddt-form-main {
  display: grid;
  gap: 0.9rem;
  min-width: 0;
}

.ddt-form-section {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
  margin: 0;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.ddt-form-section legend,
.ddt-form-section h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.25;
}

.ddt-form-section p {
  max-width: 74ch;
  margin: 0.2rem 0 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.5;
}

.ddt-form-section-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.65rem;
}

.ddt-form-table-shell .admin-table {
  min-width: 68rem;
}

.ddt-form-table-shell td {
  vertical-align: middle;
}

.ddt-readiness {
  position: sticky;
  top: 5rem;
  display: grid;
  gap: 0.75rem;
  min-width: 0;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.ddt-readiness-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.ddt-readiness-head h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.25;
}

.ddt-readiness-head span {
  flex: 0 0 auto;
  padding: 0.18rem 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 70%, white);
  font-size: 0.76rem;
  font-weight: 700;
}

.ddt-readiness p {
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.5;
}

.ddt-readiness-list {
  display: grid;
  gap: 0.5rem;
}

.ddt-readiness-item {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
  min-height: 44px;
  padding: 0.55rem 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 62%, white);
}

.ddt-readiness-item strong {
  color: var(--admin-text);
  font-size: 0.9rem;
}

.ddt-readiness-item span {
  color: var(--admin-muted);
  font-size: 0.82rem;
  line-height: 1.35;
}

.ddt-readiness-note {
  padding: 0.65rem 0.7rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 22%, var(--admin-border));
  border-radius: 0.5rem;
  color: #1e3a8a;
  background: color-mix(in oklab, var(--admin-primary-soft) 64%, white);
  font-size: 0.84rem;
  line-height: 1.45;
}

.ddt-form-actions {
  display: grid;
  gap: 0.5rem;
}

.ddt-form-actions .btn {
  width: 100%;
}

.invoice-form-page,
.purchase-invoice-form-page {
  gap: 0.9rem;
}

.invoice-form,
.purchase-invoice-form {
  display: grid;
  gap: 0.9rem;
}

.invoice-form-layout,
.purchase-invoice-form-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(16rem, 21rem);
  gap: 0.9rem;
  align-items: start;
}

.invoice-form-main,
.purchase-invoice-form-main {
  display: grid;
  gap: 0.9rem;
  min-width: 0;
}

.invoice-form-section,
.purchase-invoice-form-section {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
  margin: 0;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.invoice-form-section legend,
.invoice-form-section h2,
.purchase-invoice-form-section legend,
.purchase-invoice-form-section h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.25;
}

.invoice-form-section p,
.purchase-invoice-form-section p {
  max-width: 74ch;
  margin: 0.2rem 0 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.5;
}

.invoice-form-section-head,
.purchase-invoice-form-section-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.65rem;
}

.invoice-form-table-shell .admin-table,
.purchase-invoice-form-table-shell .admin-table {
  min-width: 72rem;
}

.invoice-form-table-shell td,
.purchase-invoice-form-table-shell td {
  vertical-align: middle;
}

.invoice-readiness,
.purchase-invoice-readiness {
  position: sticky;
  top: 5rem;
  display: grid;
  gap: 0.75rem;
  min-width: 0;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.invoice-readiness-head,
.purchase-invoice-readiness-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.invoice-readiness-head h2,
.purchase-invoice-readiness-head h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.25;
}

.invoice-readiness-head span,
.purchase-invoice-readiness-head span {
  flex: 0 0 auto;
  padding: 0.18rem 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 70%, white);
  font-size: 0.76rem;
  font-weight: 700;
}

.invoice-readiness p,
.purchase-invoice-readiness p {
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.5;
}

.invoice-readiness-list,
.purchase-invoice-readiness-list {
  display: grid;
  gap: 0.5rem;
}

.invoice-readiness-item,
.purchase-invoice-readiness-item {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
  min-height: 44px;
  padding: 0.55rem 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 62%, white);
}

.invoice-readiness-item strong,
.purchase-invoice-readiness-item strong {
  color: var(--admin-text);
  font-size: 0.9rem;
}

.invoice-readiness-item span,
.purchase-invoice-readiness-item span {
  color: var(--admin-muted);
  font-size: 0.82rem;
  line-height: 1.35;
}

.invoice-readiness-note,
.purchase-invoice-readiness-note {
  padding: 0.65rem 0.7rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 22%, var(--admin-border));
  border-radius: 0.5rem;
  color: #1e3a8a;
  background: color-mix(in oklab, var(--admin-primary-soft) 64%, white);
  font-size: 0.84rem;
  line-height: 1.45;
}

.invoice-form-actions,
.purchase-invoice-form-actions {
  display: grid;
  gap: 0.5rem;
}

.invoice-form-actions .btn,
.purchase-invoice-form-actions .btn {
  width: 100%;
}

.proforma-page {
  gap: 0.9rem;
}

.proforma-summary {
  align-items: stretch;
}

.proforma-filter {
  padding: 0.85rem;
}

.proforma-priority-panel {
  display: grid;
  grid-template-columns: minmax(14rem, 0.32fr) minmax(0, 1fr);
  gap: 0.8rem;
  align-items: stretch;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.proforma-priority-panel h2 {
  color: var(--admin-text);
}

.proforma-priority-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.6rem;
}

.proforma-priority-item {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
  padding: 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.55rem;
  background: #f8fbff;
}

.proforma-priority-item strong {
  font-size: 1.2rem;
  line-height: 1.1;
}

.proforma-priority-item span {
  color: currentColor;
  font-size: 0.82rem;
  line-height: 1.25;
}

.proforma-priority-item.is-warning {
  border-color: #fed7aa;
  color: #9a3412;
  background: #fff7ed;
}

.proforma-priority-item.is-info {
  border-color: #bfdbfe;
  color: #1e40af;
  background: #eff6ff;
}

.proforma-priority-item.is-success,
.proforma-priority-item.is-ok {
  border-color: #99f6e4;
  color: #115e59;
  background: #f0fdfa;
}

.proforma-result-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  color: var(--admin-muted);
  background: var(--admin-surface);
  font-size: 0.88rem;
}

.proforma-result-strip div {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.proforma-result-strip strong {
  color: var(--admin-text);
}

.proforma-table {
  min-width: 70rem;
}

.proforma-table td {
  vertical-align: middle;
}

.proforma-detail-page {
  gap: 0.9rem;
}

.proforma-detail-summary {
  align-items: stretch;
}

.proforma-detail-meta-panel {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.proforma-detail-control-panel {
  display: grid;
  gap: 0.8rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.proforma-detail-control-panel.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 28%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-success) 5%, var(--admin-surface));
}

.proforma-detail-control-panel.is-warning,
.proforma-detail-control-panel.is-info {
  border-color: color-mix(in oklab, var(--admin-warning) 28%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-warning) 5%, var(--admin-surface));
}

.proforma-detail-control-panel.is-danger {
  border-color: color-mix(in oklab, var(--admin-danger) 28%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-danger) 4%, var(--admin-surface));
}

.proforma-detail-control-main {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.proforma-detail-control-main h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1rem;
  font-weight: 700;
}

.proforma-detail-control-main p {
  max-width: 72ch;
  margin: 0.18rem 0 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
}

.proforma-detail-control-main .badge {
  flex: 0 0 auto;
  color: var(--admin-text);
  border: 1px solid var(--admin-border);
  background: var(--admin-surface);
  white-space: normal;
  text-align: left;
}

.proforma-detail-control-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.55rem;
}

.proforma-detail-control-grid div {
  min-width: 0;
  padding: 0.65rem;
  border: 1px solid color-mix(in oklab, var(--admin-border) 76%, transparent);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-surface) 84%, white);
}

.proforma-detail-control-grid span {
  display: block;
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.proforma-detail-control-grid strong {
  display: block;
  margin-top: 0.2rem;
  color: var(--admin-text);
  font-size: 0.9rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.proforma-detail-control-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.proforma-fiscal-readiness {
  display: grid;
  gap: 0.75rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.proforma-fiscal-readiness.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 30%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-success) 5%, var(--admin-surface));
}

.proforma-fiscal-readiness.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 30%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-warning) 5%, var(--admin-surface));
}

.proforma-fiscal-readiness.is-danger {
  border-color: color-mix(in oklab, var(--admin-danger) 30%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-danger) 4%, var(--admin-surface));
}

.proforma-fiscal-readiness-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.proforma-fiscal-readiness-head h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1rem;
  font-weight: 700;
}

.proforma-fiscal-readiness-head p {
  max-width: 72ch;
  margin: 0.18rem 0 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
}

.proforma-fiscal-score {
  flex: 0 0 auto;
  min-width: 10rem;
  padding: 0.55rem 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: var(--admin-surface);
  text-align: right;
}

.proforma-fiscal-score strong,
.proforma-fiscal-score span {
  display: block;
}

.proforma-fiscal-score strong {
  color: var(--admin-text);
  font-size: 1.15rem;
  line-height: 1;
}

.proforma-fiscal-score span {
  margin-top: 0.18rem;
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.proforma-fiscal-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.55rem;
}

.proforma-fiscal-grid div {
  min-width: 0;
  padding: 0.65rem;
  border: 1px solid color-mix(in oklab, var(--admin-border) 76%, transparent);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-surface) 84%, white);
}

.proforma-fiscal-grid span,
.proforma-fiscal-grid strong {
  display: block;
}

.proforma-fiscal-grid span {
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.proforma-fiscal-grid strong {
  margin-top: 0.2rem;
  color: var(--admin-text);
  font-size: 0.9rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.proforma-fiscal-checklist {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
  gap: 0.5rem;
}

.proforma-fiscal-check {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: 0.5rem;
  align-items: start;
  min-width: 0;
  padding: 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: var(--admin-surface);
}

.proforma-fiscal-check > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.65rem;
  min-height: 1.65rem;
  border-radius: 999px;
  color: var(--admin-muted);
  border: 1px solid var(--admin-border);
  font-size: 0.72rem;
  font-weight: 800;
}

.proforma-fiscal-check.is-ready > span {
  color: #065f46;
  border-color: #99f6e4;
  background: #ccfbf1;
}

.proforma-fiscal-check.is-missing > span {
  color: #92400e;
  border-color: #fed7aa;
  background: #ffedd5;
}

.proforma-fiscal-check strong,
.proforma-fiscal-check small {
  display: block;
}

.proforma-fiscal-check strong {
  color: var(--admin-text);
  font-size: 0.88rem;
  line-height: 1.25;
}

.proforma-fiscal-check small {
  margin-top: 0.12rem;
  color: var(--admin-muted);
  font-size: 0.78rem;
  line-height: 1.3;
}

.proforma-detail-meta-panel h2,
.proforma-detail-section h2,
.proforma-detail-action-panel h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1rem;
  font-weight: 700;
}

.proforma-detail-meta-panel p,
.proforma-detail-section p,
.proforma-detail-action-panel p {
  margin: 0.15rem 0 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
}

.proforma-detail-dl {
  display: grid;
  gap: 0.4rem;
  margin: 0.65rem 0 0;
}

.proforma-detail-dl div {
  display: grid;
  grid-template-columns: 8.5rem minmax(0, 1fr);
  gap: 0.65rem;
  align-items: start;
}

.proforma-detail-dl dt {
  color: var(--admin-muted);
  font-size: 0.82rem;
  font-weight: 650;
}

.proforma-detail-dl dd {
  min-width: 0;
  margin: 0;
  color: var(--admin-text);
  overflow-wrap: anywhere;
}

.proforma-detail-section,
.proforma-detail-action-panel {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.proforma-detail-section-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.65rem;
}

.proforma-detail-table-shell .admin-table {
  min-width: 68rem;
}

.invoices-page {
  gap: 0.9rem;
}

.invoices-summary {
  align-items: stretch;
}

.invoices-filter {
  padding: 0.85rem;
}

.invoices-priority-panel {
  display: grid;
  grid-template-columns: minmax(14rem, 0.32fr) minmax(0, 1fr);
  gap: 0.8rem;
  align-items: stretch;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.invoices-priority-panel h2 {
  color: var(--admin-text);
}

.invoices-priority-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.6rem;
}

.invoices-priority-item {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
  padding: 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.55rem;
  background: #f8fbff;
}

.invoices-priority-item strong {
  font-size: 1.2rem;
  line-height: 1.1;
}

.invoices-priority-item span {
  color: currentColor;
  font-size: 0.82rem;
  line-height: 1.25;
}

.invoices-priority-item.is-warning {
  border-color: #fed7aa;
  color: #9a3412;
  background: #fff7ed;
}

.invoices-priority-item.is-info {
  border-color: #bfdbfe;
  color: #1e40af;
  background: #eff6ff;
}

.invoices-priority-item.is-success,
.invoices-priority-item.is-ok {
  border-color: #99f6e4;
  color: #115e59;
  background: #f0fdfa;
}

.invoices-result-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  color: var(--admin-muted);
  background: var(--admin-surface);
  font-size: 0.88rem;
}

.invoices-result-strip div {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.invoices-result-strip strong {
  color: var(--admin-text);
}

.invoices-table {
  min-width: 76rem;
}

.invoices-table td {
  vertical-align: middle;
}

.invoices-detail-page {
  gap: 0.9rem;
}

.invoices-detail-summary {
  align-items: stretch;
}

.invoices-document-lock {
  display: grid;
  grid-template-columns: minmax(220px, 0.7fr) minmax(280px, 1.3fr);
  align-items: center;
  gap: 12px 24px;
  margin-top: 16px;
  padding: 14px 16px;
  border-left: 4px solid var(--bs-success);
  background: color-mix(in srgb, var(--bs-success) 7%, var(--bs-body-bg));
}

.invoices-document-lock.is-draft {
  border-left-color: var(--bs-secondary);
  background: color-mix(in srgb, var(--bs-secondary) 7%, var(--bs-body-bg));
}

.invoices-document-lock h2 {
  margin: 6px 0 0;
  font-size: 1rem;
  line-height: 1.3;
}

.invoices-document-lock p {
  margin: 0;
  color: var(--bs-secondary-color);
}

.invoices-detail-meta-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.85rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.invoices-detail-meta-panel h2,
.invoices-detail-section-head h2,
.invoices-detail-action-panel h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.25;
}

.invoices-detail-meta-panel p,
.invoices-detail-section-head p,
.invoices-detail-action-panel p {
  margin: 0.25rem 0 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.45;
}

.invoices-detail-dl {
  display: grid;
  gap: 0.45rem;
  margin: 0.65rem 0 0;
}

.invoices-detail-dl div {
  display: grid;
  grid-template-columns: 8.5rem minmax(0, 1fr);
  gap: 0.65rem;
  min-width: 0;
}

.invoices-detail-dl dt {
  color: var(--admin-muted);
  font-size: 0.8rem;
  font-weight: 650;
}

.invoices-detail-dl dd {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
}

.invoices-detail-note {
  overflow-wrap: anywhere;
}

.invoices-detail-section,
.invoices-detail-action-panel {
  display: grid;
  gap: 0.75rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
  box-shadow: var(--admin-shadow);
}

.invoices-detail-section-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.65rem;
}

.invoices-detail-table-shell .admin-table {
  min-width: 58rem;
}

.invoices-dishonor-form {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.45rem;
}

.invoices-dishonor-form .form-control[type="date"] {
  max-width: 9rem;
}

.invoices-dishonor-form .form-control:not([type="date"]) {
  max-width: 14rem;
}

.invoices-detail-commission-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
  gap: 0.6rem;
}

.invoices-detail-commission-grid div {
  display: grid;
  gap: 0.15rem;
  padding: 0.65rem 0.7rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.55rem;
  background: #f8fbff;
}

.invoices-detail-commission-grid span {
  color: var(--admin-muted);
  font-size: 0.8rem;
}

.invoices-detail-commission-grid strong {
  font-size: 1rem;
  font-variant-numeric: tabular-nums;
}

.invoices-detail-action-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr));
  gap: 0.85rem;
}

.purchase-invoices-page {
  gap: 0.9rem;
}

.purchase-invoices-summary {
  align-items: stretch;
}

.purchase-invoices-filter {
  padding: 0.85rem;
}

.purchase-invoices-priority-panel {
  display: grid;
  grid-template-columns: minmax(14rem, 0.32fr) minmax(0, 1fr);
  gap: 0.8rem;
  align-items: stretch;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.purchase-invoices-priority-panel h2 {
  color: var(--admin-text);
}

.purchase-invoices-priority-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.6rem;
}

.purchase-invoices-priority-item {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
  padding: 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.55rem;
  background: #f8fbff;
}

.purchase-invoices-priority-item strong {
  font-size: 1.2rem;
  line-height: 1.1;
}

.purchase-invoices-priority-item span {
  color: currentColor;
  font-size: 0.82rem;
  line-height: 1.25;
}

.purchase-invoices-priority-item.is-warning {
  border-color: #fed7aa;
  color: #9a3412;
  background: #fff7ed;
}

.purchase-invoices-priority-item.is-info {
  border-color: #bfdbfe;
  color: #1e40af;
  background: #eff6ff;
}

.purchase-invoices-priority-item.is-success,
.purchase-invoices-priority-item.is-ok {
  border-color: #99f6e4;
  color: #115e59;
  background: #f0fdfa;
}

.purchase-invoices-payment-control {
  display: grid;
  gap: 0.75rem;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.purchase-invoices-payment-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
}

.purchase-invoices-payment-head h2 {
  margin: 0.35rem 0 0.15rem;
  color: var(--admin-text);
  font-size: 1.03rem;
  font-weight: 750;
  text-wrap: balance;
}

.purchase-invoices-payment-head p {
  max-width: 72ch;
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.45;
  text-wrap: pretty;
}

.purchase-invoices-payment-status {
  display: inline-flex;
  align-items: center;
  min-height: 1.65rem;
  padding: 0.22rem 0.52rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 62%, white);
  font-size: 0.77rem;
  font-weight: 700;
}

.purchase-invoices-payment-status.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 28%, var(--admin-border));
  color: var(--admin-success);
  background: color-mix(in oklab, var(--admin-success) 8%, white);
}

.purchase-invoices-payment-status.is-attention {
  border-color: color-mix(in oklab, var(--admin-primary) 30%, var(--admin-border));
  color: var(--admin-primary-dark);
  background: var(--admin-primary-soft);
}

.purchase-invoices-payment-status.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 34%, var(--admin-border));
  color: #7c2d12;
  background: #fffbeb;
}

.purchase-invoices-payment-status.is-danger {
  border-color: color-mix(in oklab, var(--admin-danger) 30%, var(--admin-border));
  color: var(--admin-danger);
  background: color-mix(in oklab, var(--admin-danger) 7%, white);
}

.purchase-invoices-payment-actions {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.45rem;
}

.purchase-invoices-payment-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.55rem;
  margin: 0;
}

.purchase-invoices-payment-grid div {
  min-width: 0;
  padding: 0.68rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 48%, white);
}

.purchase-invoices-payment-grid dt {
  margin-bottom: 0.2rem;
  color: var(--admin-muted);
  font-size: 0.77rem;
  font-weight: 700;
}

.purchase-invoices-payment-grid dd {
  margin: 0;
  color: var(--admin-text);
  font-size: 1rem;
  font-weight: 760;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

.purchase-invoices-payment-grid small {
  display: block;
  margin-top: 0.22rem;
  color: var(--admin-muted);
  font-size: 0.77rem;
  line-height: 1.35;
}

.purchase-invoices-import-control {
  display: grid;
  grid-template-columns: minmax(14rem, 0.36fr) minmax(0, 1fr) auto;
  gap: 0.75rem;
  align-items: stretch;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.purchase-invoices-import-state {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 0.65rem;
  min-width: 0;
  padding: 0.75rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.55rem;
  background: #f8fbff;
}

.purchase-invoices-import-state h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.25;
}

.purchase-invoices-import-state p {
  margin: 0.25rem 0 0;
  color: var(--admin-muted);
  font-size: 0.86rem;
  line-height: 1.45;
}

.purchase-invoices-import-state.is-warning {
  border-color: #fed7aa;
  background: #fff7ed;
}

.purchase-invoices-import-state.is-info {
  border-color: #bfdbfe;
  background: #eff6ff;
}

.purchase-invoices-import-state.is-success {
  border-color: #99f6e4;
  background: #f0fdfa;
}

.purchase-invoices-import-chip {
  width: max-content;
  max-width: 100%;
  padding: 0.18rem 0.5rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: var(--admin-surface);
  font-size: 0.78rem;
  font-weight: 650;
}

.purchase-invoices-import-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.55rem;
  min-width: 0;
}

.purchase-invoices-import-metrics div {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
  padding: 0.62rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: #f8fafc;
}

.purchase-invoices-import-metrics span {
  color: var(--admin-muted);
  font-size: 0.78rem;
  line-height: 1.25;
}

.purchase-invoices-import-metrics strong {
  min-width: 0;
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.purchase-invoices-import-metrics-wide {
  grid-column: span 2;
}

.purchase-invoices-import-actions {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.45rem;
}

.purchase-invoices-xml-preview {
  display: grid;
  gap: 0.75rem;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.purchase-invoices-xml-preview-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.42fr);
  gap: 1rem;
  align-items: start;
}

.purchase-invoices-xml-preview-head h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1.05rem;
  line-height: 1.25;
}

.purchase-invoices-xml-preview-head p {
  max-width: 74ch;
  margin: 0.25rem 0 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

.purchase-invoices-xml-preview-form {
  display: grid;
  gap: 0.45rem;
  min-width: 0;
}

.purchase-invoices-xml-preview-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.purchase-invoices-xml-preview-result {
  display: grid;
  gap: 0.7rem;
  padding: 0.75rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.55rem;
  background: #f8fafc;
}

.purchase-invoices-xml-preview-result.is-warning {
  border-color: #fed7aa;
  background: #fff7ed;
}

.purchase-invoices-xml-preview-result.is-info {
  border-color: #bfdbfe;
  background: #eff6ff;
}

.purchase-invoices-xml-preview-result.is-success {
  border-color: #99f6e4;
  background: #f0fdfa;
}

.purchase-invoices-xml-preview-status {
  display: grid;
  gap: 0.18rem;
}

.purchase-invoices-xml-preview-status span {
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.purchase-invoices-xml-preview-status strong {
  color: var(--admin-text);
  font-size: 1rem;
  overflow-wrap: anywhere;
}

.purchase-invoices-xml-preview-status p {
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.4;
}

.purchase-invoices-xml-preview-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
  gap: 0.5rem;
  margin: 0;
}

.purchase-invoices-xml-preview-grid div {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
  padding: 0.58rem;
  border: 1px solid color-mix(in oklab, var(--admin-border) 82%, transparent);
  border-radius: 0.5rem;
  background: var(--admin-surface);
}

.purchase-invoices-xml-preview-grid dt {
  color: var(--admin-muted);
  font-size: 0.76rem;
  font-weight: 650;
}

.purchase-invoices-xml-preview-grid dd {
  margin: 0;
  color: var(--admin-text);
  font-weight: 700;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.purchase-invoices-xml-preview-review {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  padding-top: 0.15rem;
}

.purchase-invoices-xml-preview-review span {
  display: block;
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.purchase-invoices-xml-preview-review strong {
  display: block;
  margin-top: 0.12rem;
  color: var(--admin-success);
  font-size: 0.9rem;
}

.purchase-invoices-xml-preview-review ul {
  margin: 0.25rem 0 0;
  padding-left: 1.1rem;
  color: var(--admin-text);
  font-size: 0.88rem;
  line-height: 1.45;
}

.purchase-invoices-result-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  color: var(--admin-muted);
  background: var(--admin-surface);
  font-size: 0.88rem;
}

.purchase-invoices-result-strip div {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.purchase-invoices-result-strip strong {
  color: var(--admin-text);
}

.purchase-invoices-table {
  min-width: 76rem;
}

.purchase-invoices-table td {
  vertical-align: middle;
}

.purchase-invoices-detail-page {
  gap: 0.9rem;
}

.purchase-invoices-detail-summary {
  align-items: stretch;
}

.purchase-invoices-detail-meta-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.85rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.purchase-invoices-detail-meta-panel h2,
.purchase-invoices-detail-section-head h2,
.purchase-invoices-detail-action-panel h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.25;
}

.purchase-invoices-detail-meta-panel p,
.purchase-invoices-detail-section-head p,
.purchase-invoices-detail-action-panel p {
  margin: 0.25rem 0 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.45;
}

.purchase-invoices-detail-dl {
  display: grid;
  gap: 0.45rem;
  margin: 0.65rem 0 0;
}

.purchase-invoices-detail-dl div {
  display: grid;
  grid-template-columns: 8.5rem minmax(0, 1fr);
  gap: 0.65rem;
  min-width: 0;
}

.purchase-invoices-detail-dl dt {
  color: var(--admin-muted);
  font-size: 0.8rem;
  font-weight: 650;
}

.purchase-invoices-detail-dl dd {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
}

.purchase-invoices-detail-note {
  overflow-wrap: anywhere;
}

.purchase-invoices-detail-section,
.purchase-invoices-detail-action-panel {
  display: grid;
  gap: 0.75rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
  box-shadow: var(--admin-shadow);
}

.purchase-invoices-detail-section-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.65rem;
}

.purchase-invoices-detail-table-shell .admin-table {
  min-width: 58rem;
}

.purchase-invoices-detail-action-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 24rem), 1fr));
  gap: 0.85rem;
}

.purchase-invoices-approval-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
  gap: 0.65rem;
}

.purchase-invoices-approval-grid > div {
  min-width: 0;
  padding: 0.7rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius-sm);
  background: color-mix(in oklab, var(--admin-primary-soft) 18%, var(--admin-surface));
}

.purchase-invoices-approval-form {
  padding-top: 0.25rem;
}

.ddt-page {
  gap: 0.9rem;
}

.ddt-summary {
  align-items: stretch;
}

.ddt-priority-panel {
  display: grid;
  grid-template-columns: minmax(14rem, 0.32fr) minmax(0, 1fr);
  gap: 0.8rem;
  align-items: stretch;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.ddt-priority-panel h2 {
  color: var(--admin-text);
}

.ddt-priority-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.6rem;
}

.ddt-priority-item {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
  padding: 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.55rem;
  background: #f8fbff;
}

.ddt-priority-item strong {
  font-size: 1.2rem;
  line-height: 1.1;
}

.ddt-priority-item span {
  color: currentColor;
  font-size: 0.82rem;
  line-height: 1.25;
}

.ddt-priority-item.is-warning {
  border-color: #fed7aa;
  color: #9a3412;
  background: #fff7ed;
}

.ddt-priority-item.is-info {
  border-color: #bfdbfe;
  color: #1e40af;
  background: #eff6ff;
}

.ddt-priority-item.is-ok {
  border-color: #99f6e4;
  color: #115e59;
  background: #f0fdfa;
}

.ddt-result-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  color: var(--admin-muted);
  background: var(--admin-surface);
  font-size: 0.88rem;
}

.ddt-result-strip div {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.ddt-result-strip strong {
  color: var(--admin-text);
}

.ddt-table {
  min-width: 64rem;
}

.ddt-table td {
  vertical-align: middle;
}

.ddt-detail-page {
  gap: 0.9rem;
}

.ddt-detail-summary {
  align-items: stretch;
}

.ddt-traceability-panel {
  display: grid;
  gap: 0.85rem;
  padding: 0.95rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
  box-shadow: var(--admin-shadow);
}

.ddt-traceability-panel.is-ready {
  border-color: rgba(22, 101, 52, 0.32);
  background: #f0fdf4;
}

.ddt-traceability-panel.is-warning {
  border-color: rgba(180, 83, 9, 0.34);
  background: #fffbeb;
}

.ddt-traceability-panel.is-danger {
  border-color: rgba(185, 28, 28, 0.32);
  background: #fef2f2;
}

.ddt-traceability-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.8rem;
}

.ddt-traceability-head h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1.02rem;
  line-height: 1.25;
  text-wrap: balance;
}

.ddt-traceability-head p {
  max-width: 72ch;
  margin: 0.25rem 0 0;
  color: var(--admin-muted);
  font-size: 0.89rem;
  line-height: 1.45;
}

.ddt-traceability-score {
  display: grid;
  justify-items: end;
  min-width: 9.5rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius-sm);
  background: rgba(255, 255, 255, 0.72);
}

.ddt-traceability-score span {
  color: var(--admin-muted);
  font-size: 0.76rem;
  font-weight: 650;
  line-height: 1.2;
  text-align: right;
}

.ddt-traceability-score strong {
  color: var(--admin-text);
  font-size: 1.25rem;
  font-variant-numeric: tabular-nums;
  line-height: 1.1;
}

.ddt-traceability-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.65rem;
}

.ddt-traceability-grid div {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
  padding: 0.65rem 0.7rem;
  border: 1px solid rgba(148, 163, 184, 0.34);
  border-radius: var(--admin-radius-sm);
  background: rgba(255, 255, 255, 0.7);
}

.ddt-traceability-grid span,
.ddt-traceability-check small {
  color: var(--admin-muted);
  font-size: 0.76rem;
  line-height: 1.3;
}

.ddt-traceability-grid strong,
.ddt-traceability-check strong {
  min-width: 0;
  color: var(--admin-text);
  font-size: 0.9rem;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.ddt-traceability-checklist {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(13.5rem, 1fr));
  gap: 0.5rem;
}

.ddt-traceability-check {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  min-width: 0;
  padding: 0.55rem 0.6rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius-sm);
  background: rgba(255, 255, 255, 0.78);
}

.ddt-traceability-check > span {
  display: inline-grid;
  place-items: center;
  flex: 0 0 1.55rem;
  min-width: 1.55rem;
  height: 1.55rem;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 800;
  line-height: 1;
}

.ddt-traceability-check.is-complete > span {
  color: #14532d;
  background: #dcfce7;
}

.ddt-traceability-check.is-missing > span {
  color: #7c2d12;
  background: #ffedd5;
}

.ddt-traceability-check div {
  display: grid;
  gap: 0.1rem;
  min-width: 0;
}

.ddt-traceability-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.ddt-detail-meta-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.85rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.ddt-detail-meta-panel h2,
.ddt-detail-section-head h2,
.ddt-detail-action-panel h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.25;
}

.ddt-detail-meta-panel p,
.ddt-detail-section-head p,
.ddt-detail-action-panel p {
  margin: 0.25rem 0 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.45;
}

.ddt-detail-dl {
  display: grid;
  gap: 0.45rem;
  margin: 0.65rem 0 0;
}

.ddt-detail-dl div {
  display: grid;
  grid-template-columns: 8.5rem minmax(0, 1fr);
  gap: 0.65rem;
  min-width: 0;
}

.ddt-detail-dl dt {
  color: var(--admin-muted);
  font-size: 0.8rem;
  font-weight: 650;
}

.ddt-detail-dl dd {
  display: grid;
  gap: 0.1rem;
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
}

.ddt-detail-section,
.ddt-detail-action-panel {
  display: grid;
  gap: 0.75rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
  box-shadow: var(--admin-shadow);
}

.ddt-detail-section-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.65rem;
}

.ddt-detail-table-shell .admin-table {
  min-width: 48rem;
}

.items-muted {
  display: block;
  margin-top: 0.15rem;
  color: var(--admin-muted);
  font-size: 0.82rem;
}

.items-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
}

.items-tags span {
  display: inline-flex;
  align-items: center;
  min-height: 1.45rem;
  padding: 0.1rem 0.45rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 60%, white);
  font-size: 0.76rem;
  font-weight: 650;
  line-height: 1.2;
  white-space: nowrap;
}

.items-stock-control {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.items-stock-control-copy {
  min-width: 14rem;
  max-width: 72ch;
}

.items-stock-control-copy h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1.05rem;
  line-height: 1.25;
}

.items-stock-control-copy p {
  margin: 0.3rem 0 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

.items-stock-control-actions {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.5rem;
}

.items-import-panel,
.items-import-report {
  display: grid;
  gap: 0.8rem;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.items-import-panel {
  grid-template-columns: minmax(0, 1.2fr) minmax(18rem, 0.8fr);
  align-items: end;
}

.items-import-copy h2,
.items-import-report-head h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1.05rem;
  line-height: 1.25;
}

.items-import-copy p,
.items-import-report-head p,
.items-import-footnote {
  margin: 0.3rem 0 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

.items-import-form {
  display: grid;
  gap: 0.65rem;
}

.items-import-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.5rem;
}

.items-import-report-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.items-import-kpis,
.items-import-messages {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.items-import-kpis span,
.items-import-message,
.items-import-status {
  display: inline-flex;
  align-items: center;
  min-height: 1.85rem;
  padding: 0.25rem 0.6rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  background: color-mix(in oklab, var(--admin-bg) 62%, white);
  color: var(--admin-muted);
  font-size: 0.82rem;
  font-weight: 650;
  line-height: 1.2;
}

.items-import-kpis strong {
  margin-right: 0.25rem;
  color: var(--admin-text);
  font-variant-numeric: tabular-nums;
}

.items-import-status.is-ready,
.items-import-message.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 30%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-warning) 12%, white);
  color: color-mix(in oklab, var(--admin-warning) 62%, black);
}

.items-import-status.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 30%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-success) 12%, white);
  color: color-mix(in oklab, var(--admin-success) 58%, black);
}

.items-import-message.is-error,
.items-import-status.is-warning {
  border-color: color-mix(in oklab, var(--admin-danger) 28%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-danger) 10%, white);
  color: color-mix(in oklab, var(--admin-danger) 62%, black);
}

.items-import-table {
  min-width: 58rem;
}

.items-stock-state {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
}

.items-stock-state small {
  color: var(--admin-muted);
  font-size: 0.76rem;
  line-height: 1.25;
}

.items-stock-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  min-height: 1.45rem;
  padding: 0.14rem 0.48rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  font-size: 0.76rem;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
}

.items-stock-badge.is-ready {
  color: #14532d;
  border-color: color-mix(in oklab, var(--admin-success) 34%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-success) 12%, white);
}

.items-stock-badge.is-warning {
  color: #7c2d12;
  border-color: color-mix(in oklab, var(--admin-warning) 38%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-warning) 12%, white);
}

.items-stock-badge.is-danger {
  color: #881337;
  border-color: color-mix(in oklab, var(--admin-danger) 36%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-danger) 8%, white);
}

.items-stock-badge.is-muted {
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 64%, white);
}

.items-form-page,
.items-detail-page {
  gap: 0.9rem;
}

.items-form {
  display: grid;
  gap: 0.85rem;
}

.items-form-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(17rem, 0.34fr);
  gap: 0.9rem;
  align-items: start;
}

.items-form-sections {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
}

.items-form-section,
.items-form-aside,
.items-detail-hero,
.items-detail-panel {
  min-width: 0;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.items-form-section legend {
  float: none;
  width: auto;
  margin-bottom: 0.65rem;
  color: var(--admin-text);
  font-size: 0.98rem;
  font-weight: 700;
}

.items-form-section .form-label {
  font-weight: 600;
}

.items-form-aside {
  position: sticky;
  top: 4.85rem;
  display: grid;
  gap: 0.7rem;
}

.items-form-aside-head,
.items-detail-hero,
.items-detail-status {
  display: flex;
  gap: 0.65rem;
}

.items-form-aside-head {
  align-items: flex-start;
  justify-content: space-between;
}

.items-form-aside-head h2,
.items-detail-panel h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.25;
}

.items-form-aside-head span {
  flex: 0 0 auto;
  padding: 0.16rem 0.5rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 70%, white);
  font-size: 0.76rem;
  font-weight: 700;
  line-height: 1.2;
}

.items-form-aside p,
.items-quality-note,
.items-detail-notes p {
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.5;
}

.items-quality-list,
.items-detail-list {
  display: grid;
  gap: 0.45rem;
  margin: 0;
}

.items-quality-list div,
.items-detail-list div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.5rem;
  align-items: center;
  min-height: 2rem;
  padding: 0.35rem 0.45rem;
  border: 1px solid color-mix(in oklab, var(--admin-border) 72%, white);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 52%, white);
}

.items-quality-list dt,
.items-quality-list dd,
.items-detail-list dt,
.items-detail-list dd {
  min-width: 0;
  margin: 0;
}

.items-quality-list dt,
.items-detail-list dt {
  color: var(--admin-text);
  font-size: 0.84rem;
  font-weight: 650;
}

.items-quality-list dd,
.items-detail-list dd {
  color: var(--admin-muted);
  font-size: 0.82rem;
  text-align: right;
  overflow-wrap: anywhere;
}

.items-quality-note {
  padding: 0.6rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 18%, var(--admin-border));
  border-radius: 0.5rem;
  background: var(--admin-primary-soft);
}

.items-form-actions,
.items-linked-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.items-detail-hero {
  align-items: flex-start;
  justify-content: space-between;
}

.items-detail-hero h2 {
  margin: 0.35rem 0 0;
  color: var(--admin-text);
  font-size: 1.35rem;
  line-height: 1.2;
}

.items-detail-hero p {
  margin: 0.25rem 0 0;
  color: var(--admin-muted);
  line-height: 1.45;
}

.items-detail-status {
  flex: 0 0 auto;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
}

.items-detail-status span:not(.badge) {
  color: var(--admin-muted);
  font-size: 0.85rem;
}

.items-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(17rem, 0.36fr);
  gap: 0.9rem;
  align-items: start;
}

.items-detail-panel {
  display: grid;
  gap: 0.7rem;
}

.items-stock-panel {
  grid-column: 1 / -1;
}

.items-stock-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.items-stock-panel-head p {
  margin: 0.25rem 0 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

.items-supplier-profile-panel,
.items-supplier-profile-panel > *,
.items-supplier-profile-form,
.items-supplier-profile-form .row,
.items-supplier-profile-form .row > * {
  min-width: 0;
  max-width: 100%;
}

.items-supplier-profile-panel {
  width: 100%;
  box-sizing: border-box;
}

.items-supplier-profile-panel h2,
.items-supplier-profile-panel p,
.items-supplier-profile-form .form-label {
  overflow-wrap: anywhere;
}

.items-stock-next {
  display: grid;
  gap: 0.15rem;
  padding: 0.6rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 18%, var(--admin-border));
  border-radius: 0.5rem;
  background: var(--admin-primary-soft);
}

.items-stock-next strong {
  color: var(--admin-text);
  font-size: 0.84rem;
}

.items-stock-next span {
  color: var(--admin-muted);
  font-size: 0.86rem;
  line-height: 1.4;
}

.items-detail-notes {
  grid-column: 1 / -1;
}

.warehouses-page,
.warehouses-form-page,
.warehouses-detail-page {
  gap: 0.9rem;
}

.warehouses-filter {
  padding: 0.85rem;
}

.warehouses-filter .admin-filter-grid {
  margin-right: 0;
  margin-left: 0;
}

.warehouses-result-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  color: var(--admin-muted);
  background: var(--admin-surface);
  font-size: 0.88rem;
}

.warehouses-operational-alert {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.75rem 0.85rem;
  border: 1px solid color-mix(in oklab, var(--admin-warning) 30%, var(--admin-border));
  border-radius: var(--admin-radius);
  background: color-mix(in oklab, var(--admin-warning) 7%, var(--admin-surface));
}

.warehouses-operational-alert h2 {
  margin: 0 0 0.15rem;
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.25;
}

.warehouses-operational-alert p {
  max-width: 72ch;
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

.warehouses-inventory-readiness {
  display: grid;
  gap: 0.8rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.warehouses-inventory-readiness-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.9rem;
}

.warehouses-inventory-readiness-head h2 {
  margin: 0.35rem 0 0.15rem;
  color: var(--admin-text);
  font-size: 1.05rem;
  font-weight: 750;
}

.warehouses-inventory-readiness-head p {
  max-width: 72ch;
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
  line-height: 1.45;
  text-wrap: pretty;
}

.warehouses-inventory-readiness-status {
  display: inline-flex;
  align-items: center;
  min-height: 1.7rem;
  padding: 0.25rem 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 62%, white);
  font-size: 0.78rem;
  font-weight: 700;
}

.warehouses-inventory-readiness-status.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 28%, var(--admin-border));
  color: var(--admin-success);
  background: color-mix(in oklab, var(--admin-success) 8%, white);
}

.warehouses-inventory-readiness-status.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 34%, var(--admin-border));
  color: #7c2d12;
  background: #fffbeb;
}

.warehouses-inventory-readiness-status.is-muted {
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 62%, white);
}

.warehouses-inventory-readiness-actions {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.45rem;
}

.warehouses-inventory-readiness-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.65rem;
  margin: 0;
}

.warehouses-inventory-readiness-grid div {
  min-width: 0;
  padding: 0.75rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.55rem;
  background: color-mix(in oklab, var(--admin-bg) 48%, white);
}

.warehouses-inventory-readiness-grid dt {
  margin-bottom: 0.25rem;
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.warehouses-inventory-readiness-grid dd {
  margin: 0;
  color: var(--admin-text);
  font-size: 1.05rem;
  font-weight: 760;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

.warehouses-inventory-readiness-grid small {
  display: block;
  margin-top: 0.25rem;
  color: var(--admin-muted);
  font-size: 0.78rem;
  line-height: 1.35;
}

.warehouses-table {
  min-width: 58rem;
}

.warehouses-table td {
  vertical-align: middle;
}

.warehouses-muted {
  display: block;
  margin-top: 0.15rem;
  color: var(--admin-muted);
  font-size: 0.82rem;
}

.warehouses-operational-badge {
  display: inline-flex;
  align-items: center;
  min-height: 1.55rem;
  padding: 0.16rem 0.5rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 62%, white);
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
}

.warehouses-operational-badge.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 35%, var(--admin-border));
  color: color-mix(in oklab, var(--admin-success) 58%, var(--admin-text));
  background: color-mix(in oklab, var(--admin-success) 8%, var(--admin-surface));
}

.warehouses-operational-badge.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 40%, var(--admin-border));
  color: color-mix(in oklab, var(--admin-warning) 54%, var(--admin-text));
  background: color-mix(in oklab, var(--admin-warning) 9%, var(--admin-surface));
}

.warehouses-operational-badge.is-muted {
  border-color: var(--admin-border);
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 70%, white);
}

.warehouses-form {
  display: grid;
  gap: 0.85rem;
}

.warehouses-form-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(17rem, 0.34fr);
  gap: 0.9rem;
  align-items: start;
}

.warehouses-form-sections {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
}

.warehouses-form-section,
.warehouses-form-aside,
.warehouses-detail-hero,
.warehouses-detail-panel {
  min-width: 0;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.warehouses-form-section legend {
  float: none;
  width: auto;
  margin-bottom: 0.65rem;
  color: var(--admin-text);
  font-size: 0.98rem;
  font-weight: 700;
}

.warehouses-form-section .form-label {
  font-weight: 600;
}

.warehouses-form-aside {
  position: sticky;
  top: 4.85rem;
  display: grid;
  gap: 0.7rem;
}

.warehouses-aside-head,
.warehouses-detail-hero,
.warehouses-detail-status {
  display: flex;
  gap: 0.65rem;
}

.warehouses-aside-head {
  align-items: flex-start;
  justify-content: space-between;
}

.warehouses-aside-head h2,
.warehouses-detail-panel h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.25;
}

.warehouses-aside-head span {
  flex: 0 0 auto;
  padding: 0.16rem 0.5rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 70%, white);
  font-size: 0.76rem;
  font-weight: 700;
  line-height: 1.2;
}

.warehouses-form-aside p,
.warehouses-quality-note,
.warehouses-detail-notes p {
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.5;
}

.warehouses-quality-list,
.warehouses-detail-list {
  display: grid;
  gap: 0.45rem;
  margin: 0;
}

.warehouses-quality-list div,
.warehouses-detail-list div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.5rem;
  align-items: center;
  min-height: 2rem;
  padding: 0.35rem 0.45rem;
  border: 1px solid color-mix(in oklab, var(--admin-border) 72%, white);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 52%, white);
}

.warehouses-quality-list dt,
.warehouses-quality-list dd,
.warehouses-detail-list dt,
.warehouses-detail-list dd {
  min-width: 0;
  margin: 0;
}

.warehouses-quality-list dt,
.warehouses-detail-list dt {
  color: var(--admin-text);
  font-size: 0.84rem;
  font-weight: 650;
}

.warehouses-quality-list dd,
.warehouses-detail-list dd {
  color: var(--admin-muted);
  font-size: 0.82rem;
  text-align: right;
  overflow-wrap: anywhere;
}

.warehouses-quality-note {
  padding: 0.6rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 18%, var(--admin-border));
  border-radius: 0.5rem;
  background: var(--admin-primary-soft);
}

.warehouses-form-actions,
.warehouses-linked-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.warehouses-detail-hero {
  align-items: flex-start;
  justify-content: space-between;
}

.warehouses-detail-hero h2 {
  margin: 0.35rem 0 0;
  color: var(--admin-text);
  font-size: 1.35rem;
  line-height: 1.2;
}

.warehouses-detail-hero p {
  margin: 0.25rem 0 0;
  color: var(--admin-muted);
  line-height: 1.45;
}

.warehouses-detail-status {
  flex: 0 0 auto;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  color: var(--admin-muted);
  font-size: 0.85rem;
}

.warehouses-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(17rem, 0.36fr);
  gap: 0.9rem;
  align-items: start;
}

.warehouses-detail-panel {
  display: grid;
  gap: 0.7rem;
}

.warehouses-operational-panel {
  border-color: color-mix(in oklab, var(--admin-primary) 24%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-primary) 4%, var(--admin-surface));
}

.warehouses-operational-panel p {
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

.warehouses-next-action {
  display: grid;
  gap: 0.15rem;
  padding: 0.6rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 20%, var(--admin-border));
  border-radius: 0.5rem;
  background: var(--admin-surface);
}

.warehouses-next-action span {
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.warehouses-next-action strong {
  color: var(--admin-text);
  font-size: 0.9rem;
  line-height: 1.35;
}

.warehouses-detail-notes {
  grid-column: 1 / -1;
}

.inventory-page {
  gap: 0.9rem;
}

.inventory-filter {
  padding: 0.85rem;
}

.inventory-filter .admin-filter-grid,
.inventory-create-panel .admin-filter-grid {
  margin-right: 0;
  margin-left: 0;
}

.inventory-summary-grid {
  grid-template-columns: repeat(auto-fit, minmax(10.5rem, 1fr));
}

.inventory-summary-note {
  margin-top: 0.2rem;
  color: var(--admin-muted);
  font-size: 0.82rem;
  line-height: 1.35;
}

.inventory-summary-warning {
  border-color: color-mix(in oklab, #f59e0b 35%, var(--admin-border));
  background: color-mix(in oklab, #fef3c7 42%, var(--admin-surface));
}

.inventory-control-panel {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(16rem, 0.9fr) auto;
  gap: 0.85rem;
  align-items: stretch;
  min-width: 0;
  padding: 0.85rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 24%, var(--admin-border));
  border-radius: var(--admin-radius);
  background: color-mix(in oklab, var(--admin-primary) 4%, var(--admin-surface));
}

.inventory-control-main,
.inventory-control-actions {
  min-width: 0;
}

.inventory-control-main h2 {
  margin: 0.35rem 0 0.2rem;
  color: var(--admin-text);
  font-size: 1.05rem;
  line-height: 1.25;
}

.inventory-control-main p {
  max-width: 72ch;
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

.inventory-control-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.45rem;
  min-width: 0;
}

.inventory-control-metrics div {
  min-width: 0;
  padding: 0.52rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: var(--admin-surface);
}

.inventory-control-metrics span {
  display: block;
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.inventory-control-metrics strong {
  display: block;
  margin-top: 0.1rem;
  color: var(--admin-text);
  font-size: 1rem;
  font-variant-numeric: tabular-nums;
}

.inventory-control-actions {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  justify-content: center;
}

.inventory-reorder-control {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(18rem, 0.95fr) auto;
  gap: 0.85rem;
  align-items: stretch;
  min-width: 0;
  padding: 0.85rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 24%, var(--admin-border));
  border-radius: var(--admin-radius);
  background: color-mix(in oklab, var(--admin-primary) 4%, var(--admin-surface));
}

.inventory-reorder-control-main,
.inventory-reorder-control-actions {
  min-width: 0;
}

.inventory-reorder-control-main h2 {
  margin: 0.35rem 0 0.2rem;
  color: var(--admin-text);
  font-size: 1.05rem;
  line-height: 1.25;
}

.inventory-reorder-control-main p {
  max-width: 72ch;
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

.inventory-reorder-control-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.45rem;
  min-width: 0;
  margin: 0;
}

.inventory-reorder-control-metrics div {
  min-width: 0;
  padding: 0.52rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: var(--admin-surface);
}

.inventory-reorder-control-metrics dt,
.inventory-reorder-control-metrics dd {
  min-width: 0;
  margin: 0;
}

.inventory-reorder-control-metrics dt {
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.inventory-reorder-control-metrics dd {
  margin-top: 0.1rem;
  color: var(--admin-text);
  font-size: 1rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.inventory-reorder-control-actions {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  justify-content: center;
}

.inventory-safety-stock-control {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(20rem, 1.2fr);
  gap: 0.85rem;
  align-items: stretch;
  min-width: 0;
  padding: 0.85rem;
  border: 1px solid color-mix(in oklab, var(--admin-warning) 24%, var(--admin-border));
  border-radius: var(--admin-radius);
  background: color-mix(in oklab, #fffbeb 46%, var(--admin-surface));
}

.inventory-safety-stock-main {
  min-width: 0;
}

.inventory-safety-stock-main h2 {
  margin: 0.35rem 0 0.2rem;
  color: var(--admin-text);
  font-size: 1.05rem;
  line-height: 1.25;
}

.inventory-safety-stock-main p,
.inventory-safety-stock-note {
  max-width: 78ch;
  margin: 0;
  color: #78350f;
  font-size: 0.9rem;
  line-height: 1.45;
}

.inventory-safety-stock-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));
  gap: 0.45rem;
  min-width: 0;
  margin: 0;
}

.inventory-safety-stock-metrics div {
  min-width: 0;
  padding: 0.52rem;
  border: 1px solid color-mix(in oklab, var(--admin-warning) 24%, var(--admin-border));
  border-radius: 0.5rem;
  background: var(--admin-surface);
}

.inventory-safety-stock-metrics dt,
.inventory-safety-stock-metrics dd {
  min-width: 0;
  margin: 0;
}

.inventory-safety-stock-metrics dt {
  color: #78350f;
  font-size: 0.78rem;
  font-weight: 650;
}

.inventory-safety-stock-metrics dd {
  margin-top: 0.1rem;
  color: var(--admin-text);
  font-size: 1rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.inventory-safety-stock-note {
  grid-column: 1 / -1;
  padding-top: 0.15rem;
}

.inventory-safety-row {
  display: grid;
  gap: 0.16rem;
}

.inventory-mrp-readiness {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(22rem, 1.35fr);
  gap: 0.85rem;
  align-items: stretch;
  min-width: 0;
  padding: 0.85rem;
  border: 1px solid color-mix(in oklab, var(--admin-success) 20%, var(--admin-border));
  border-radius: var(--admin-radius);
  background: color-mix(in oklab, var(--admin-success) 4%, var(--admin-surface));
}

.inventory-mrp-readiness-main,
.inventory-mrp-readiness-metrics {
  min-width: 0;
}

.inventory-mrp-readiness-main h2 {
  margin: 0.35rem 0 0.2rem;
  color: var(--admin-text);
  font-size: 1.05rem;
  line-height: 1.25;
}

.inventory-mrp-readiness-main p,
.inventory-mrp-readiness-main strong {
  display: block;
  max-width: 76ch;
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.45;
}

.inventory-mrp-readiness-main p {
  color: var(--admin-muted);
}

.inventory-mrp-readiness-main strong {
  margin-top: 0.28rem;
  color: var(--admin-text);
  font-weight: 700;
}

.inventory-mrp-readiness-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.45rem;
  margin: 0;
}

.inventory-mrp-readiness-metrics div {
  min-width: 0;
  padding: 0.52rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: var(--admin-surface);
}

.inventory-mrp-readiness-metrics dt,
.inventory-mrp-readiness-metrics dd {
  min-width: 0;
  margin: 0;
}

.inventory-mrp-readiness-metrics dt {
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.inventory-mrp-readiness-metrics dd {
  margin-top: 0.1rem;
  color: var(--admin-text);
  font-size: 1rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.inventory-mrp-readiness-metrics small {
  display: block;
  margin-top: 0.18rem;
  color: var(--admin-muted);
  font-size: 0.78rem;
  line-height: 1.35;
}

.inventory-mrp-control {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(20rem, 1fr) auto;
  gap: 0.85rem;
  align-items: stretch;
  min-width: 0;
  padding: 0.85rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 24%, var(--admin-border));
  border-radius: var(--admin-radius);
  background: color-mix(in oklab, var(--admin-primary) 4%, var(--admin-surface));
}

.inventory-mrp-control-main,
.inventory-mrp-control-actions {
  min-width: 0;
}

.inventory-mrp-control-main h2 {
  margin: 0.35rem 0 0.2rem;
  color: var(--admin-text);
  font-size: 1.05rem;
  line-height: 1.25;
}

.inventory-mrp-control-main p {
  max-width: 72ch;
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

.inventory-mrp-control-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.45rem;
  min-width: 0;
  margin: 0;
}

.inventory-mrp-control-metrics div {
  min-width: 0;
  padding: 0.52rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: var(--admin-surface);
}

.inventory-mrp-control-metrics dt,
.inventory-mrp-control-metrics dd {
  min-width: 0;
  margin: 0;
}

.inventory-mrp-control-metrics dt {
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.inventory-mrp-control-metrics dd {
  margin-top: 0.1rem;
  color: var(--admin-text);
  font-size: 1rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.inventory-mrp-control-metrics small {
  display: block;
  margin-top: 0.18rem;
  color: var(--admin-muted);
  font-size: 0.78rem;
  line-height: 1.35;
}

.inventory-mrp-control-actions {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  justify-content: center;
}

.inventory-mrp-bottlenecks {
  display: grid;
  gap: 0.7rem;
  min-width: 0;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.inventory-mrp-bottleneck-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.55rem;
  margin: 0;
}

.inventory-mrp-bottleneck-metrics div {
  min-width: 0;
  padding: 0.62rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 52%, white);
}

.inventory-mrp-bottleneck-metrics dt,
.inventory-mrp-bottleneck-metrics dd {
  min-width: 0;
  margin: 0;
}

.inventory-mrp-bottleneck-metrics dt {
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.inventory-mrp-bottleneck-metrics dd {
  margin-top: 0.1rem;
  color: var(--admin-text);
  font-size: 1rem;
  font-weight: 740;
  font-variant-numeric: tabular-nums;
}

.inventory-mrp-bottleneck-metrics small {
  display: block;
  margin-top: 0.18rem;
  color: var(--admin-muted);
  font-size: 0.78rem;
  line-height: 1.35;
}

.inventory-mrp-bottleneck-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
  gap: 0.6rem;
}

.inventory-mrp-bottleneck-item {
  display: grid;
  gap: 0.55rem;
  min-width: 0;
  padding: 0.7rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 42%, white);
}

.inventory-mrp-bottleneck-item strong,
.inventory-mrp-bottleneck-item p,
.inventory-mrp-bottleneck-item dd {
  min-width: 0;
  overflow-wrap: anywhere;
}

.inventory-mrp-bottleneck-item strong {
  display: block;
  margin-top: 0.35rem;
  color: var(--admin-text);
  font-size: 0.95rem;
  line-height: 1.25;
}

.inventory-mrp-bottleneck-item p,
.inventory-mrp-bottleneck-empty {
  margin: 0.2rem 0 0;
  color: var(--admin-muted);
  font-size: 0.82rem;
  line-height: 1.4;
}

.inventory-mrp-bottleneck-item dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.45rem;
  margin: 0;
}

.inventory-mrp-bottleneck-item dt {
  margin: 0 0 0.1rem;
  color: var(--admin-muted);
  font-size: 0.74rem;
  font-weight: 700;
}

.inventory-mrp-bottleneck-item dd {
  margin: 0;
  color: var(--admin-text);
  font-size: 0.86rem;
  font-weight: 700;
}

.inventory-mrp-conversion {
  display: grid;
  gap: 0.7rem;
  min-width: 0;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.inventory-mrp-conversion-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
  min-width: 0;
}

.inventory-mrp-conversion-lane {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 0.55rem;
  min-width: 0;
  padding: 0.7rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 52%, white);
}

.inventory-mrp-conversion-body {
  display: grid;
  gap: 0.16rem;
  min-width: 0;
}

.inventory-mrp-conversion-body strong,
.inventory-mrp-conversion-body span,
.inventory-mrp-conversion-body p {
  min-width: 0;
  overflow-wrap: anywhere;
}

.inventory-mrp-conversion-body strong {
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.25;
}

.inventory-mrp-conversion-body span,
.inventory-mrp-conversion-body p {
  color: var(--admin-muted);
  font-size: 0.82rem;
  line-height: 1.4;
}

.inventory-mrp-conversion-body p {
  margin: 0.2rem 0 0;
}

.inventory-mrp-conversion-actions {
  display: flex;
  justify-content: flex-start;
}

.inventory-mrp-purchase-grouping {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
  padding-top: 0.85rem;
  border-top: 1px solid var(--admin-border);
}

.inventory-mrp-purchase-grouping .inventory-panel-head h3 {
  margin: 0.25rem 0 0;
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.25;
}

.inventory-mrp-purchase-grouping .inventory-panel-head p,
.inventory-mrp-purchase-grouping .inventory-panel-head strong {
  display: block;
  max-width: 72ch;
  margin: 0.2rem 0 0;
  font-size: 0.84rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.inventory-mrp-purchase-grouping .inventory-panel-head p {
  color: var(--admin-muted);
}

.inventory-mrp-purchase-grouping .inventory-panel-head strong {
  color: var(--admin-text);
  font-weight: 700;
}

.inventory-mrp-purchase-group-list {
  display: grid;
  gap: 0.62rem;
  min-width: 0;
}

.inventory-mrp-purchase-group {
  display: grid;
  grid-template-columns: minmax(11rem, 1fr) minmax(0, 1.45fr) minmax(9rem, 0.8fr);
  gap: 0.7rem;
  align-items: start;
  min-width: 0;
  padding: 0.72rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 52%, white);
}

.inventory-mrp-purchase-group > div,
.inventory-mrp-purchase-group dl,
.inventory-mrp-purchase-group small {
  min-width: 0;
}

.inventory-mrp-purchase-group strong {
  display: block;
  color: var(--admin-text);
  font-size: 0.94rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.inventory-mrp-purchase-group p {
  margin: 0.18rem 0 0;
  color: var(--admin-muted);
  font-size: 0.8rem;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.inventory-mrp-supplier-pill {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  min-height: 1.65rem;
  margin-top: 0.45rem;
  padding: 0.2rem 0.55rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 28%, var(--admin-border));
  border-radius: 999px;
  color: var(--admin-text);
  background: color-mix(in oklab, var(--admin-primary) 8%, var(--admin-bg));
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.inventory-mrp-purchase-group dl {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.45rem;
  margin: 0;
}

.inventory-mrp-purchase-group dt {
  margin: 0 0 0.1rem;
  color: var(--admin-muted);
  font-size: 0.72rem;
  font-weight: 700;
}

.inventory-mrp-purchase-group dd {
  margin: 0;
  color: var(--admin-text);
  font-size: 0.84rem;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.inventory-mrp-purchase-group > small {
  color: var(--admin-muted);
  font-size: 0.78rem;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.purchase-draft-batch-control {
  grid-template-columns: minmax(0, 1fr) minmax(24rem, 1.1fr);
}

.purchase-draft-batch-form {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(18rem, 1fr) auto;
  align-items: end;
  gap: 0.65rem;
  padding-top: 0.7rem;
  border-top: 1px solid var(--admin-border);
}

.purchase-draft-batch-form .form-control {
  min-height: 2.75rem;
}

.purchase-draft-batch-form .btn {
  min-height: 2.75rem;
}

.inventory-purchase-drafts-page .inventory-mrp-purchase-group {
  display: block;
}

.inventory-mrp-purchase-group-head {
  display: grid;
  grid-template-columns: minmax(12rem, 1fr) minmax(18rem, 1.35fr) auto;
  align-items: center;
  gap: 0.75rem;
}

.inventory-mrp-purchase-group-head h3 {
  margin: 0.28rem 0 0;
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.25;
}

.inventory-mrp-purchase-group-head dl {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.inventory-mrp-purchase-group .admin-table-shell {
  margin-top: 0.7rem;
}

.purchase-draft-group-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.4rem;
}

.inventory-mrp-purchase-readiness {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
  padding-top: 0.85rem;
  border-top: 1px solid var(--admin-border);
}

.inventory-mrp-purchase-readiness .inventory-panel-head h3 {
  margin: 0.25rem 0 0;
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.25;
}

.inventory-mrp-purchase-readiness .inventory-panel-head p,
.inventory-mrp-purchase-readiness .inventory-panel-head strong {
  display: block;
  max-width: 72ch;
  margin: 0.2rem 0 0;
  font-size: 0.84rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.inventory-mrp-purchase-readiness .inventory-panel-head p {
  color: var(--admin-muted);
}

.inventory-mrp-purchase-readiness .inventory-panel-head strong {
  color: var(--admin-text);
  font-weight: 700;
}

.inventory-mrp-purchase-readiness-gates {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
  gap: 0.62rem;
  min-width: 0;
}

.inventory-mrp-purchase-readiness-gates article {
  display: grid;
  gap: 0.32rem;
  min-width: 0;
  padding: 0.72rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 52%, white);
}

.inventory-mrp-purchase-readiness-gates article.is-danger {
  border-color: color-mix(in oklab, #dc2626 34%, var(--admin-border));
  background: color-mix(in oklab, #fee2e2 34%, var(--admin-surface));
}

.inventory-mrp-purchase-readiness-gates article.is-warning {
  border-color: color-mix(in oklab, #d97706 32%, var(--admin-border));
  background: color-mix(in oklab, #fef3c7 34%, var(--admin-surface));
}

.inventory-mrp-purchase-readiness-gates article.is-ready {
  border-color: color-mix(in oklab, #16a34a 30%, var(--admin-border));
  background: color-mix(in oklab, #dcfce7 26%, var(--admin-surface));
}

.inventory-mrp-purchase-readiness-gates span {
  color: var(--admin-muted);
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1.2;
}

.inventory-mrp-purchase-readiness-gates strong {
  color: var(--admin-text);
  font-size: 0.92rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.inventory-mrp-purchase-readiness-gates p,
.inventory-mrp-purchase-readiness-gates small {
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.78rem;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.inventory-mrp-selection {
  display: grid;
  gap: 0.65rem;
  min-width: 0;
}

.inventory-mrp-selection-panel {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  min-width: 0;
  padding: 0.75rem 0.8rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.inventory-mrp-selection-panel div {
  min-width: 0;
}

.inventory-mrp-selection-panel h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.25;
}

.inventory-mrp-selection-panel p {
  max-width: 72ch;
  margin: 0.18rem 0 0;
  color: var(--admin-muted);
  font-size: 0.84rem;
  line-height: 1.45;
}

.inventory-mrp-selection-actions {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.45rem;
}

.inventory-mrp-order-preview {
  display: grid;
  gap: 1rem;
  margin-top: 1rem;
  padding: 1rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.inventory-mrp-order-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.6rem;
}

.inventory-mrp-order-summary > div {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius-sm);
  background: var(--admin-bg);
}

.inventory-mrp-order-summary span,
.inventory-mrp-order-group-head p {
  color: var(--admin-muted);
  font-size: 0.82rem;
}

.inventory-mrp-order-summary strong {
  color: var(--admin-text);
  font-size: 1.05rem;
  font-variant-numeric: tabular-nums;
}

.inventory-mrp-order-group {
  min-width: 0;
  border-top: 1px solid var(--admin-border);
  padding-top: 0.9rem;
}

.inventory-mrp-order-group-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.6rem;
}

.inventory-mrp-order-group-head h3,
.inventory-mrp-order-group-head p {
  margin: 0;
}

.inventory-mrp-order-group-head h3 {
  color: var(--admin-text);
  font-size: 1rem;
}

.inventory-mrp-order-group-head > strong {
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.inventory-mrp-order-confirmation {
  display: grid;
  gap: 0.9rem;
  border-top: 1px solid var(--admin-border);
  padding-top: 1rem;
}

.inventory-mrp-exchange-fieldset {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 0;
  padding: 0.8rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius-sm);
}

.inventory-mrp-exchange-fieldset legend {
  float: none;
  width: auto;
  margin: 0 0 0.35rem;
  padding: 0 0.2rem;
  color: var(--admin-text);
  font-size: 0.92rem;
  font-weight: 700;
}

.inventory-mrp-production-warehouses {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.8rem;
  margin: 0;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius-sm);
  background: var(--admin-surface-muted);
}

.inventory-mrp-production-warehouses legend {
  float: none;
  width: auto;
  margin: 0 0 0.35rem;
  padding: 0 0.2rem;
  color: var(--admin-text);
  font-size: 0.92rem;
  font-weight: 700;
}

.inventory-mrp-production-table td,
.inventory-mrp-production-table th {
  font-variant-numeric: tabular-nums;
}

.inventory-mrp-confirm-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 1rem;
}

.inventory-mrp-confirm-grid .btn {
  min-height: 44px;
}

.inventory-status-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 1.55rem;
  padding: 0.16rem 0.5rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 62%, white);
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
}

.inventory-status-badge.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 35%, var(--admin-border));
  color: color-mix(in oklab, var(--admin-success) 58%, var(--admin-text));
  background: color-mix(in oklab, var(--admin-success) 8%, var(--admin-surface));
}

.inventory-status-badge.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 40%, var(--admin-border));
  color: color-mix(in oklab, var(--admin-warning) 54%, var(--admin-text));
  background: color-mix(in oklab, var(--admin-warning) 9%, var(--admin-surface));
}

.inventory-status-badge.is-info {
  border-color: color-mix(in oklab, var(--admin-primary) 32%, var(--admin-border));
  color: color-mix(in oklab, var(--admin-primary) 58%, var(--admin-text));
  background: color-mix(in oklab, var(--admin-primary) 7%, var(--admin-surface));
}

.inventory-status-badge.is-danger {
  border-color: color-mix(in oklab, var(--admin-danger) 38%, var(--admin-border));
  color: color-mix(in oklab, var(--admin-danger) 62%, var(--admin-text));
  background: color-mix(in oklab, var(--admin-danger) 7%, var(--admin-surface));
}

.inventory-status-badge.is-muted {
  border-color: var(--admin-border);
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 70%, white);
}

.inventory-create-panel,
.inventory-panel {
  min-width: 0;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.inventory-panel {
  display: grid;
  gap: 0.7rem;
}

.inventory-operation-page {
  gap: 0.9rem;
}

.inventory-operation-form {
  display: grid;
  gap: 0.75rem;
}

.inventory-operation-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.36fr);
  gap: 0.9rem;
  align-items: start;
}

.inventory-operation-sections {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
}

.inventory-operation-section,
.inventory-operation-readiness {
  min-width: 0;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.inventory-operation-section-head,
.inventory-operation-readiness-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

.inventory-operation-section-head h2,
.inventory-operation-readiness-head h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1.05rem;
  line-height: 1.25;
}

.inventory-operation-section-head p,
.inventory-operation-readiness-head span,
.inventory-operation-readiness-item span {
  margin: 0.18rem 0 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.45;
}

.inventory-operation-readiness {
  position: sticky;
  top: 5rem;
}

.inventory-operation-readiness-list {
  display: grid;
  gap: 0.55rem;
}

.inventory-operation-readiness-item {
  padding: 0.62rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 58%, white);
}

.inventory-operation-readiness-item.is-ready {
  border-color: #bbf7d0;
  background: #f0fdf4;
}

.inventory-operation-readiness-item.is-missing {
  border-color: #fed7aa;
  background: #fff7ed;
}

.inventory-operation-readiness-item strong {
  display: block;
  color: var(--admin-text);
  font-size: 0.9rem;
}

.inventory-operation-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.8rem;
}

@media (max-width: 767.98px) {
  .admin-bulk-print-status {
    grid-template-columns: 1fr;
  }

  .admin-bulk-print-status-metrics {
    justify-content: flex-start;
  }

  .inventory-operation-layout {
    grid-template-columns: 1fr;
  }

  .inventory-operation-readiness {
    position: static;
    order: -1;
  }

  .inventory-operation-section-head,
  .inventory-operation-readiness-head {
    flex-direction: column;
  }

  .inventory-operation-actions .btn {
    width: 100%;
  }
}

.inventory-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.8rem;
}

.inventory-panel-head h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.25;
}

.inventory-panel-head p {
  max-width: 72ch;
  margin: 0.25rem 0 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.5;
}

.inventory-panel-head > span {
  flex: 0 0 auto;
  padding: 0.18rem 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 70%, white);
  font-size: 0.76rem;
  font-weight: 700;
}

.inventory-result-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  color: var(--admin-muted);
  background: var(--admin-surface);
  font-size: 0.88rem;
}

.inventory-approval-history-row > td {
  padding: 0.35rem 0.75rem 0.75rem;
  background: color-mix(in oklab, var(--admin-bg) 72%, var(--admin-surface));
}

.inventory-approval-history {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem 0.75rem;
  min-width: 0;
  padding-left: 0.55rem;
  border-left: 3px solid color-mix(in oklab, var(--admin-primary) 45%, var(--admin-border));
}

.inventory-approval-history .small {
  overflow-wrap: anywhere;
}

.inventory-valuation-panel {
  display: grid;
  gap: 0.75rem;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.inventory-readiness-panel {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(16rem, 0.8fr) auto;
  align-items: center;
  gap: 0.9rem;
  padding: 0.95rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.inventory-readiness-panel.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 32%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-success) 8%, var(--admin-surface));
}

.inventory-readiness-panel.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 34%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-warning) 8%, var(--admin-surface));
}

.inventory-readiness-panel.is-danger {
  border-color: color-mix(in oklab, var(--admin-danger) 34%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-danger) 7%, var(--admin-surface));
}

.inventory-readiness-label {
  display: inline-flex;
  margin-bottom: 0.18rem;
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 720;
}

.inventory-readiness-copy h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1.18rem;
  line-height: 1.2;
}

.inventory-readiness-copy p {
  margin: 0.28rem 0 0;
  max-width: 74ch;
  color: var(--admin-muted);
  font-size: 0.92rem;
  line-height: 1.42;
}

.inventory-readiness-action {
  color: var(--admin-text) !important;
  font-weight: 650;
}

.inventory-readiness-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 0.42rem;
}

.inventory-readiness-metrics span {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  padding: 0.24rem 0.55rem;
  border: 1px solid color-mix(in oklab, var(--admin-border) 82%, transparent);
  border-radius: 999px;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-surface) 86%, white);
  font-size: 0.8rem;
  font-weight: 650;
  line-height: 1.2;
}

.inventory-readiness-metrics strong {
  margin-right: 0.28rem;
  color: var(--admin-text);
  font-variant-numeric: tabular-nums;
}

.inventory-readiness-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.45rem;
}

@media (max-width: 991.98px) {
  .inventory-readiness-panel {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .inventory-readiness-actions {
    justify-content: flex-start;
  }
}

.inventory-valuation-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
}

.inventory-valuation-head h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1.05rem;
  line-height: 1.25;
}

.inventory-valuation-head p,
.inventory-valuation-empty {
  margin: 0.3rem 0 0;
  max-width: 72ch;
  color: var(--admin-muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

.inventory-valuation-kpis {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.45rem;
}

.inventory-valuation-kpis span,
.inventory-valuation-method {
  display: inline-flex;
  align-items: center;
  min-height: 1.8rem;
  width: fit-content;
  padding: 0.22rem 0.55rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 18%, var(--admin-border));
  border-radius: 999px;
  color: var(--admin-primary-dark);
  background: var(--admin-primary-soft);
  font-size: 0.8rem;
  font-weight: 650;
  line-height: 1.2;
}

.inventory-valuation-kpis strong {
  margin-right: 0.25rem;
  color: var(--admin-text);
  font-variant-numeric: tabular-nums;
}

.inventory-closing-controlled {
  border-color: color-mix(in oklab, var(--admin-primary) 24%, var(--admin-border));
}

.inventory-closing-controlled .badge {
  flex: 0 0 auto;
  font-size: 0.8rem;
}

.inventory-closing-control-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  border-block: 1px solid var(--admin-border);
}

.inventory-closing-control-summary > div {
  min-width: 0;
  padding: 0.7rem 0.8rem;
  border-right: 1px solid var(--admin-border);
}

.inventory-closing-control-summary > div:last-child {
  border-right: 0;
}

.inventory-closing-control-summary dt,
.inventory-closing-control-summary dd {
  margin: 0;
}

.inventory-closing-control-summary dt {
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.inventory-closing-control-summary dd {
  margin-top: 0.15rem;
  color: var(--admin-text);
  font-size: 1rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

.inventory-closing-confirmation {
  display: grid;
  grid-template-columns: minmax(15rem, 28rem) auto;
  align-items: end;
  gap: 0.75rem;
  padding-top: 0.2rem;
}

.inventory-closing-confirmation .btn,
.inventory-closing-links .btn {
  min-height: 44px;
}

.inventory-closing-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

@media (max-width: 767.98px) {
  .inventory-closing-control-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .inventory-closing-control-summary > div:nth-child(2) {
    border-right: 0;
  }

  .inventory-closing-control-summary > div:nth-child(-n + 2) {
    border-bottom: 1px solid var(--admin-border);
  }

  .inventory-closing-confirmation {
    grid-template-columns: 1fr;
  }

  .inventory-closing-confirmation .btn,
  .inventory-closing-links .btn {
    width: 100%;
  }
}

.inventory-valuation-table {
  min-width: 66rem;
}

.inventory-valuation-table td[data-label="Azione"] {
  max-width: 22rem;
  color: var(--admin-muted);
  font-size: 0.86rem;
  line-height: 1.35;
}

.inventory-table {
  min-width: 54rem;
}

.inventory-count-lot-dates {
  display: grid;
  grid-template-columns: auto minmax(7.5rem, 1fr);
  align-items: center;
  gap: 0.3rem 0.45rem;
}

.inventory-count-lot-dates[hidden] {
  display: none;
}

.inventory-count-lot-dates label {
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.75rem;
  font-weight: 650;
}

.inventory-balances-table,
.inventory-movements-table,
.inventory-material-table,
.inventory-reorder-table,
.inventory-count-lines-table,
.inventory-count-detail-table,
.inventory-count-sessions-table,
.inventory-traceability-table {
  min-width: 74rem;
}

.inventory-linked-documents-panel {
  display: grid;
  gap: 0.75rem;
}

.inventory-linked-documents-table {
  min-width: 58rem;
}

.inventory-linked-documents-table td[data-label="Riferimento"] strong {
  overflow-wrap: anywhere;
}

.inventory-linked-documents-table td[data-label="Movimenti"],
.inventory-linked-documents-table td[data-label="Quantita movimentata"] {
  font-variant-numeric: tabular-nums;
}

.inventory-genealogy-panel {
  display: grid;
  gap: 0.75rem;
}

.inventory-genealogy {
  display: grid;
  gap: 0.65rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.inventory-genealogy-step {
  display: grid;
  grid-template-columns: 1.25rem minmax(0, 1fr);
  gap: 0.65rem;
  min-width: 0;
}

.inventory-genealogy-marker {
  position: relative;
  width: 0.72rem;
  height: 0.72rem;
  margin-top: 0.88rem;
  border: 2px solid color-mix(in oklab, var(--admin-primary) 46%, var(--admin-border));
  border-radius: 999px;
  background: var(--admin-surface);
}

.inventory-genealogy-step:not(:last-child) .inventory-genealogy-marker::after {
  content: "";
  position: absolute;
  top: 0.7rem;
  left: 50%;
  width: 1px;
  height: calc(100% + 4.15rem);
  background: var(--admin-border);
  transform: translateX(-50%);
}

.inventory-genealogy-body {
  min-width: 0;
  padding: 0.68rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.55rem;
  background: color-mix(in oklab, var(--admin-bg) 42%, var(--admin-surface));
}

.inventory-genealogy-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.55rem;
}

.inventory-genealogy-head h3 {
  margin: 0;
  color: var(--admin-text);
  font-size: 0.95rem;
  line-height: 1.25;
}

.inventory-genealogy-head p {
  max-width: 72ch;
  margin: 0.2rem 0 0;
  color: var(--admin-muted);
  font-size: 0.84rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.inventory-genealogy-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.45rem;
  margin: 0.65rem 0 0;
}

.inventory-genealogy-meta div {
  min-width: 0;
}

.inventory-genealogy-meta dt,
.inventory-genealogy-meta dd {
  margin: 0;
}

.inventory-genealogy-meta dt {
  color: var(--admin-muted);
  font-size: 0.75rem;
  font-weight: 700;
}

.inventory-genealogy-meta dd {
  margin-top: 0.08rem;
  color: var(--admin-text);
  font-size: 0.88rem;
  font-weight: 650;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

.inventory-genealogy-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.45rem;
  margin-top: 0.65rem;
}

.inventory-production-flows {
  display: grid;
  gap: 0.85rem;
  margin-bottom: 0.85rem;
}

.inventory-production-flow {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(11rem, 0.56fr) minmax(0, 1fr);
  gap: 1.75rem;
  align-items: center;
  padding: 0.85rem;
  border-block: 1px solid var(--admin-border);
  background: color-mix(in oklab, var(--admin-bg) 38%, var(--admin-surface));
}

.inventory-production-flow-column,
.inventory-production-flow-nodes {
  display: grid;
  gap: 0.5rem;
  min-width: 0;
}

.inventory-production-flow-column h3 {
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 750;
  text-transform: uppercase;
}

.inventory-production-flow-node,
.inventory-production-flow-order {
  min-width: 0;
  padding: 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.45rem;
  background: var(--admin-surface);
}

.inventory-production-flow-node {
  display: grid;
  gap: 0.12rem;
  color: var(--admin-text);
  text-decoration: none;
}

.inventory-production-flow-node:hover,
.inventory-production-flow-node:focus-visible {
  border-color: color-mix(in oklab, var(--admin-primary) 48%, var(--admin-border));
  color: var(--admin-text);
}

.inventory-production-flow-node span,
.inventory-production-flow-node small,
.inventory-production-flow-order span,
.inventory-production-flow-order small {
  color: var(--admin-muted);
  overflow-wrap: anywhere;
}

.inventory-production-flow-node strong,
.inventory-production-flow-order a {
  overflow-wrap: anywhere;
}

.inventory-production-flow-order {
  position: relative;
  display: grid;
  gap: 0.2rem;
  text-align: center;
  border-color: color-mix(in oklab, var(--admin-primary) 38%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-primary-soft) 48%, var(--admin-surface));
}

.inventory-production-flow-order::before,
.inventory-production-flow-order::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 1.75rem;
  height: 2px;
  background: color-mix(in oklab, var(--admin-primary) 42%, var(--admin-border));
}

.inventory-production-flow-order::before {
  right: 100%;
}

.inventory-production-flow-order::after {
  left: 100%;
}

.inventory-production-flow-order a {
  font-size: 1rem;
  font-weight: 750;
}

.inventory-table td {
  vertical-align: middle;
}

.inventory-table .admin-actions {
  justify-content: flex-end;
}

.inventory-movements-table td[data-label="Azioni"] form {
  min-width: 9rem;
}

.production-orders-page {
  gap: 0.9rem;
}

.production-order-detail-page {
  gap: 0.9rem;
}

.production-order-form-page {
  gap: 0.9rem;
}

.production-order-form {
  display: grid;
  gap: 0.9rem;
}

.production-order-form-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(16rem, 21rem);
  gap: 0.9rem;
  align-items: start;
}

.production-order-form-main {
  display: grid;
  gap: 0.9rem;
  min-width: 0;
}

.production-filter {
  display: grid;
  gap: 0.85rem;
}

.production-filter .admin-filter-grid {
  margin-right: 0;
  margin-left: 0;
}

.production-filter-head,
.production-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
}

.production-filter-head h2,
.production-panel-head h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.25;
}

.production-filter-head p,
.production-panel-head p {
  max-width: 74ch;
  margin: 0.25rem 0 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.5;
}

.production-filter-head > span,
.production-panel-head > span {
  flex: 0 0 auto;
  padding: 0.18rem 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 70%, white);
  font-size: 0.76rem;
  font-weight: 700;
  white-space: nowrap;
}

.production-summary-grid {
  grid-template-columns: repeat(auto-fit, minmax(10.75rem, 1fr));
}

.production-order-detail-summary {
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
}

.production-summary-grid-compact {
  margin-bottom: 0.25rem;
}

.production-summary-note {
  margin: 0.15rem 0 0.35rem;
  font-size: 0.82rem;
  line-height: 1.35;
}

.production-panel {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
  max-width: 100%;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.production-panel > .small.text-muted {
  margin-top: -0.2rem;
  line-height: 1.45;
}

.production-capacity-control {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(16rem, 25rem) auto;
  gap: 0.85rem;
  align-items: center;
  min-width: 0;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.production-capacity-control-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.production-capacity-control h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.25;
}

.production-capacity-control p {
  max-width: 74ch;
  margin: 0.25rem 0 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.45;
}

.production-capacity-status {
  display: inline-flex;
  align-items: center;
  min-height: 1.55rem;
  padding: 0.16rem 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 68%, white);
  font-size: 0.76rem;
  font-weight: 700;
  white-space: nowrap;
}

.production-capacity-status.is-ready {
  color: #166534;
  border-color: #bbf7d0;
  background: #dcfce7;
}

.production-capacity-status.is-warning {
  color: #854d0e;
  border-color: #fde68a;
  background: #fef9c3;
}

.production-capacity-status.is-danger {
  color: #991b1b;
  border-color: #fecaca;
  background: #fee2e2;
}

.production-capacity-status.is-muted {
  color: var(--admin-muted);
  border-color: var(--admin-border);
  background: color-mix(in oklab, var(--admin-bg) 70%, white);
}

.production-capacity-control-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.4rem;
}

.production-capacity-control-metrics span {
  min-width: 0;
  padding: 0.4rem 0.5rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 62%, white);
  font-size: 0.82rem;
  line-height: 1.25;
}

.production-capacity-control-metrics strong {
  color: var(--admin-text);
  font-variant-numeric: tabular-nums;
}

.production-mrp-capacity-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.5rem;
  margin: 0;
}

.production-mrp-capacity-grid > div {
  min-width: 0;
  padding: 0.55rem 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 60%, white);
}

.production-mrp-capacity-grid dt {
  margin: 0 0 0.2rem;
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.production-mrp-capacity-grid dd {
  margin: 0;
  color: var(--admin-text);
  font-size: 1rem;
  font-weight: 750;
  font-variant-numeric: tabular-nums;
}

.production-mrp-capacity-grid small {
  display: block;
  margin-top: 0.18rem;
  color: var(--admin-muted);
  line-height: 1.3;
}

.production-capacity-control-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.5rem;
}

.production-phase-control {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(18rem, 1fr) auto;
  gap: 0.85rem;
  align-items: stretch;
  min-width: 0;
  padding: 0.9rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 22%, var(--admin-border));
  border-radius: var(--admin-radius);
  background: color-mix(in oklab, var(--admin-primary) 4%, var(--admin-surface));
}

.production-phase-control-main,
.production-phase-control-actions {
  min-width: 0;
}

.production-phase-control-main h2 {
  margin: 0.35rem 0 0.2rem;
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.25;
}

.production-phase-control-main p {
  max-width: 74ch;
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.45;
}

.production-phase-control-next {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
  margin-top: 0.55rem;
  padding: 0.58rem 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: var(--admin-surface);
}

.production-phase-control-next strong {
  color: var(--admin-text);
  font-size: 0.86rem;
  overflow-wrap: anywhere;
}

.production-phase-control-next span {
  color: var(--admin-muted);
  font-size: 0.84rem;
  line-height: 1.38;
  overflow-wrap: anywhere;
}

.production-phase-control-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.45rem;
  min-width: 0;
  margin: 0;
}

.production-phase-control-metrics div {
  min-width: 0;
  padding: 0.52rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: var(--admin-surface);
}

.production-phase-control-metrics dt,
.production-phase-control-metrics dd {
  min-width: 0;
  margin: 0;
}

.production-phase-control-metrics dt {
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.production-phase-control-metrics dd {
  margin-top: 0.1rem;
  color: var(--admin-text);
  font-size: 1rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.production-phase-control-metrics small {
  display: block;
  margin-top: 0.18rem;
  color: var(--admin-muted);
  font-size: 0.78rem;
  line-height: 1.35;
}

.production-phase-control-actions {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  justify-content: center;
}

.production-scheduling-queue {
  display: grid;
  gap: 0.8rem;
  min-width: 0;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: color-mix(in oklab, var(--admin-bg) 48%, white);
}

.production-scheduling-queue.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 24%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-success) 5%, white);
}

.production-scheduling-queue.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 32%, var(--admin-border));
  background: #fffbeb;
}

.production-scheduling-queue.is-danger {
  border-color: color-mix(in oklab, var(--admin-danger) 30%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-danger) 5%, white);
}

.production-scheduling-queue.is-muted {
  background: color-mix(in oklab, var(--admin-muted) 4%, var(--admin-surface));
}

.production-scheduling-queue-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
  min-width: 0;
}

.production-scheduling-queue-head h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.25;
}

.production-scheduling-queue-head p,
.production-scheduling-queue-action {
  max-width: 78ch;
  margin: 0.25rem 0 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.45;
}

.production-scheduling-queue-head > span {
  flex: 0 0 auto;
  padding: 0.22rem 0.6rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-text);
  background: var(--admin-surface);
  font-size: 0.78rem;
  font-weight: 750;
  white-space: nowrap;
}

.production-scheduling-queue-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.6rem;
}

.production-scheduling-queue-metrics > div {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
  padding: 0.62rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.55rem;
  background: var(--admin-surface);
}

.production-scheduling-queue-metrics span,
.production-scheduling-queue-metrics small {
  color: var(--admin-muted);
  font-size: 0.78rem;
  line-height: 1.3;
}

.production-scheduling-queue-metrics strong {
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.25;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

.production-scheduling-queue-list {
  display: grid;
  gap: 0.55rem;
}

.production-scheduling-queue-list article {
  display: grid;
  grid-template-columns: minmax(12rem, 1fr) minmax(15rem, 1.15fr) minmax(10rem, auto) minmax(12rem, 1fr);
  gap: 0.6rem;
  align-items: center;
  min-width: 0;
  padding: 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.55rem;
  background: var(--admin-surface);
}

.production-scheduling-queue-list article > div,
.production-scheduling-queue-list article > p {
  min-width: 0;
}

.production-scheduling-queue-list strong {
  display: block;
  color: var(--admin-text);
  font-size: 0.88rem;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.production-scheduling-queue-list span,
.production-scheduling-queue-list p,
.production-scheduling-queue-list dt {
  color: var(--admin-muted);
  font-size: 0.8rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.production-scheduling-queue-list p {
  margin: 0;
}

.production-scheduling-queue-list dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.45rem;
  min-width: 0;
  margin: 0;
}

.production-scheduling-queue-list dt,
.production-scheduling-queue-list dd {
  margin: 0;
}

.production-scheduling-queue-list dd {
  color: var(--admin-text);
  font-size: 0.82rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.production-scheduling-queue-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.production-scheduling-queue-tags span {
  padding: 0.16rem 0.45rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  background: color-mix(in oklab, var(--admin-bg) 62%, white);
  color: var(--admin-text);
  font-size: 0.75rem;
  font-weight: 700;
  white-space: nowrap;
}

.production-scheduling-queue-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.production-work-progress {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(16rem, 24rem);
  gap: 0.75rem;
  align-items: start;
  min-width: 0;
  padding: 0.9rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 18%, var(--admin-border));
  border-radius: var(--admin-radius);
  background: color-mix(in oklab, var(--admin-primary-soft) 36%, var(--admin-surface));
}

.production-work-progress-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  min-width: 0;
}

.production-work-progress h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.25;
}

.production-work-progress p {
  max-width: 74ch;
  margin: 0.25rem 0 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.45;
}

.production-work-progress-status {
  display: inline-flex;
  align-items: center;
  min-height: 1.55rem;
  padding: 0.16rem 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 68%, white);
  font-size: 0.76rem;
  font-weight: 700;
  white-space: nowrap;
}

.production-work-progress-status.is-ready {
  color: #166534;
  border-color: #bbf7d0;
  background: #dcfce7;
}

.production-work-progress-status.is-warning {
  color: #854d0e;
  border-color: #fde68a;
  background: #fef9c3;
}

.production-work-progress-status.is-danger {
  color: #991b1b;
  border-color: #fecaca;
  background: #fee2e2;
}

.production-work-progress-status.is-muted {
  color: var(--admin-muted);
  border-color: var(--admin-border);
  background: color-mix(in oklab, var(--admin-bg) 70%, white);
}

.production-work-progress-next {
  grid-column: 1 / -1;
  display: grid;
  gap: 0.25rem;
  min-width: 0;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: var(--admin-surface);
}

.production-work-progress-next strong {
  color: var(--admin-text);
  font-size: 0.86rem;
}

.production-work-progress-next span {
  color: var(--admin-muted);
  font-size: 0.86rem;
  line-height: 1.42;
}

.production-work-progress-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(7.25rem, 1fr));
  gap: 0.45rem;
  min-width: 0;
}

.production-work-progress-metrics div {
  min-width: 0;
  padding: 0.58rem 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: var(--admin-surface);
}

.production-work-progress-metrics span {
  display: block;
  color: var(--admin-muted);
  font-size: 0.76rem;
  font-weight: 650;
  line-height: 1.25;
}

.production-work-progress-metrics strong {
  display: block;
  margin-top: 0.2rem;
  color: var(--admin-text);
  font-size: 1rem;
}

.production-work-progress-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.45rem;
}

.production-traceability-panel {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
  padding: 0.9rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 16%, var(--admin-border));
  border-radius: var(--admin-radius);
  background: color-mix(in oklab, var(--admin-bg) 56%, var(--admin-surface));
}

.production-traceability-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  min-width: 0;
}

.production-traceability-head h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.25;
}

.production-traceability-head p {
  max-width: 74ch;
  margin: 0.25rem 0 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.45;
}

.production-traceability-head > span {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  min-height: 1.55rem;
  padding: 0.16rem 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 68%, white);
  font-size: 0.76rem;
  font-weight: 700;
  white-space: nowrap;
}

.production-traceability-head > span.is-ready {
  color: #166534;
  border-color: #bbf7d0;
  background: #dcfce7;
}

.production-traceability-head > span.is-warning {
  color: #854d0e;
  border-color: #fde68a;
  background: #fef9c3;
}

.production-traceability-head > span.is-muted {
  color: var(--admin-muted);
  border-color: var(--admin-border);
  background: color-mix(in oklab, var(--admin-bg) 70%, white);
}

.production-traceability-next {
  display: grid;
  gap: 0.25rem;
  min-width: 0;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: var(--admin-surface);
}

.production-traceability-next strong {
  color: var(--admin-text);
  font-size: 0.86rem;
}

.production-traceability-next span {
  color: var(--admin-muted);
  font-size: 0.86rem;
  line-height: 1.42;
}

.production-traceability-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));
  gap: 0.45rem;
  min-width: 0;
}

.production-traceability-metrics div {
  min-width: 0;
  padding: 0.58rem 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: var(--admin-surface);
}

.production-traceability-metrics span,
.production-traceability-metrics small {
  display: block;
  color: var(--admin-muted);
  font-size: 0.76rem;
  font-weight: 650;
  line-height: 1.25;
}

.production-traceability-metrics strong {
  display: block;
  margin-top: 0.2rem;
  color: var(--admin-text);
  font-size: 1rem;
}

.production-traceability-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.45rem;
}

.production-traceability-table {
  min-width: 56rem;
}

.production-scrap-table {
  min-width: 72rem;
}

.production-scrap-workflow-row > td {
  padding: 0 !important;
  background: color-mix(in oklab, var(--admin-bg) 55%, var(--admin-surface));
}

.production-scrap-workflow {
  padding: 0.75rem 0.85rem 0.9rem;
}

.production-scrap-action-history {
  display: grid;
  gap: 0.35rem;
  margin-bottom: 0.65rem;
}

.production-scrap-action-line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem 0.75rem;
  min-height: 38px;
  padding-block: 0.25rem;
  border-bottom: 1px solid var(--admin-border);
  color: var(--admin-muted);
  font-size: 0.84rem;
}

.production-scrap-action-line strong {
  color: var(--admin-text);
}

.production-scrap-disposition > summary {
  width: fit-content;
  min-height: 44px;
  padding: 0.65rem 0;
  color: var(--admin-primary-dark);
  font-weight: 720;
  cursor: pointer;
}

.production-scrap-disposition-form {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
  gap: 0.75rem;
  padding-top: 0.5rem;
}

.production-scrap-disposition-form > * {
  min-width: 0;
}

.production-scrap-disposition-notes,
.production-scrap-disposition-confirmation,
.production-scrap-disposition-submit,
.production-scrap-disposition-form > .text-danger {
  grid-column: 1 / -1;
}

.production-scrap-disposition-submit {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding-top: 0.25rem;
}

.production-scrap-disposition-submit p {
  max-width: 70ch;
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.84rem;
}

@media (max-width: 767.98px) {
  .production-scrap-workflow-row > td {
    display: block !important;
    padding: 0 !important;
  }

  .production-scrap-workflow-row > td::before {
    display: none !important;
  }

  .production-scrap-workflow {
    padding: 0.75rem;
  }

  .production-scrap-disposition-form {
    grid-template-columns: minmax(0, 1fr);
  }

  .production-scrap-disposition-submit {
    align-items: stretch;
    flex-direction: column;
  }

  .production-scrap-disposition-submit .btn {
    width: 100%;
  }
}

.production-table-shell {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overscroll-behavior-inline: contain;
}

.production-capacity-table,
.production-phase-actions-table,
.production-phase-table,
.production-item-variance-table,
.production-orders-table {
  min-width: 72rem;
}

.production-phase-table {
  min-width: 104rem;
}

.production-order-meta {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
  gap: 0.65rem;
  margin: 0;
}

.production-order-meta > div {
  min-width: 0;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.55rem;
  background: color-mix(in oklab, var(--admin-bg) 62%, white);
}

.production-order-meta dt {
  margin-bottom: 0.15rem;
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.production-order-meta dd {
  min-width: 0;
  margin: 0;
  color: var(--admin-text);
  overflow-wrap: anywhere;
}

.production-order-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.production-order-actions form {
  margin: 0;
}

.production-completion-form {
  margin: 0;
}

.production-completion-tracking {
  display: grid;
  gap: 0.65rem;
  margin-top: 0.9rem;
  padding: 0.85rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 22%, var(--admin-border));
  border-radius: var(--admin-radius);
  background: color-mix(in oklab, var(--admin-primary-soft) 45%, var(--admin-surface));
}

.production-completion-locations {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(16rem, 24rem);
  gap: 1rem;
  align-items: end;
  margin-top: 0.9rem;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.production-scrap-details {
  display: grid;
  grid-template-columns: minmax(15rem, 1.25fr) repeat(2, minmax(11rem, 0.8fr)) minmax(14rem, 1fr);
  gap: 0.85rem;
  align-items: end;
  margin-top: 0.9rem;
  padding: 0.85rem;
  border: 1px solid color-mix(in oklab, var(--admin-warning) 32%, var(--admin-border));
  border-radius: var(--admin-radius);
  background: color-mix(in oklab, #fef3c7 28%, var(--admin-surface));
}

.production-scrap-details[hidden] {
  display: none;
}

.production-scrap-details h3 {
  margin: 0;
  color: var(--admin-text);
  font-weight: 700;
}

.production-scrap-details p {
  margin: 0.15rem 0 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
}

.production-scrap-analysis-page {
  display: grid;
  gap: 1.5rem;
}

.production-scrap-filter {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: end;
  gap: 0.85rem;
}

@media (min-width: 1600px) {
  .production-scrap-filter {
    grid-template-columns: repeat(2, minmax(9rem, 0.7fr)) minmax(14rem, 1.45fr) repeat(3, minmax(11rem, 1fr)) auto;
  }
}

.production-scrap-filter > div {
  min-width: 0;
}

.production-scrap-filter .form-label {
  margin-bottom: 0.35rem;
}

.production-scrap-filter .admin-filter-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 44px;
}

.production-scrap-summary {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.production-scrap-summary .admin-summary-card {
  display: grid;
  align-content: start;
  gap: 0.18rem;
  min-width: 0;
}

.production-scrap-summary strong {
  overflow-wrap: anywhere;
}

.production-scrap-summary small {
  color: var(--admin-muted);
  line-height: 1.35;
}

.production-scrap-section {
  min-width: 0;
  padding-top: 1.15rem;
  border-top: 1px solid var(--admin-border);
}

.production-scrap-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.9rem;
}

.production-scrap-section-head h2 {
  margin: 0;
  font-size: 1.25rem;
}

.production-scrap-section-head p {
  max-width: 52rem;
  margin: 0.25rem 0 0;
  color: var(--admin-muted);
}

.production-scrap-section-head > span {
  flex: 0 0 auto;
  color: var(--admin-muted);
  font-weight: 650;
}

.production-scrap-pareto {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}

.production-scrap-pareto > li {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  align-items: center;
  gap: 0.55rem 0.85rem;
  min-width: 0;
  padding: 0.9rem 0;
  border-bottom: 1px solid color-mix(in oklab, var(--admin-border) 72%, transparent);
}

.production-scrap-class {
  grid-row: 1 / 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border: 1px solid transparent;
  border-radius: 0.3rem;
  font-weight: 800;
}

.production-scrap-class.is-a {
  color: #991b1b;
  border-color: #fecaca;
  background: #fef2f2;
}

.production-scrap-class.is-b {
  color: #854d0e;
  border-color: #fde68a;
  background: #fffbeb;
}

.production-scrap-class.is-c {
  color: #334155;
  border-color: #cbd5e1;
  background: #f8fafc;
}

.production-scrap-pareto-main {
  grid-column: 2 / 4;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  min-width: 0;
}

.production-scrap-pareto-main > div {
  display: grid;
  min-width: 0;
}

.production-scrap-pareto-main a {
  width: fit-content;
  max-width: 100%;
  overflow-wrap: anywhere;
  font-weight: 700;
}

.production-scrap-pareto-main small,
.production-scrap-cumulative {
  color: var(--admin-muted);
}

.production-scrap-pareto-main strong {
  flex: 0 0 auto;
}

.production-scrap-bar {
  grid-column: 2;
  height: 0.55rem;
  overflow: hidden;
  border-radius: 0.25rem;
  background: color-mix(in oklab, var(--admin-border) 75%, var(--admin-bg));
}

.production-scrap-bar > span {
  display: block;
  height: 100%;
  max-width: 100%;
  border-radius: inherit;
  background: var(--admin-primary);
}

.production-scrap-cumulative {
  grid-column: 3;
  font-size: 0.875rem;
  white-space: nowrap;
}

.production-scrap-breakdowns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
  min-width: 0;
}

.production-scrap-breakdowns > :last-child {
  grid-column: 1 / -1;
}

.production-scrap-analysis-table,
.production-scrap-trend-table {
  margin-bottom: 0;
}

@media (min-width: 1600px) {
  .production-scrap-breakdowns {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .production-scrap-breakdowns > :last-child {
    grid-column: auto;
  }
}

@media (max-width: 1199.98px) {
  .production-scrap-filter {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .production-scrap-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .production-scrap-filter .admin-filter-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 767.98px) {
  .production-scrap-analysis-page {
    gap: 1.15rem;
  }

  .production-scrap-filter,
  .production-scrap-summary,
  .production-scrap-breakdowns {
    grid-template-columns: minmax(0, 1fr);
  }

  .production-scrap-filter .admin-filter-actions,
  .production-scrap-filter .admin-filter-actions .btn {
    width: 100%;
  }

  .production-scrap-section-head,
  .production-scrap-pareto-main {
    align-items: flex-start;
  }

  .production-scrap-pareto-main {
    flex-direction: column;
    gap: 0.25rem;
  }

  .production-scrap-pareto > li {
    grid-template-columns: 2.5rem minmax(0, 1fr);
  }

  .production-scrap-pareto-main,
  .production-scrap-bar,
  .production-scrap-cumulative {
    grid-column: 2;
  }

  .production-scrap-cumulative {
    white-space: normal;
  }
}

.production-completion-locations h3 {
  margin: 0;
  color: var(--admin-text);
  font-weight: 700;
}

.production-completion-locations p {
  max-width: 68ch;
  margin: 0.15rem 0 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
}

.production-completion-tracking h3 {
  margin: 0;
  color: var(--admin-text);
  font-weight: 700;
}

.production-completion-tracking p {
  max-width: 70ch;
  margin: 0.15rem 0 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
}

.production-serial-list {
  min-width: 0;
}

.production-lot-split textarea {
  min-height: 5.75rem;
  resize: vertical;
}

.production-serial-list textarea {
  width: 100%;
  min-height: 5.75rem;
  resize: vertical;
}

.production-serial-list strong {
  color: var(--admin-text);
  font-variant-numeric: tabular-nums;
}

.production-order-readiness {
  position: sticky;
  top: 5rem;
}

.production-readiness-list {
  display: grid;
  gap: 0.5rem;
}

.production-readiness-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.5rem;
  align-items: center;
  min-height: 44px;
  padding: 0.55rem 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 62%, white);
}

.production-readiness-item strong,
.production-readiness-item span {
  min-width: 0;
}

.production-readiness-item span {
  color: var(--admin-muted);
  font-size: 0.84rem;
  text-align: right;
}

.production-readiness-item.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 28%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-success) 8%, white);
}

.production-readiness-item.is-missing {
  border-color: color-mix(in oklab, var(--admin-warning) 34%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-warning) 9%, white);
}

.production-order-form-actions {
  display: grid;
  gap: 0.5rem;
}

.production-order-form-actions .btn {
  width: 100%;
}

.production-order-time-form-table,
.production-order-time-table {
  min-width: 62rem;
}

.production-order-consumption-form-table {
  min-width: 90rem;
}

.production-order-components-table {
  min-width: 78rem;
}

.production-order-phase-table {
  min-width: 106rem;
}

.production-table-shell td {
  vertical-align: middle;
}

.production-orders-table .admin-actions {
  justify-content: flex-end;
}

.production-resources-page,
.production-resource-form-page {
  gap: 0.9rem;
}

.production-resources-summary .admin-summary-card.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 26%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-success) 5%, var(--admin-surface));
}

.production-resources-summary .admin-summary-card.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 30%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-warning) 6%, var(--admin-surface));
}

.production-resources-summary .admin-summary-card.is-danger {
  border-color: color-mix(in oklab, var(--admin-danger) 28%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-danger) 5%, var(--admin-surface));
}

.production-resources-control {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(14rem, 24rem) auto;
  gap: 0.85rem;
  align-items: center;
  min-width: 0;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.production-resources-control-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.production-resources-control h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.25;
}

.production-resources-control p {
  max-width: 74ch;
  margin: 0.25rem 0 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.45;
}

.production-resource-status {
  display: inline-flex;
  align-items: center;
  min-height: 1.55rem;
  padding: 0.16rem 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 68%, white);
  font-size: 0.76rem;
  font-weight: 700;
  white-space: nowrap;
}

.production-resource-status.is-ready {
  color: #166534;
  border-color: #bbf7d0;
  background: #dcfce7;
}

.production-resource-status.is-warning {
  color: #854d0e;
  border-color: #fde68a;
  background: #fef9c3;
}

.production-resource-status.is-danger {
  color: #991b1b;
  border-color: #fecaca;
  background: #fee2e2;
}

.production-resource-status.is-muted {
  color: var(--admin-muted);
  border-color: var(--admin-border);
  background: color-mix(in oklab, var(--admin-bg) 70%, white);
}

.production-resources-control-metrics {
  display: grid;
  gap: 0.4rem;
}

.production-resources-control-metrics span {
  min-width: 0;
  padding: 0.4rem 0.5rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 62%, white);
  font-size: 0.82rem;
  line-height: 1.25;
}

.production-resources-control-metrics strong {
  color: var(--admin-text);
  font-variant-numeric: tabular-nums;
}

.production-resources-control-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.5rem;
}

.production-resources-departments,
.production-resources-skills {
  display: grid;
  gap: 0.5rem;
  min-width: 0;
}

.production-resources-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.production-resources-section-head h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.25;
}

.production-resources-section-head p {
  max-width: 76ch;
  margin: 0.22rem 0 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.45;
}

.production-resources-section-head > span {
  flex: 0 0 auto;
  padding: 0.25rem 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 62%, white);
  font-size: 0.78rem;
  font-weight: 700;
  white-space: nowrap;
}

.production-resources-result-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  color: var(--admin-muted);
  font-size: 0.86rem;
}

.production-resources-table-shell {
  min-width: 0;
}

.production-resources-table td,
.production-resources-skill-table td,
.production-resources-department-table td {
  vertical-align: middle;
}

.production-resources-table td[data-label="Capacita h/g"],
.production-resources-table td[data-label="Tariffa"],
.production-resources-skill-table td[data-label="Risorse attive"],
.production-resources-skill-table td[data-label="Cap. man."],
.production-resources-skill-table td[data-label="Cap. macc."],
.production-resources-department-table td[data-label="Risorse"],
.production-resources-department-table td[data-label="Man."],
.production-resources-department-table td[data-label="Mac."],
.production-resources-department-table td[data-label="Capacita"] {
  font-variant-numeric: tabular-nums;
}

.production-resource-form {
  display: grid;
  gap: 0.9rem;
}

.production-resource-form-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(16rem, 21rem);
  gap: 0.9rem;
  align-items: start;
}

.production-resource-form-main {
  display: grid;
  gap: 0.9rem;
  min-width: 0;
}

.production-resource-section,
.production-resource-readiness {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.production-resource-section-head,
.production-resource-readiness-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
}

.production-resource-section-head h2,
.production-resource-readiness-head h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.25;
}

.production-resource-section-head p,
.production-resource-readiness-head span,
.production-resource-readiness p,
.production-resource-readiness-item span {
  margin: 0.2rem 0 0;
  color: var(--admin-muted);
  font-size: 0.86rem;
  line-height: 1.45;
}

.production-resource-active-check {
  width: 100%;
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.55rem 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 62%, white);
}

.production-resource-readiness {
  position: sticky;
  top: 5rem;
}

.production-resource-readiness-list {
  display: grid;
  gap: 0.5rem;
}

.production-resource-readiness-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.5rem;
  align-items: center;
  min-height: 44px;
  padding: 0.55rem 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 62%, white);
}

.production-resource-readiness-item strong,
.production-resource-readiness-item span {
  min-width: 0;
}

.production-resource-readiness-item span {
  margin-top: 0;
  text-align: right;
}

.production-resource-readiness-item.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 28%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-success) 8%, white);
}

.production-resource-readiness-item.is-missing {
  border-color: color-mix(in oklab, var(--admin-warning) 34%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-warning) 9%, white);
}

.production-resource-readiness-note {
  padding: 0.65rem 0.75rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 16%, var(--admin-border));
  border-radius: 0.5rem;
  color: var(--admin-muted);
  background: var(--admin-primary-soft);
  font-size: 0.84rem;
  line-height: 1.45;
}

.production-resource-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.production-resource-calendar-page {
  gap: 0.9rem;
}

.production-resource-calendar-panel {
  display: grid;
  gap: 0.8rem;
  min-width: 0;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.production-resource-calendar-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
}

.production-resource-calendar-panel-head h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.25;
}

.production-resource-calendar-panel-head p {
  max-width: 74ch;
  margin: 0.25rem 0 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.5;
}

.production-resource-calendar-panel-head > span {
  flex: 0 0 auto;
  padding: 0.18rem 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 70%, white);
  font-size: 0.76rem;
  font-weight: 700;
  white-space: nowrap;
}

.production-resource-calendar-filter {
  display: grid;
  gap: 0.75rem;
}

.production-resource-calendar-filter .admin-filter-grid,
.production-resource-calendar-form .admin-filter-grid {
  margin-right: 0;
  margin-left: 0;
}

.production-resource-calendar-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(16rem, 21rem);
  gap: 0.9rem;
  align-items: start;
}

.production-resource-calendar-readiness {
  position: sticky;
  top: 5rem;
}

.production-resource-calendar-unavailable {
  width: 100%;
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.55rem 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 62%, white);
}

.production-resource-calendar-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.production-resource-calendar-checks {
  display: grid;
  gap: 0.5rem;
}

.production-resource-calendar-check {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.5rem;
  align-items: center;
  min-height: 44px;
  padding: 0.55rem 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 62%, white);
}

.production-resource-calendar-check strong,
.production-resource-calendar-check span {
  min-width: 0;
}

.production-resource-calendar-check span {
  color: var(--admin-muted);
  font-size: 0.84rem;
  text-align: right;
}

.production-resource-calendar-check.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 28%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-success) 8%, white);
}

.production-resource-calendar-check.is-missing {
  border-color: color-mix(in oklab, var(--admin-warning) 34%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-warning) 9%, white);
}

.production-resource-calendar-summary {
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
}

.production-calendar-risk-control {
  display: grid;
  gap: 0.8rem;
  min-width: 0;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: color-mix(in oklab, var(--admin-bg) 42%, white);
}

.production-calendar-risk-control.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 24%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-success) 5%, white);
}

.production-calendar-risk-control.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 32%, var(--admin-border));
  background: #fffbeb;
}

.production-calendar-risk-control.is-danger {
  border-color: color-mix(in oklab, var(--admin-danger) 30%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-danger) 5%, white);
}

.production-calendar-risk-control-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
}

.production-calendar-risk-control-head h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.25;
}

.production-calendar-risk-control-head p {
  max-width: 74ch;
  margin: 0.25rem 0 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.5;
}

.production-calendar-risk-control-head > span {
  flex: 0 0 auto;
  padding: 0.22rem 0.6rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-text);
  background: var(--admin-surface);
  font-size: 0.78rem;
  font-weight: 750;
  white-space: nowrap;
}

.production-calendar-risk-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.6rem;
}

.production-calendar-risk-metrics > div {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
  padding: 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.55rem;
  background: var(--admin-surface);
}

.production-calendar-risk-metrics span,
.production-calendar-risk-metrics small {
  color: var(--admin-muted);
  font-size: 0.78rem;
  line-height: 1.3;
}

.production-calendar-risk-metrics strong {
  color: var(--admin-text);
  font-size: 0.98rem;
  line-height: 1.25;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

.production-calendar-risk-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.production-schedule-readiness {
  display: grid;
  gap: 0.8rem;
  min-width: 0;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: color-mix(in oklab, var(--admin-bg) 46%, white);
}

.production-schedule-readiness.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 24%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-success) 5%, white);
}

.production-schedule-readiness.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 32%, var(--admin-border));
  background: #fffbeb;
}

.production-schedule-readiness.is-danger {
  border-color: color-mix(in oklab, var(--admin-danger) 30%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-danger) 5%, white);
}

.production-schedule-readiness-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
}

.production-schedule-readiness-head h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.25;
}

.production-schedule-readiness-head p,
.production-schedule-readiness-action {
  max-width: 76ch;
  margin: 0.25rem 0 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.5;
}

.production-schedule-readiness-head > span {
  flex: 0 0 auto;
  padding: 0.22rem 0.6rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-text);
  background: var(--admin-surface);
  font-size: 0.78rem;
  font-weight: 750;
  white-space: nowrap;
}

.production-schedule-readiness-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.6rem;
}

.production-schedule-readiness-metrics > div {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
  padding: 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.55rem;
  background: var(--admin-surface);
}

.production-schedule-readiness-metrics span,
.production-schedule-readiness-metrics small {
  color: var(--admin-muted);
  font-size: 0.78rem;
  line-height: 1.3;
}

.production-schedule-readiness-metrics strong {
  color: var(--admin-text);
  font-size: 0.98rem;
  line-height: 1.25;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

.production-schedule-readiness-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.production-resource-calendar-period {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(11.5rem, 1fr));
  gap: 0.6rem;
}

.production-resource-calendar-period > div {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
  padding: 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.55rem;
  background: color-mix(in oklab, var(--admin-bg) 58%, white);
}

.production-resource-calendar-period span {
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.25;
}

.production-resource-calendar-period strong {
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
}

.production-resource-calendar-table-shell {
  min-width: 0;
  max-width: 100%;
}

.production-resource-calendar-department-table {
  min-width: 82rem;
}

.production-resource-calendar-entries-table {
  min-width: 78rem;
}

.production-resource-calendar-table-shell td {
  vertical-align: middle;
}

.production-resource-calendar-page .admin-badge {
  display: inline-flex;
  align-items: center;
  min-height: 1.6rem;
  padding: 0.18rem 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  font-size: 0.76rem;
  font-weight: 700;
  white-space: nowrap;
}

.production-resource-calendar-page .admin-badge-danger {
  color: #9f1239;
  border-color: #fecdd3;
  background: #fff1f2;
}

.production-resource-calendar-page .admin-badge-info {
  color: #075985;
  border-color: #bae6fd;
  background: #e0f2fe;
}

@media (max-width: 991.98px) {
  .production-capacity-control {
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
  }

  .production-capacity-control-actions {
    justify-content: flex-start;
  }

  .production-phase-control {
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
  }

  .production-phase-control-actions {
    justify-content: flex-start;
  }

  .production-scheduling-queue-list article {
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
  }

  .production-work-progress {
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
  }

  .production-work-progress-actions {
    justify-content: flex-start;
  }

  .production-traceability-actions {
    justify-content: flex-start;
  }

  .production-resources-control {
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
  }

  .production-resources-control-actions {
    justify-content: flex-start;
  }

  .production-order-form-layout,
  .production-resource-form-layout,
  .production-resource-calendar-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .production-order-readiness,
  .production-resource-readiness,
  .production-resource-calendar-readiness {
    position: static;
  }
}

@media (max-width: 1199.98px) {
  .production-scrap-details {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .production-completion-locations,
  .production-scrap-details {
    grid-template-columns: minmax(0, 1fr);
  }

  .production-order-detail-page,
  .production-completion-form,
  .production-completion-form > *,
  .production-completion-form .row,
  .production-completion-form [class*="col-"] {
    min-width: 0;
    max-width: 100%;
  }

  .production-completion-form .production-table-shell {
    overflow-x: clip;
  }

  .production-order-time-form-table,
  .production-order-consumption-form-table {
    min-width: 0;
  }

  .production-order-time-form-table thead,
  .production-order-consumption-form-table thead {
    display: none;
  }

  .production-order-time-form-table,
  .production-order-time-form-table tbody,
  .production-order-time-form-table tr,
  .production-order-time-form-table td,
  .production-order-consumption-form-table,
  .production-order-consumption-form-table tbody,
  .production-order-consumption-form-table tr,
  .production-order-consumption-form-table td {
    display: block;
    width: 100%;
  }

  .production-order-time-form-table tr,
  .production-order-consumption-form-table tr {
    padding: 0.75rem;
    border-bottom: 1px solid var(--admin-border);
  }

  .production-order-time-form-table tr:last-child,
  .production-order-consumption-form-table tr:last-child {
    border-bottom: 0;
  }

  .production-order-time-form-table td,
  .production-order-consumption-form-table td {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.3rem;
    padding: 0.45rem 0;
    border: 0;
    text-align: left !important;
  }

  .production-order-time-form-table td::before,
  .production-order-consumption-form-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 650;
  }

  .production-order-time-form-table :is(.form-control, .form-select),
  .production-order-consumption-form-table :is(.form-control, .form-select, .input-group) {
    width: 100%;
    min-width: 0;
  }

  .production-capacity-control {
    padding: 0.75rem;
  }

  .production-capacity-control-metrics,
  .production-mrp-capacity-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .production-capacity-control-head {
    flex-direction: column;
  }

  .production-phase-control {
    padding: 0.75rem;
  }

  .production-phase-control-metrics {
    grid-template-columns: minmax(0, 1fr);
  }

  .production-phase-control-actions .btn {
    width: 100%;
  }

  .production-scheduling-queue {
    padding: 0.75rem;
  }

  .production-scheduling-queue-head {
    flex-direction: column;
  }

  .production-scheduling-queue-head > span {
    width: fit-content;
  }

  .production-scheduling-queue-metrics,
  .production-scheduling-queue-list dl {
    grid-template-columns: minmax(0, 1fr);
  }

  .production-scheduling-queue-actions .btn {
    width: 100%;
  }

  .production-work-progress {
    padding: 0.75rem;
  }

  .production-work-progress-head {
    flex-direction: column;
  }

  .production-work-progress-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .production-work-progress-actions .btn {
    flex: 1 1 100%;
  }

  .production-traceability-panel {
    padding: 0.75rem;
  }

  .production-traceability-head {
    flex-direction: column;
  }

  .production-traceability-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .production-traceability-actions .btn {
    flex: 1 1 100%;
  }

  .production-capacity-control-metrics {
    grid-template-columns: minmax(0, 1fr);
  }

  .production-capacity-control-actions .btn {
    flex: 1 1 9rem;
  }

  .production-resources-control {
    padding: 0.75rem;
  }

  .production-resources-control-head {
    flex-direction: column;
  }

  .production-resources-section-head {
    flex-direction: column;
  }

  .production-resources-section-head > span {
    width: fit-content;
    white-space: normal;
  }

  .production-resources-control-actions .btn {
    flex: 1 1 9rem;
  }

  .production-resources-result-strip {
    flex-direction: column;
    gap: 0.25rem;
  }

  .production-resources-table-shell {
    overflow-x: clip;
  }

  .production-resources-table,
  .production-resources-skill-table,
  .production-resources-department-table {
    min-width: 0;
  }

  .production-resources-table thead,
  .production-resources-skill-table thead,
  .production-resources-department-table thead {
    display: none;
  }

  .production-resources-table,
  .production-resources-table tbody,
  .production-resources-table tr,
  .production-resources-table td,
  .production-resources-skill-table,
  .production-resources-skill-table tbody,
  .production-resources-skill-table tr,
  .production-resources-skill-table td,
  .production-resources-department-table,
  .production-resources-department-table tbody,
  .production-resources-department-table tr,
  .production-resources-department-table td {
    display: block;
    width: 100%;
  }

  .production-resources-table tr,
  .production-resources-skill-table tr,
  .production-resources-department-table tr {
    padding: 0.7rem;
    border-bottom: 1px solid var(--admin-border);
  }

  .production-resources-table tr:last-child,
  .production-resources-skill-table tr:last-child,
  .production-resources-department-table tr:last-child {
    border-bottom: 0;
  }

  .production-resources-table td,
  .production-resources-skill-table td,
  .production-resources-department-table td {
    display: grid;
    grid-template-columns: 7.5rem minmax(0, 1fr);
    gap: 0.5rem;
    padding: 0.42rem 0;
    border: 0;
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  .production-resources-table td::before,
  .production-resources-skill-table td::before,
  .production-resources-department-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 650;
  }

  .production-resources-table td[data-label="Azioni"] .admin-actions {
    justify-content: stretch;
  }

  .production-resources-table td[data-label="Azioni"] .btn,
  .production-resources-department-table td[data-label="Azioni"] .btn {
    width: 100%;
  }

  .production-resources-department-table td[data-label="Azioni"] .admin-actions {
    justify-content: stretch;
  }

  .production-resource-calendar-panel-head {
    flex-direction: column;
  }

  .production-calendar-risk-control-head {
    flex-direction: column;
  }

  .production-calendar-risk-metrics {
    grid-template-columns: minmax(0, 1fr);
  }

  .production-calendar-risk-actions .btn {
    width: 100%;
  }

  .production-resource-calendar-panel-head > span {
    width: fit-content;
  }

  .production-filter-head,
  .production-panel-head {
    flex-direction: column;
  }

  .production-filter-head > span,
  .production-panel-head > span,
  .production-panel-head .badge {
    width: fit-content;
  }

  .production-summary-grid,
  .production-order-detail-summary {
    grid-template-columns: 1fr;
  }

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

  .production-readiness-item span {
    text-align: left;
  }
}

.bill-of-materials-page {
  gap: 0.9rem;
}

.bill-of-materials-detail-page {
  gap: 0.9rem;
}

.bill-of-materials-form-page {
  gap: 0.9rem;
}

.bill-of-materials-form {
  display: grid;
  gap: 0.9rem;
}

.bill-of-materials-form-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(16rem, 21rem);
  gap: 0.9rem;
  align-items: start;
}

.bill-of-materials-form-main {
  display: grid;
  gap: 0.9rem;
  min-width: 0;
}

.bill-of-materials-form-section,
.bill-of-materials-form-readiness {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.bill-of-materials-form-section-head,
.bill-of-materials-form-readiness-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
}

.bill-of-materials-form-section-head h2,
.bill-of-materials-form-readiness-head h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.25;
}

.bill-of-materials-form-section-head p,
.bill-of-materials-form-readiness-head span,
.bill-of-materials-form-readiness p,
.bill-of-materials-form-readiness-item span {
  margin: 0.2rem 0 0;
  color: var(--admin-muted);
  font-size: 0.86rem;
  line-height: 1.45;
}

.bill-of-materials-form-section-head > span {
  flex: 0 0 auto;
  padding: 0.18rem 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 70%, white);
  font-size: 0.76rem;
  font-weight: 700;
  white-space: nowrap;
}

.bill-of-materials-form-readiness {
  position: sticky;
  top: 5rem;
}

.bill-of-materials-form-readiness-list {
  display: grid;
  gap: 0.5rem;
}

.bill-of-materials-form-readiness-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.5rem;
  align-items: center;
  min-height: 44px;
  padding: 0.55rem 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 62%, white);
}

.bill-of-materials-form-readiness-item strong,
.bill-of-materials-form-readiness-item span {
  min-width: 0;
}

.bill-of-materials-form-readiness-item span {
  margin-top: 0;
  text-align: right;
}

.bill-of-materials-form-readiness-item.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 28%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-success) 8%, white);
}

.bill-of-materials-form-readiness-item.is-missing {
  border-color: color-mix(in oklab, var(--admin-warning) 34%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-warning) 9%, white);
}

.bill-of-materials-form-readiness-note {
  padding: 0.65rem 0.75rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 16%, var(--admin-border));
  border-radius: 0.5rem;
  color: var(--admin-muted);
  background: var(--admin-primary-soft);
  font-size: 0.84rem;
  line-height: 1.45;
}

.bill-of-materials-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.bill-of-materials-form-lines-table {
  min-width: 88rem;
}

.bill-of-materials-filter {
  display: grid;
  gap: 0.85rem;
}

.bill-of-materials-filter .admin-filter-grid {
  margin-right: 0;
  margin-left: 0;
}

.bill-of-materials-filter-head,
.bill-of-materials-panel-head,
.bill-of-materials-section-title {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
}

.bill-of-materials-filter-head h2,
.bill-of-materials-panel-head h2,
.bill-of-materials-panel-head h5,
.bill-of-materials-section-title h3,
.bill-of-materials-section-title h6 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.25;
}

.bill-of-materials-section-title h3,
.bill-of-materials-section-title h6 {
  font-size: 0.95rem;
}

.bill-of-materials-filter-head p,
.bill-of-materials-panel-head p {
  max-width: 74ch;
  margin: 0.25rem 0 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.5;
}

.bill-of-materials-filter-head > span,
.bill-of-materials-panel-head > span,
.bill-of-materials-section-title > span {
  flex: 0 0 auto;
  padding: 0.18rem 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 70%, white);
  font-size: 0.76rem;
  font-weight: 700;
  white-space: nowrap;
}

.bill-of-materials-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.75rem;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.bill-of-materials-readiness-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.7rem;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  padding: 0.75rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: color-mix(in oklab, var(--admin-bg) 58%, white);
}

.bill-of-materials-routing-editor {
  display: grid;
  gap: 0.7rem;
  min-width: 0;
  padding: 0.75rem 0;
  border-top: 1px solid var(--admin-border);
  border-bottom: 1px solid var(--admin-border);
}

.bill-of-materials-routing-form {
  display: grid;
  gap: 0.7rem;
  min-width: 0;
}

.bill-of-materials-routing-editor-table {
  min-width: 78rem;
}

.bill-of-materials-routing-editor-table input {
  min-height: 42px;
}

.bill-of-materials-routing-editor-table td:first-child {
  width: 5.5rem;
}

.bill-of-materials-routing-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.bill-of-materials-routing-actions span {
  color: var(--admin-muted);
  font-size: 0.84rem;
  line-height: 1.4;
}

.bill-of-materials-industrialization {
  border-color: color-mix(in oklab, var(--admin-primary) 18%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-primary-soft) 38%, var(--admin-surface));
}

.bill-of-materials-standard-cost {
  border-color: color-mix(in oklab, var(--admin-primary) 25%, var(--admin-border));
}

.bill-of-materials-standard-cost-action {
  display: grid;
  grid-template-columns: minmax(16rem, 28rem) auto;
  gap: 0.75rem;
  align-items: end;
  padding-top: 0.25rem;
}

.bill-of-materials-standard-cost-action .btn {
  min-height: 44px;
}

.production-cost-snapshot {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--admin-border);
}

.production-cost-snapshot-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
}

.production-cost-snapshot-head h3 {
  margin: 0;
  font-size: 1rem;
}

.production-cost-snapshot-head p {
  margin: 0.25rem 0 0;
  color: var(--admin-muted);
  font-size: 0.875rem;
}

.production-cost-snapshot-unit {
  flex: 0 0 auto;
  text-align: right;
}

.production-cost-snapshot-unit span {
  display: block;
  color: var(--admin-muted);
  font-size: 0.75rem;
}

.production-cost-snapshot-unit strong {
  display: block;
  font-size: 1.25rem;
}

.production-cost-snapshot-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  margin: 0.875rem 0 0;
}

.production-cost-snapshot-grid > div {
  min-width: 0;
  padding: 0.625rem 0.75rem;
  border-left: 1px solid var(--admin-border);
}

.production-cost-snapshot-grid > div:first-child {
  padding-left: 0;
  border-left: 0;
}

.production-cost-snapshot-grid dt {
  color: var(--admin-muted);
  font-size: 0.75rem;
  font-weight: 500;
}

.production-cost-snapshot-grid dd {
  margin: 0.125rem 0 0;
  font-weight: 700;
}

.production-variance-head,
.production-variance-grid > div {
  display: grid;
  grid-template-columns: minmax(180px, 1.4fr) repeat(3, minmax(110px, 0.8fr));
  gap: 1rem;
  align-items: center;
}

.production-variance-head {
  padding: 0 0.75rem 0.5rem;
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
}

.production-variance-head span:not(:first-child),
.production-variance-grid dd {
  text-align: right;
}

.production-variance-grid {
  margin: 0;
  border-top: 1px solid var(--admin-border);
}

.production-variance-grid > div {
  padding: 0.75rem;
  border-bottom: 1px solid var(--admin-border);
}

.production-variance-grid dt,
.production-variance-grid dd {
  margin: 0;
}

.production-variance-grid dt {
  font-weight: 650;
}

.production-variance-grid dd {
  font-variant-numeric: tabular-nums;
}

.production-variance-grid .is-total {
  background: var(--admin-surface-subtle, #f7f9fb);
  font-weight: 700;
}

.production-variance-grid .is-total small {
  display: block;
  margin-top: 0.125rem;
  color: var(--admin-muted);
  font-weight: 600;
}

.production-variance-note {
  margin: 0.75rem 0 0;
  color: var(--admin-muted);
  font-size: 0.86rem;
}

.production-accounting-profile-form {
  display: grid;
  gap: 1.25rem;
}

.production-accounting-profile-form fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.production-accounting-profile-form legend {
  margin: 0 0 0.25rem;
  font-size: 1rem;
  font-weight: 700;
}

.production-accounting-profile-form .admin-form-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
}

.production-accounting-table {
  min-width: 48rem;
}

.production-accounting-table tfoot th {
  border-top: 2px solid var(--admin-border);
}

.production-accounting-confirm {
  display: grid;
  grid-template-columns: minmax(10rem, 12rem) minmax(16rem, 1fr) auto;
  align-items: end;
  gap: 0.75rem;
  margin-top: 1rem;
}

.production-accounting-confirm .form-group {
  min-width: 0;
}

.production-accounting-confirm small {
  display: block;
  margin-top: 0.25rem;
  color: var(--admin-muted);
}

@media (max-width: 767.98px) {
  .production-accounting-table {
    min-width: 0;
  }

  .production-accounting-table thead {
    display: none;
  }

  .production-accounting-table tbody,
  .production-accounting-table tr,
  .production-accounting-table td {
    display: block;
    width: 100%;
  }

  .production-accounting-table tbody tr {
    padding: 0.65rem 0;
    border-bottom: 1px solid var(--admin-border);
  }

  .production-accounting-table td {
    display: grid;
    grid-template-columns: minmax(7rem, 42%) 1fr;
    gap: 0.75rem;
    padding: 0.2rem 0;
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  .production-accounting-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.8125rem;
    font-weight: 600;
  }

  .production-accounting-table tfoot {
    display: table;
    width: 100%;
  }

  .production-accounting-confirm {
    grid-template-columns: 1fr;
  }
}

.bill-of-materials-industrialization-body {
  display: grid;
  grid-template-columns: minmax(13rem, 0.9fr) minmax(0, 1.5fr);
  gap: 0.75rem;
  align-items: start;
}

.bill-of-materials-industrialization-next {
  display: grid;
  gap: 0.25rem;
  min-width: 0;
  padding: 0.7rem 0.75rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: var(--admin-surface);
}

.bill-of-materials-industrialization-next strong {
  color: var(--admin-text);
  font-size: 0.86rem;
}

.bill-of-materials-industrialization-next span {
  color: var(--admin-muted);
  font-size: 0.86rem;
  line-height: 1.42;
}

.bill-of-materials-industrialization-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(7.25rem, 1fr));
  gap: 0.5rem;
  min-width: 0;
}

.bill-of-materials-industrialization-metrics div {
  min-width: 0;
  padding: 0.6rem 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: var(--admin-surface);
}

.bill-of-materials-industrialization-metrics span {
  display: block;
  color: var(--admin-muted);
  font-size: 0.76rem;
  font-weight: 650;
  line-height: 1.25;
}

.bill-of-materials-industrialization-metrics strong {
  display: block;
  margin-top: 0.2rem;
  color: var(--admin-text);
  font-size: 1rem;
}

.bill-of-materials-industrialization-actions {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.bill-of-materials-summary-grid {
  grid-template-columns: repeat(auto-fit, minmax(10.75rem, 1fr));
  max-width: 100%;
  min-width: 0;
}

.bill-of-materials-summary-wide {
  grid-column: span 2;
}

.bill-of-materials-summary-note {
  margin-top: 0.2rem;
  color: var(--admin-muted);
  font-size: 0.82rem;
  line-height: 1.35;
}

.bill-of-materials-detail-note {
  margin: 0;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 64%, white);
  font-size: 0.9rem;
  line-height: 1.5;
}

.bill-of-materials-panel-subsection {
  display: grid;
  gap: 0.6rem;
  min-width: 0;
}

.bill-of-materials-table-shell {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.bill-of-materials-issues-table {
  min-width: 54rem;
}

.bill-of-materials-table,
.bill-of-materials-detail-components-table,
.bill-of-materials-detail-explosion-table,
.bill-of-materials-detail-availability-table,
.bill-of-materials-detail-missing-table,
.bill-of-materials-detail-whereused-table {
  min-width: 72rem;
}

.bill-of-materials-detail-actions-table {
  min-width: 62rem;
}

.bill-of-materials-detail-routing-table {
  min-width: 104rem;
}

.bill-of-materials-table td,
.bill-of-materials-issues-table td,
.bill-of-materials-detail-components-table td,
.bill-of-materials-detail-actions-table td,
.bill-of-materials-detail-routing-table td,
.bill-of-materials-detail-explosion-table td,
.bill-of-materials-detail-availability-table td,
.bill-of-materials-detail-missing-table td,
.bill-of-materials-detail-whereused-table td {
  vertical-align: middle;
}

.bill-of-materials-table .admin-actions,
.bill-of-materials-issues-table .admin-actions {
  justify-content: flex-end;
}

@media (max-width: 991.98px) {
  .bill-of-materials-form-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .bill-of-materials-form-readiness {
    position: static;
  }
}

@media (max-width: 767.98px) {
  .bill-of-materials-form-section-head,
  .bill-of-materials-form-readiness-head {
    flex-direction: column;
  }

  .bill-of-materials-form-section-head > span,
  .bill-of-materials-form-section-head .btn {
    width: fit-content;
  }

  .bill-of-materials-filter-head,
  .bill-of-materials-panel-head,
  .bill-of-materials-section-title {
    flex-direction: column;
  }

  .bill-of-materials-filter-head > span,
  .bill-of-materials-panel-head > span,
  .bill-of-materials-section-title > span,
  .bill-of-materials-panel-head .badge {
    width: fit-content;
  }

  .bill-of-materials-summary-grid {
    grid-template-columns: 1fr;
  }

  .bill-of-materials-industrialization-body {
    grid-template-columns: 1fr;
  }

  .bill-of-materials-industrialization-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bill-of-materials-industrialization-actions .btn {
    flex: 1 1 100%;
  }

  .bill-of-materials-standard-cost-action {
    grid-template-columns: minmax(0, 1fr);
  }

  .bill-of-materials-standard-cost-action .btn {
    width: 100%;
  }

  .production-cost-snapshot-head {
    align-items: start;
  }

  .production-cost-snapshot-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .production-cost-snapshot-grid > div,
  .production-cost-snapshot-grid > div:first-child {
    padding: 0.625rem 0;
    border-top: 1px solid var(--admin-border);
    border-left: 0;
  }

  .production-variance-head {
    display: none;
  }

  .production-variance-grid > div {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.375rem;
    padding: 0.875rem 0;
  }

  .production-variance-grid dt {
    margin-bottom: 0.25rem;
  }

  .production-variance-grid dd {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    text-align: right;
  }

  .production-variance-grid dd::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-weight: 600;
    text-align: left;
  }

  .production-variance-grid .is-total {
    margin-inline: -0.75rem;
    padding-inline: 0.75rem;
  }

  .bill-of-materials-routing-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .bill-of-materials-routing-actions .btn {
    width: 100%;
    min-height: 44px;
  }

  .bill-of-materials-summary-wide {
    grid-column: auto;
  }
}

.ledger-rule-page {
  gap: 0.9rem;
}

.ledger-rules-index-page {
  gap: 0.9rem;
}

.ledger-rules-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
}

.ledger-rules-summary .admin-summary-card.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 30%, var(--admin-border));
}

.ledger-rules-summary .admin-summary-card.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 36%, var(--admin-border));
  background: #fffbeb;
}

.ledger-rules-control,
.ledger-rules-coverage,
.ledger-rules-nondocumental,
.ledger-rules-table-panel {
  min-width: 0;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.ledger-rules-control {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
}

.ledger-rules-control h2,
.ledger-rules-table-head h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1.05rem;
  line-height: 1.25;
}

.ledger-rules-control p,
.ledger-rules-table-head p {
  max-width: 72ch;
  margin: 0.25rem 0 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.5;
}

.ledger-rules-control-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.45rem;
}

.ledger-rules-control-list span {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  padding: 0.2rem 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 58%, white);
  font-size: 0.8rem;
  font-weight: 650;
}

.ledger-rules-coverage {
  display: grid;
  gap: 0.85rem;
}

.ledger-rules-coverage.is-ready,
.ledger-rules-nondocumental.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 28%, var(--admin-border));
}

.ledger-rules-coverage.is-warning,
.ledger-rules-nondocumental.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 34%, var(--admin-border));
  background: #fffbeb;
}

.ledger-rules-coverage.is-critical,
.ledger-rules-nondocumental.is-critical {
  border-color: color-mix(in oklab, var(--admin-danger) 30%, var(--admin-border));
  background: #fff7ed;
}

.ledger-rules-coverage-lead {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
}

.ledger-rules-coverage-lead h2,
.ledger-rules-coverage-area h3 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1.05rem;
  line-height: 1.25;
}

.ledger-rules-coverage-lead p,
.ledger-rules-coverage-area p {
  margin: 0.25rem 0 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.5;
}

.ledger-rules-coverage-lead > span,
.ledger-rules-coverage-area > div > span {
  display: inline-flex;
  align-items: center;
  min-height: 1.8rem;
  padding: 0.15rem 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 64%, white);
  font-size: 0.8rem;
  font-weight: 700;
  white-space: nowrap;
}

.ledger-rules-coverage-metrics,
.ledger-rules-coverage-grid,
.ledger-rules-nondocumental-metrics,
.ledger-rules-nondocumental-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.65rem;
}

.ledger-rules-coverage-metrics > div,
.ledger-rules-coverage-area,
.ledger-rules-nondocumental-metrics > div,
.ledger-rules-nondocumental-category {
  min-width: 0;
  padding: 0.7rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.65rem;
  background: var(--admin-surface);
}

.ledger-rules-coverage-metrics span,
.ledger-rules-coverage-area dt,
.ledger-rules-nondocumental-metrics span,
.ledger-rules-nondocumental-category dt,
.ledger-rules-nondocumental-category-head span,
.ledger-rules-nondocumental-footer span {
  color: var(--admin-muted);
  font-size: 0.76rem;
  font-weight: 650;
}

.ledger-rules-coverage-metrics strong,
.ledger-rules-nondocumental-metrics strong {
  display: block;
  margin-top: 0.15rem;
  color: var(--admin-text);
  font-size: 1.25rem;
  line-height: 1.15;
}

.ledger-rules-coverage-area {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.ledger-rules-coverage-area.is-covered {
  border-color: color-mix(in oklab, var(--admin-success) 26%, var(--admin-border));
}

.ledger-rules-coverage-area.is-uncovered {
  border-color: color-mix(in oklab, var(--admin-warning) 34%, var(--admin-border));
}

.ledger-rules-coverage-area > div {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.65rem;
}

.ledger-rules-coverage-area dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.45rem;
  margin: 0;
}

.ledger-rules-coverage-area dl div {
  min-width: 0;
  padding: 0.5rem;
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 60%, white);
}

.ledger-rules-coverage-area dd {
  margin: 0.1rem 0 0;
  color: var(--admin-text);
  font-weight: 750;
}

.ledger-rules-coverage-area .btn {
  align-self: flex-start;
  margin-top: auto;
}

.ledger-rules-nondocumental {
  display: grid;
  gap: 0.85rem;
}

.ledger-rules-nondocumental-category {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.ledger-rules-nondocumental-category.is-covered {
  border-color: color-mix(in oklab, var(--admin-success) 26%, var(--admin-border));
}

.ledger-rules-nondocumental-category.is-uncovered {
  border-color: color-mix(in oklab, var(--admin-warning) 34%, var(--admin-border));
}

.ledger-rules-nondocumental-category-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.65rem;
}

.ledger-rules-nondocumental-category-head h3 {
  margin: 0.15rem 0 0;
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.25;
}

.ledger-rules-nondocumental-category-head strong {
  display: inline-flex;
  align-items: center;
  min-height: 1.7rem;
  padding: 0.12rem 0.5rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 64%, white);
  font-size: 0.78rem;
  line-height: 1.2;
  white-space: nowrap;
}

.ledger-rules-nondocumental-category p {
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.86rem;
  line-height: 1.45;
}

.ledger-rules-nondocumental-category dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.45rem;
  margin: 0;
}

.ledger-rules-nondocumental-category dl div {
  min-width: 0;
  padding: 0.5rem;
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 60%, white);
}

.ledger-rules-nondocumental-category dd {
  margin: 0.1rem 0 0;
  color: var(--admin-text);
  font-weight: 750;
  overflow-wrap: anywhere;
}

.ledger-rules-nondocumental-actions {
  margin-top: auto;
}

.ledger-rules-nondocumental-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding-top: 0.15rem;
}

.ledger-rules-table-head {
  margin-bottom: 0.75rem;
}

.ledger-rules-table-panel .admin-badge {
  display: inline-flex;
  align-items: center;
  min-height: 1.55rem;
  padding: 0.12rem 0.5rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.2;
}

.ledger-rules-table-panel .admin-badge-success {
  border-color: color-mix(in oklab, var(--admin-success) 34%, var(--admin-border));
  color: var(--admin-success);
  background: #f0fdf4;
}

.ledger-rules-table-panel .admin-badge-muted {
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 58%, white);
}

.ledger-rule-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(19rem, 0.42fr);
  gap: 0.9rem;
  align-items: start;
}

.ledger-rule-draft-context {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(18rem, 1.1fr) auto;
  gap: 0.85rem;
  align-items: center;
  margin-bottom: 0.9rem;
  padding: 0.85rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 20%, var(--admin-border));
  border-radius: var(--admin-radius);
  background: color-mix(in oklab, var(--admin-primary-soft) 62%, var(--admin-surface));
}

.ledger-rule-draft-context span {
  display: block;
  margin-bottom: 0.2rem;
  color: var(--admin-primary-dark);
  font-size: 0.78rem;
  font-weight: 700;
}

.ledger-rule-draft-context h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1.05rem;
  line-height: 1.25;
}

.ledger-rule-draft-context p {
  max-width: 64ch;
  margin: 0.35rem 0 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

.ledger-rule-draft-context dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
  margin: 0;
}

.ledger-rule-draft-context dt {
  color: var(--admin-muted);
  font-size: 0.76rem;
  font-weight: 650;
}

.ledger-rule-draft-context dd {
  overflow-wrap: anywhere;
  margin: 0.1rem 0 0;
  color: var(--admin-text);
  font-size: 0.86rem;
  line-height: 1.35;
}

.ledger-rule-draft-context .btn {
  justify-self: end;
  white-space: nowrap;
}

.ledger-rule-form {
  margin-bottom: 0;
}

.ledger-rule-preview {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
  box-shadow: var(--admin-shadow);
}

.ledger-rule-preview-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.ledger-rule-preview-head h2 {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.25;
}

.ledger-rule-preview-head span {
  display: inline-flex;
  align-items: center;
  min-height: 1.8rem;
  padding: 0.15rem 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 58%, white);
  font-size: 0.8rem;
  font-weight: 650;
  white-space: nowrap;
}

.ledger-rule-preview-head span.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 34%, var(--admin-border));
  color: var(--admin-success);
}

.ledger-rule-preview-head span.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 34%, var(--admin-border));
  color: var(--admin-warning);
}

.ledger-rule-preview p {
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
  line-height: 1.5;
}

.ledger-rule-preview-list {
  display: grid;
  gap: 0.55rem;
  margin: 0;
}

.ledger-rule-preview-list div {
  min-width: 0;
  padding: 0.6rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 58%, white);
}

.ledger-rule-preview-list dt {
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.ledger-rule-preview-list dd {
  margin: 0.15rem 0 0;
  color: var(--admin-text);
  font-size: 0.92rem;
}

.ledger-rule-preview-alert {
  padding: 0.65rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 20%, var(--admin-border));
  border-radius: 0.5rem;
  color: var(--admin-primary-dark);
  background: var(--admin-primary-soft);
  font-size: 0.86rem;
  line-height: 1.45;
}

.ledger-rule-preview-alert.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 34%, var(--admin-border));
  color: #7c2d12;
  background: #fffbeb;
}

@media (max-width: 575.98px) {
  .ledger-rule-layout,
  .ledger-rule-draft-context {
    grid-template-columns: 1fr;
  }

  .ledger-rule-draft-context dl {
    grid-template-columns: 1fr;
  }

  .ledger-rule-draft-context .btn {
    justify-self: stretch;
    width: 100%;
    white-space: normal;
  }
}

.journal-entry-form {
  display: grid;
  gap: 0.25rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
  box-shadow: var(--admin-shadow);
}

.journal-entries-summary,
.journal-entry-detail-summary {
  margin-bottom: 0.9rem;
}

.journal-entries-operations,
.journal-entry-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(16rem, 0.36fr);
  gap: 0.9rem;
  align-items: stretch;
  margin-bottom: 0.9rem;
}

.journal-entries-operations,
.journal-entry-detail-panel {
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
  box-shadow: var(--admin-shadow);
}

.journal-entries-display-limit {
  margin-bottom: 0.75rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid color-mix(in oklab, var(--admin-warning) 28%, var(--admin-border));
  border-radius: 0.5rem;
  color: #7c2d12;
  background: #fffbeb;
  font-size: 0.9rem;
  line-height: 1.45;
}

.journal-ledger-control {
  display: grid;
  gap: 0.8rem;
  margin-bottom: 0.9rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
  box-shadow: var(--admin-shadow);
}

.journal-ledger-control-head,
.journal-ledger-control-actions {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.8rem;
}

.journal-ledger-control-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.65rem;
}

.journal-ledger-control-metric,
.journal-ledger-next-action {
  min-width: 0;
  padding: 0.65rem 0.7rem;
  border: 1px solid color-mix(in oklab, var(--admin-border) 80%, white);
  border-radius: 0.55rem;
  background: color-mix(in oklab, var(--admin-bg) 58%, white);
}

.journal-ledger-control-metric span,
.journal-ledger-next-action span {
  display: block;
  color: var(--admin-muted);
  font-size: 0.76rem;
  font-weight: 700;
}

.journal-ledger-control-metric strong,
.journal-ledger-next-action strong {
  display: block;
  margin-top: 0.16rem;
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.28;
  overflow-wrap: anywhere;
}

.journal-ledger-control-metric small {
  display: block;
  margin-top: 0.18rem;
  color: var(--admin-muted);
  line-height: 1.3;
}

.journal-ledger-next-action {
  flex: 1 1 22rem;
}

.journal-entries-checks {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.45rem;
  align-content: flex-start;
}

.journal-entry-check,
.journal-balance-pill,
.journal-entry-type {
  display: inline-flex;
  align-items: center;
  min-height: 1.75rem;
  padding: 0.16rem 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 58%, white);
  font-size: 0.8rem;
  font-weight: 650;
  line-height: 1.2;
  white-space: nowrap;
}

.journal-entry-check.is-ready,
.journal-balance-pill.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 34%, var(--admin-border));
  color: var(--admin-success);
  background: color-mix(in oklab, #ecfdf5 82%, white);
}

.journal-entry-check.is-warning,
.journal-balance-pill.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 34%, var(--admin-border));
  color: var(--admin-warning);
  background: #fffbeb;
}

.journal-entry-check.is-danger,
.journal-balance-pill.is-danger {
  border-color: color-mix(in oklab, var(--admin-danger) 34%, var(--admin-border));
  color: var(--admin-danger);
  background: #fff1f2;
}

.journal-entry-check.is-muted {
  color: var(--admin-muted);
}

.journal-entry-type {
  border-radius: 0.45rem;
  white-space: normal;
}

.journal-entry-batch-link {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  min-height: 1.75rem;
  padding: 0.16rem 0.5rem;
  border: 1px solid color-mix(in oklab, var(--admin-border) 80%, white);
  border-radius: 0.45rem;
  color: var(--admin-primary-dark);
  background: color-mix(in oklab, var(--admin-primary-soft) 42%, white);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 0.78rem;
  font-weight: 650;
  line-height: 1.2;
  overflow-wrap: anywhere;
  text-decoration: none;
}

.journal-entry-batch-link:hover,
.journal-entry-batch-link:focus-visible {
  color: var(--admin-primary-dark);
  background: var(--admin-primary-soft);
  text-decoration: underline;
}

.journal-entry-detail-list {
  display: grid;
  gap: 0.65rem;
  margin: 0;
}

.journal-entry-detail-list div {
  min-width: 0;
}

.journal-entry-detail-list dt {
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.journal-entry-detail-list dd {
  margin: 0.12rem 0 0;
  color: var(--admin-text);
  overflow-wrap: anywhere;
}

.ledger-accounts-summary {
  margin-bottom: 0.9rem;
}

.ledger-accounts-tools {
  gap: 0.5rem;
}

.ledger-accounts-operations {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(16rem, 0.36fr);
  gap: 0.9rem;
  align-items: stretch;
  margin-bottom: 0.9rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
  box-shadow: var(--admin-shadow);
}

.ledger-accounts-readiness {
  display: grid;
  gap: 0.85rem;
  margin-bottom: 0.9rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
  box-shadow: var(--admin-shadow);
}

.ledger-accounts-readiness.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 28%, var(--admin-border));
}

.ledger-accounts-readiness.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 34%, var(--admin-border));
  background: #fffbeb;
}

.ledger-accounts-readiness.is-critical {
  border-color: color-mix(in oklab, var(--admin-danger) 30%, var(--admin-border));
  background: #fff7ed;
}

.ledger-accounts-readiness-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.9rem;
}

.ledger-accounts-readiness-head h2,
.ledger-accounts-type-card h3 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1.05rem;
  line-height: 1.25;
}

.ledger-accounts-readiness-head p,
.ledger-accounts-type-card p {
  margin: 0.25rem 0 0;
  color: var(--admin-muted);
  font-size: 0.88rem;
  line-height: 1.5;
}

.ledger-accounts-readiness-head > span,
.ledger-accounts-type-card-head strong {
  display: inline-flex;
  align-items: center;
  min-height: 1.8rem;
  padding: 0.15rem 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 64%, white);
  font-size: 0.8rem;
  font-weight: 700;
  white-space: nowrap;
}

.ledger-accounts-readiness-metrics {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.65rem;
}

.ledger-accounts-readiness-metrics > div,
.ledger-accounts-type-card {
  min-width: 0;
  padding: 0.7rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.65rem;
  background: var(--admin-surface);
}

.ledger-accounts-readiness-metrics span,
.ledger-accounts-type-card dt,
.ledger-accounts-type-card-head span {
  color: var(--admin-muted);
  font-size: 0.76rem;
  font-weight: 650;
}

.ledger-accounts-readiness-metrics strong {
  display: block;
  margin-top: 0.15rem;
  color: var(--admin-text);
  font-size: 1.22rem;
  line-height: 1.15;
}

.ledger-accounts-conflict-control {
  display: grid;
  grid-template-columns: minmax(0, 0.58fr) minmax(16rem, 0.42fr);
  gap: 0.65rem;
}

.ledger-accounts-conflict-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
}

.ledger-accounts-conflict-summary > div,
.ledger-accounts-conflict-list {
  min-width: 0;
  padding: 0.7rem;
  border: 1px solid color-mix(in oklab, var(--admin-border) 86%, white);
  border-radius: 0.65rem;
  background: color-mix(in oklab, var(--admin-bg) 58%, white);
}

.ledger-accounts-conflict-summary span,
.ledger-accounts-conflict-summary small,
.ledger-accounts-conflict-list small {
  display: block;
  color: var(--admin-muted);
  font-size: 0.76rem;
  font-weight: 650;
  line-height: 1.35;
}

.ledger-accounts-conflict-summary strong {
  display: block;
  margin-top: 0.15rem;
  color: var(--admin-text);
  font-size: 1.14rem;
  line-height: 1.2;
}

.ledger-accounts-conflict-summary small {
  margin-top: 0.18rem;
}

.ledger-accounts-conflict-list h3 {
  margin: 0 0 0.45rem;
  color: var(--admin-text);
  font-size: 0.92rem;
  line-height: 1.3;
}

.ledger-accounts-conflict-list ul {
  display: grid;
  gap: 0.4rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ledger-accounts-conflict-list li {
  display: grid;
  grid-template-columns: minmax(4rem, 0.24fr) minmax(5rem, 0.24fr) minmax(0, 1fr);
  gap: 0.45rem;
  align-items: baseline;
  min-width: 0;
  padding: 0.42rem 0.5rem;
  border-radius: 0.5rem;
  background: var(--admin-surface);
}

.ledger-accounts-conflict-list li span,
.ledger-accounts-conflict-list li strong,
.ledger-accounts-conflict-list li small {
  min-width: 0;
  overflow-wrap: anywhere;
}

.ledger-accounts-conflict-list li strong {
  color: var(--admin-text);
  font-size: 0.84rem;
}

.ledger-accounts-type-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.65rem;
}

.ledger-accounts-type-card {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.ledger-accounts-type-card.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 24%, var(--admin-border));
}

.ledger-accounts-type-card.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 34%, var(--admin-border));
}

.ledger-accounts-type-card.is-critical {
  border-color: color-mix(in oklab, var(--admin-danger) 30%, var(--admin-border));
}

.ledger-accounts-type-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.65rem;
}

.ledger-accounts-type-card dl {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.4rem;
  margin: 0;
}

.ledger-accounts-type-card dl div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.6rem;
  min-width: 0;
  padding: 0.42rem 0.5rem;
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 60%, white);
}

.ledger-accounts-type-card dd {
  margin: 0;
  color: var(--admin-text);
  font-weight: 750;
}

.ledger-accounts-type-card .btn {
  align-self: flex-start;
  margin-top: auto;
}

.ledger-accounts-checks {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.45rem;
  align-content: flex-start;
}

.ledger-account-check,
.ledger-account-status,
.ledger-account-type {
  display: inline-flex;
  align-items: center;
  min-height: 1.75rem;
  padding: 0.16rem 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 58%, white);
  font-size: 0.8rem;
  font-weight: 650;
  line-height: 1.2;
  white-space: nowrap;
}

.ledger-account-check.is-ready,
.ledger-account-status.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 34%, var(--admin-border));
  color: var(--admin-success);
  background: color-mix(in oklab, #ecfdf5 82%, white);
}

.ledger-account-check.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 34%, var(--admin-border));
  color: var(--admin-warning);
  background: #fffbeb;
}

.ledger-account-check.is-muted,
.ledger-account-status.is-muted {
  color: var(--admin-muted);
}

.ledger-account-type {
  border-radius: 0.45rem;
}

.ledger-account-subsection {
  display: block;
  margin-top: 0.15rem;
  color: var(--admin-muted);
  font-size: 0.82rem;
}

.ledger-accounts-display-limit {
  margin-bottom: 0.75rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid color-mix(in oklab, var(--admin-warning) 28%, var(--admin-border));
  border-radius: 0.5rem;
  color: #7c2d12;
  background: #fffbeb;
  font-size: 0.9rem;
  line-height: 1.45;
}

.ledger-account-form {
  display: grid;
  gap: 0.9rem;
}

.ledger-account-delete-check {
  display: flex;
  gap: 0.55rem;
  align-items: flex-start;
  margin: 0;
  color: var(--admin-text);
  font-weight: 650;
}

.ledger-account-delete-check .form-check-input {
  flex: 0 0 auto;
  margin-top: 0.18rem;
}

.ledger-account-form-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(17rem, 0.32fr);
  gap: 0.9rem;
  align-items: start;
}

.ledger-account-form-main,
.ledger-account-readiness {
  min-width: 0;
}

.ledger-account-form-section,
.ledger-account-readiness {
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
  box-shadow: var(--admin-shadow);
}

.ledger-account-form-main {
  display: grid;
  gap: 0.9rem;
}

.ledger-account-form-section-head,
.ledger-account-readiness-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

.ledger-account-form-section-head span,
.ledger-account-readiness-head span {
  color: var(--admin-muted);
  font-size: 0.8rem;
  font-weight: 650;
}

.ledger-account-readiness {
  position: sticky;
  top: 5rem;
  display: grid;
  gap: 0.65rem;
}

.ledger-account-readiness-list {
  display: grid;
  gap: 0.5rem;
  margin: 0;
  padding-left: 1.1rem;
  color: var(--admin-muted);
  font-size: 0.9rem;
}

.ledger-account-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.journal-entry-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.36fr);
  gap: 0.9rem;
  align-items: start;
}

.journal-entry-layout h2 {
  margin-bottom: 0.55rem;
}

.journal-entry-layout > section {
  min-width: 0;
}

.opening-balances-summary {
  margin-bottom: 0.9rem;
}

.opening-balances-tools {
  gap: 0.5rem;
}

.opening-balances-operations {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(16rem, 0.36fr);
  gap: 0.9rem;
  align-items: stretch;
  margin-bottom: 0.9rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
  box-shadow: var(--admin-shadow);
}

.opening-balances-checks {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.45rem;
  align-content: flex-start;
}

.opening-balances-control-panel {
  display: grid;
  gap: 0.8rem;
  margin-bottom: 0.9rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.opening-balances-control-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.9rem;
}

.opening-balances-control-head h2 {
  margin: 0.25rem 0 0.2rem;
  color: var(--admin-text);
  font-weight: 700;
}

.opening-balances-control-head p {
  max-width: 72ch;
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.92rem;
  line-height: 1.45;
}

.opening-balances-control-status {
  display: inline-flex;
  align-items: center;
  min-height: 1.55rem;
  padding: 0.16rem 0.48rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 700;
}

.opening-balances-control-status.is-ready {
  color: #14532d;
  border-color: #86efac;
  background: #dcfce7;
}

.opening-balances-control-status.is-warning {
  color: #78350f;
  border-color: #fcd34d;
  background: #fffbeb;
}

.opening-balances-control-status.is-info {
  color: #1e3a8a;
  border-color: #93c5fd;
  background: #dbeafe;
}

.opening-balances-control-status.is-muted {
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 60%, white);
}

.opening-balances-control-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.45rem;
}

.opening-balances-control-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.55rem;
  margin: 0;
}

.opening-balances-control-grid div {
  min-width: 0;
  padding: 0.7rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 50%, white);
}

.opening-balances-control-grid dt {
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.opening-balances-control-grid dd {
  margin: 0.18rem 0 0;
  color: var(--admin-text);
  font-variant-numeric: tabular-nums;
  font-weight: 750;
}

.opening-balances-readiness-panel {
  display: grid;
  gap: 0.75rem;
  margin-bottom: 0.9rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.opening-balances-readiness-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.7rem;
}

.opening-balances-readiness-head h2 {
  margin: 0;
  color: var(--admin-text);
  font-weight: 720;
}

.opening-balances-readiness-head p {
  max-width: 72ch;
  margin: 0.15rem 0 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

.opening-balances-readiness-head > span {
  display: inline-flex;
  align-items: center;
  min-height: 1.55rem;
  padding: 0.16rem 0.48rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 60%, white);
  font-size: 0.78rem;
  font-weight: 700;
}

.opening-balances-readiness-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
  gap: 0.6rem;
}

.opening-balances-readiness-card {
  display: flex;
  min-width: 0;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.65rem;
  padding: 0.68rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 50%, white);
}

.opening-balances-readiness-card > div {
  min-width: 0;
}

.opening-balances-readiness-card span,
.opening-balances-readiness-card small {
  display: block;
  color: var(--admin-muted);
  font-size: 0.78rem;
  line-height: 1.35;
}

.opening-balances-readiness-card strong {
  display: block;
  margin: 0.1rem 0;
  color: var(--admin-text);
  font-size: 1.25rem;
  font-weight: 760;
  line-height: 1.15;
  font-variant-numeric: tabular-nums;
}

.opening-balances-readiness-card-ready {
  border-color: color-mix(in oklab, var(--admin-success) 26%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-success) 7%, white);
}

.opening-balances-readiness-card-warning {
  border-color: #fcd34d;
  background: #fffbeb;
}

.opening-balances-readiness-card-info {
  border-color: #93c5fd;
  background: #eff6ff;
}

.opening-balances-readiness-card-muted {
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 62%, white);
}

.opening-balances-fiscal-panel {
  display: grid;
  gap: 0.75rem;
  margin-bottom: 0.9rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: color-mix(in oklab, var(--admin-bg) 48%, white);
}

.opening-balances-fiscal-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.8rem;
}

.opening-balances-fiscal-head h2 {
  margin: 0.25rem 0 0.2rem;
  color: var(--admin-text);
  font-weight: 720;
}

.opening-balances-fiscal-head p {
  max-width: 72ch;
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

.opening-balances-fiscal-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.45rem;
}

.opening-balances-fiscal-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.55rem;
  margin: 0;
}

.opening-balances-fiscal-grid div {
  min-width: 0;
  padding: 0.7rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: var(--admin-surface);
}

.opening-balances-fiscal-grid dt,
.opening-balances-fiscal-grid small {
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.opening-balances-fiscal-grid dd {
  margin: 0.18rem 0 0.1rem;
  color: var(--admin-text);
  font-variant-numeric: tabular-nums;
  font-weight: 760;
  overflow-wrap: anywhere;
}

.opening-balance-form {
  display: grid;
  gap: 0.9rem;
}

.opening-balance-form-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.34fr);
  gap: 0.9rem;
  align-items: start;
}

.opening-balance-form-main,
.opening-balance-readiness {
  min-width: 0;
}

.opening-balance-form-main {
  display: grid;
  gap: 0.9rem;
}

.opening-balance-form-section,
.opening-balance-readiness {
  min-width: 0;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
  box-shadow: var(--admin-shadow);
}

.opening-balance-form-section-head,
.opening-balance-readiness-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

.opening-balance-form-section-head span,
.opening-balance-readiness-head span {
  color: var(--admin-muted);
  font-size: 0.8rem;
  font-weight: 650;
}

.opening-balance-readiness {
  position: sticky;
  top: 5rem;
  display: grid;
  gap: 0.65rem;
}

.opening-balance-readiness-head h2 {
  margin: 0;
  font-size: 1rem;
}

.opening-balance-readiness p {
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

.opening-balance-live-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.45rem;
}

.opening-balance-live-summary div {
  min-width: 0;
  padding: 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 52%, white);
}

.opening-balance-live-summary span {
  display: block;
  color: var(--admin-muted);
  font-size: 0.76rem;
  font-weight: 650;
}

.opening-balance-live-summary strong {
  display: block;
  margin-top: 0.15rem;
  color: var(--admin-text);
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

.opening-balance-live-status {
  padding: 0.55rem 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  color: var(--admin-muted);
  background: var(--admin-surface);
  font-size: 0.86rem;
  line-height: 1.35;
}

.opening-balance-live-status.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 34%, var(--admin-border));
  color: #115e59;
  background: color-mix(in oklab, var(--admin-success) 8%, var(--admin-surface));
}

.opening-balance-live-status.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 34%, var(--admin-border));
  color: #78350f;
  background: #fffbeb;
}

.opening-balance-live-status.is-muted {
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 56%, white);
}

.opening-balance-readiness-list {
  display: grid;
  gap: 0.5rem;
  margin: 0;
  padding-left: 1.1rem;
  color: var(--admin-muted);
  font-size: 0.9rem;
}

.opening-balance-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.opening-balance-form-table-shell .admin-table {
  min-width: 0;
}

.vat-register-summary {
  margin-bottom: 0.9rem;
}

.vat-register-filter {
  display: grid;
  gap: 0.75rem;
  margin-bottom: 0.9rem;
}

.vat-register-filter-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.vat-register-filter-head div {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
}

.vat-register-filter-head strong {
  color: var(--admin-text);
  font-size: 0.95rem;
}

.vat-register-filter-head span {
  color: var(--admin-muted);
  font-size: 0.84rem;
}

.vat-register-filter-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(10rem, 0.25fr)) minmax(14rem, auto);
  gap: 0.65rem;
  align-items: end;
}

.vat-register-filter-field {
  min-width: 0;
}

.vat-register-filter-field .form-label {
  margin-bottom: 0.25rem;
}

.vat-register-filter-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.vat-register-filter-actions .btn {
  min-height: 38px;
  white-space: nowrap;
}

.vat-register-period-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(22rem, 0.62fr);
  gap: 0.9rem;
  align-items: stretch;
  margin-bottom: 0.9rem;
  padding: 0.9rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 18%, var(--admin-border));
  border-radius: var(--admin-radius);
  background: color-mix(in oklab, var(--admin-primary-soft) 35%, white);
}

.vat-register-period-copy {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  min-width: 0;
}

.vat-register-period-copy h2 {
  margin: 0 0 0.2rem;
  font-size: 1.05rem;
  line-height: 1.25;
}

.vat-register-period-copy p {
  max-width: 70ch;
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

.vat-register-period-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem;
}

.vat-register-period-metrics span {
  display: grid;
  gap: 0.1rem;
  min-width: 0;
  padding: 0.6rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  color: var(--admin-muted);
  background: var(--admin-surface);
  font-size: 0.8rem;
}

.vat-register-period-metrics strong {
  color: var(--admin-text);
  font-size: 0.95rem;
}

.vat-register-fiscal-desk {
  display: grid;
  gap: 0.75rem;
  margin-bottom: 0.9rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.vat-register-fiscal-desk-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.8rem;
}

.vat-register-fiscal-desk-head h2 {
  margin: 0.25rem 0 0.2rem;
  color: var(--admin-text);
  font-size: 1.05rem;
  font-weight: 720;
  line-height: 1.25;
}

.vat-register-fiscal-desk-head p {
  max-width: 72ch;
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

.vat-register-fiscal-status {
  display: inline-flex;
  align-items: center;
  min-height: 1.55rem;
  padding: 0.16rem 0.48rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 700;
}

.vat-register-fiscal-status.is-ready {
  color: #14532d;
  border-color: #86efac;
  background: #dcfce7;
}

.vat-register-fiscal-status.is-warning {
  color: #78350f;
  border-color: #fcd34d;
  background: #fffbeb;
}

.vat-register-fiscal-status.is-info {
  color: #1e3a8a;
  border-color: #93c5fd;
  background: #dbeafe;
}

.vat-register-fiscal-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.45rem;
}

.vat-register-fiscal-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.55rem;
  margin: 0;
}

.vat-register-fiscal-grid div {
  min-width: 0;
  padding: 0.7rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 48%, white);
}

.vat-register-fiscal-grid dt,
.vat-register-fiscal-grid small {
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.vat-register-fiscal-grid dd {
  margin: 0.18rem 0 0.1rem;
  color: var(--admin-text);
  font-variant-numeric: tabular-nums;
  font-weight: 760;
  overflow-wrap: anywhere;
}

.vat-register-tools {
  gap: 0.5rem;
}

.vat-register-card {
  min-width: 0;
}

.vat-register-operations {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(17rem, 0.38fr);
  gap: 0.9rem;
  align-items: stretch;
  margin-bottom: 0.9rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
  box-shadow: var(--admin-shadow);
}

.vat-register-checks {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.45rem;
  align-content: flex-start;
}

.vat-register-rate-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.9rem;
  margin-bottom: 0.9rem;
}

.vat-register-panel {
  min-width: 0;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
  box-shadow: var(--admin-shadow);
}

.vat-register-panel-head,
.vat-register-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

.vat-register-panel-head h2,
.vat-register-section-head h2 {
  margin-bottom: 0.2rem;
}

.vat-register-panel-head span {
  color: var(--admin-muted);
  font-size: 0.8rem;
  font-weight: 650;
  white-space: nowrap;
}

.vat-register-rate-table-shell .admin-table,
.vat-register-documents-table-shell .admin-table {
  min-width: 0;
}

.ledger-report-summary {
  margin-bottom: 0.9rem;
}

.ledger-account-ledger-filter {
  display: grid;
  gap: 0.75rem;
}

.ledger-account-ledger-filter-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.ledger-account-ledger-filter-head div {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
}

.ledger-account-ledger-filter-head strong {
  color: var(--admin-text);
  font-size: 0.95rem;
}

.ledger-account-ledger-filter-head span {
  color: var(--admin-muted);
  font-size: 0.84rem;
}

.ledger-account-ledger-filter-grid {
  display: grid;
  grid-template-columns: minmax(18rem, 1.6fr) minmax(12rem, 1fr) repeat(2, minmax(9rem, 0.75fr)) auto;
  gap: 0.65rem;
  align-items: end;
}

.ledger-account-ledger-field {
  min-width: 0;
}

.ledger-account-ledger-field .form-label {
  margin-bottom: 0.25rem;
}

.ledger-account-ledger-submit .btn {
  min-height: 38px;
  white-space: nowrap;
}

.ledger-account-ledger-picker {
  display: grid;
  gap: 0.85rem;
  padding: 1rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: color-mix(in oklab, var(--admin-primary-soft) 34%, white);
}

.ledger-account-ledger-picker h2 {
  margin-bottom: 0.25rem;
  font-size: 1.08rem;
}

.ledger-account-ledger-picker p {
  max-width: 66ch;
  margin-bottom: 0;
  color: var(--admin-muted);
}

.ledger-account-ledger-picker-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem;
}

.ledger-account-ledger-picker-grid span {
  display: grid;
  gap: 0.1rem;
  min-width: 0;
  padding: 0.65rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 16%, var(--admin-border));
  border-radius: 0.5rem;
  color: var(--admin-muted);
  background: var(--admin-surface);
  font-size: 0.82rem;
}

.ledger-account-ledger-picker-grid strong {
  color: var(--admin-text);
  font-size: 0.95rem;
}

.ledger-report-tools {
  gap: 0.5rem;
}

.ledger-report-operations {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(17rem, 0.38fr);
  gap: 0.9rem;
  align-items: stretch;
  margin-bottom: 0.9rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
  box-shadow: var(--admin-shadow);
}

.ledger-report-checks {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.45rem;
  align-content: flex-start;
}

.ledger-report-trend {
  display: grid;
  gap: 0.8rem;
  margin-bottom: 0.9rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: color-mix(in oklab, var(--admin-bg) 48%, white);
}

.ledger-report-trend-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.ledger-report-trend-head h2 {
  margin: 0 0 0.25rem;
  font-size: 1.05rem;
  line-height: 1.25;
}

.ledger-report-trend-head p {
  max-width: 68ch;
  margin: 0;
  color: var(--admin-muted);
}

.ledger-report-trend-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.6rem;
}

.ledger-report-trend-metrics div,
.ledger-report-trend-area {
  min-width: 0;
  padding: 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: var(--admin-surface);
}

.ledger-report-trend-metrics span,
.ledger-report-trend-metrics small,
.ledger-report-trend-area span,
.ledger-report-trend-area dt {
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.ledger-report-trend-metrics strong {
  display: block;
  margin: 0.12rem 0;
  color: var(--admin-text);
  font-size: 0.94rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.ledger-report-trend-areas {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.6rem;
}

.ledger-report-trend-area {
  display: grid;
  gap: 0.55rem;
}

.ledger-report-trend-area strong {
  display: block;
  color: var(--admin-text);
  line-height: 1.25;
}

.ledger-report-trend-area dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.45rem;
  margin: 0;
}

.ledger-report-trend-area dd {
  margin: 0.1rem 0 0;
  color: var(--admin-text);
  font-weight: 750;
  overflow-wrap: anywhere;
}

.ledger-report-trend-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.ledger-report-table-shell .admin-table {
  min-width: 0;
}

.ledger-report-statement-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.9rem;
  align-items: start;
}

.ledger-report-statement-panel {
  min-width: 0;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
  box-shadow: var(--admin-shadow);
}

.ledger-report-statement-panel:nth-child(3) {
  grid-column: 2;
}

.ledger-report-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

.ledger-report-section-head span {
  color: var(--admin-ink);
  font-weight: 750;
  white-space: nowrap;
}

.journal-balance-wizard {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: color-mix(in oklab, var(--admin-bg) 42%, white);
}

.journal-balance-wizard-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.journal-balance-wizard-head h2 {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.25;
}

.journal-balance-wizard-head span {
  display: inline-flex;
  align-items: center;
  min-height: 1.8rem;
  padding: 0.15rem 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 58%, white);
  font-size: 0.8rem;
  font-weight: 650;
  white-space: nowrap;
}

.journal-balance-wizard-head span.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 34%, var(--admin-border));
  color: var(--admin-success);
}

.journal-balance-wizard-head span.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 34%, var(--admin-border));
  color: var(--admin-warning);
}

.journal-balance-wizard p {
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
  line-height: 1.5;
}

.journal-balance-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem;
  margin: 0;
}

.journal-balance-list div {
  min-width: 0;
  padding: 0.6rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 58%, white);
}

.journal-balance-list dt {
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.journal-balance-list dd {
  margin: 0.15rem 0 0;
  color: var(--admin-text);
  font-size: 0.92rem;
  overflow-wrap: anywhere;
}

.journal-balance-fix {
  display: grid;
  gap: 0.45rem;
}

.journal-balance-alert {
  padding: 0.65rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 20%, var(--admin-border));
  border-radius: 0.5rem;
  color: var(--admin-primary-dark);
  background: var(--admin-primary-soft);
  font-size: 0.86rem;
  line-height: 1.45;
}

.journal-balance-alert.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 34%, var(--admin-border));
  color: #7c2d12;
  background: #fffbeb;
}

.settings-overall-badge {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  padding-right: 0.7rem;
  padding-left: 0.7rem;
}

.settings-health-summary {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.settings-health-summary h2,
.settings-shortcut-head h2 {
  margin: 0;
  font-size: 1.08rem;
  line-height: 1.25;
}

.settings-health-summary p,
.settings-shortcut-head p {
  margin: 0.2rem 0 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
}

.settings-health-counters {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: flex-end;
}

.settings-health-counters span {
  min-width: 6.5rem;
  padding: 0.45rem 0.6rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 58%, white);
  color: var(--admin-muted);
  font-size: 0.82rem;
  text-align: right;
}

.settings-health-counters strong {
  display: block;
  color: var(--admin-text);
  font-size: 1.05rem;
  line-height: 1.1;
}

.settings-priority-panel {
  display: grid;
  gap: 0.75rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.settings-priority-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.settings-priority-head h2 {
  margin: 0;
  font-size: 1.08rem;
  line-height: 1.25;
}

.settings-priority-head p {
  max-width: 68ch;
  margin: 0.2rem 0 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
}

.settings-priority-count {
  flex: 0 0 auto;
  padding: 0.35rem 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  background: color-mix(in oklab, var(--admin-bg) 56%, white);
  color: var(--admin-muted);
  font-size: 0.8rem;
  font-weight: 650;
  white-space: nowrap;
}

.settings-priority-list {
  display: grid;
  gap: 0.55rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.settings-priority-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0.65rem;
  align-items: center;
  min-width: 0;
  padding: 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.55rem;
  background: color-mix(in oklab, var(--admin-bg) 52%, white);
}

.settings-priority-index {
  display: inline-grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  color: var(--admin-primary-dark);
  background: var(--admin-primary-soft);
  font-size: 0.84rem;
  font-weight: 750;
  font-variant-numeric: tabular-nums;
}

.settings-priority-main {
  display: grid;
  gap: 0.25rem;
  min-width: 0;
}

.settings-priority-title {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
}

.settings-priority-title strong {
  color: var(--admin-text);
  font-size: 0.95rem;
  line-height: 1.25;
}

.settings-priority-main p {
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.86rem;
  line-height: 1.42;
}

.settings-priority-main small {
  color: var(--admin-text);
  font-size: 0.8rem;
  font-weight: 650;
}

.settings-priority-item .btn {
  white-space: nowrap;
}

.settings-health-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
  gap: 0.75rem;
}

.settings-health-card {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  min-width: 0;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.settings-health-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.settings-health-card h3 {
  margin: 0;
  font-size: 1rem;
  line-height: 1.25;
}

.settings-health-card p {
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.86rem;
}

.settings-health-card ul {
  display: grid;
  gap: 0.3rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.settings-health-card li {
  min-width: 0;
  padding: 0.35rem 0.45rem;
  border-radius: 0.4rem;
  background: color-mix(in oklab, var(--admin-bg) 62%, white);
  color: var(--admin-text);
  font-size: 0.82rem;
}

.settings-health-card .btn {
  width: fit-content;
  margin-top: auto;
}

.security-page {
  gap: 0.9rem;
}

.security-command-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(22rem, 0.85fr);
  gap: 0.9rem;
  align-items: stretch;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
  box-shadow: var(--admin-shadow);
}

.security-command-copy {
  min-width: 0;
}

.security-command-copy p {
  margin: 0.35rem 0 0.75rem;
  color: var(--admin-muted);
  font-size: 0.92rem;
  line-height: 1.5;
}

.security-command-action {
  display: inline-grid;
  gap: 0.1rem;
  min-width: min(100%, 20rem);
  padding: 0.55rem 0.7rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 20%, var(--admin-border));
  border-radius: 0.5rem;
  background: var(--admin-primary-soft);
}

.security-command-action span,
.security-command-metrics dt {
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.security-command-action strong {
  color: var(--admin-primary-dark);
  font-size: 0.95rem;
}

.security-command-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem;
  margin: 0;
}

.security-command-metrics div {
  min-width: 0;
  padding: 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 58%, white);
}

.security-command-metrics .security-score-metric {
  grid-row: span 2;
  display: grid;
  align-content: center;
  border-color: color-mix(in oklab, var(--admin-primary) 24%, var(--admin-border));
}

.security-command-metrics dd {
  margin: 0.15rem 0 0;
  color: var(--admin-text);
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1.1;
  font-variant-numeric: tabular-nums;
}

.security-command-metrics .security-score-metric dd {
  font-size: 1.55rem;
}

.security-score-metric span {
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 650;
  line-height: 1.25;
}

.security-score-metric.is-strong {
  background: color-mix(in oklab, var(--admin-success) 9%, white);
  border-color: color-mix(in oklab, var(--admin-success) 28%, var(--admin-border));
}

.security-score-metric.is-watch {
  background: color-mix(in oklab, var(--admin-warning) 14%, white);
  border-color: color-mix(in oklab, var(--admin-warning) 30%, var(--admin-border));
}

.security-score-metric.is-critical {
  background: color-mix(in oklab, var(--admin-danger) 9%, white);
  border-color: color-mix(in oklab, var(--admin-danger) 28%, var(--admin-border));
}

.security-db-role-panel,
.security-tenant-catalog-panel,
.security-secrets-panel,
.security-login-panel,
.security-twofactor-panel,
.security-hardening-panel,
.security-rls-panel {
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
  box-shadow: var(--admin-shadow);
}

.security-login-panel {
  display: grid;
  gap: 0.85rem;
  padding: 0.9rem;
}

.security-login-head,
.security-login-section-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.65rem;
}

.security-login-head h2,
.security-login-section-head h3 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1.05rem;
  line-height: 1.25;
}

.security-login-head p {
  max-width: 72ch;
  margin: 0.25rem 0 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
  line-height: 1.5;
}

.security-login-action {
  display: grid;
  gap: 0.15rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 20%, var(--admin-border));
  border-radius: 0.5rem;
  background: var(--admin-primary-soft);
}

.security-login-action span,
.security-login-metrics dt,
.security-login-section-head span {
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.security-login-action strong {
  color: var(--admin-primary-dark);
  font-size: 0.92rem;
  line-height: 1.4;
}

.security-login-metrics {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin: 0;
  border-block: 1px solid var(--admin-border);
}

.security-login-metrics div {
  min-width: 0;
  padding: 0.7rem;
}

.security-login-metrics div + div {
  border-left: 1px solid var(--admin-border);
}

.security-login-metrics dd {
  margin: 0.2rem 0 0;
  color: var(--admin-text);
  font-size: 1.15rem;
  font-weight: 750;
  font-variant-numeric: tabular-nums;
}

.security-login-sources {
  display: grid;
  gap: 0.55rem;
}

.security-login-table-shell td {
  overflow-wrap: anywhere;
}

.security-login-events {
  margin-top: 0;
}

.security-login-events[open] summary {
  margin-bottom: 0.65rem;
}

.security-secrets-panel {
  display: grid;
  gap: 0.8rem;
  padding: 0.9rem;
}

.security-secrets-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.65rem;
}

.security-secrets-head h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1.05rem;
  line-height: 1.25;
  text-wrap: balance;
}

.security-secrets-head p {
  max-width: 72ch;
  margin: 0.25rem 0 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
  line-height: 1.5;
  text-wrap: pretty;
}

.security-secrets-summary {
  display: flex;
  align-items: baseline;
  gap: 0.4rem;
  color: var(--admin-muted);
  font-size: 0.85rem;
}

.security-secrets-summary strong {
  color: var(--admin-text);
  font-size: 1.3rem;
  font-variant-numeric: tabular-nums;
}

.security-secrets-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.security-secrets-list li {
  display: flex;
  min-width: 0;
  min-height: 4.25rem;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.65rem;
  padding: 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 58%, white);
}

.security-secrets-list li.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 34%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-warning) 9%, white);
}

.security-secrets-list li > div {
  display: grid;
  min-width: 0;
  gap: 0.18rem;
}

.security-secrets-list strong {
  color: var(--admin-text);
  font-size: 0.9rem;
  line-height: 1.3;
}

.security-secrets-list li > div > span,
.security-secrets-note {
  color: var(--admin-muted);
  font-size: 0.8rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.security-key-inventory {
  display: grid;
  gap: 0.8rem;
  padding-top: 1rem;
  border-top: 1px solid var(--admin-border);
}

.security-key-inventory-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.security-key-inventory-head h3,
.security-key-inventory-head p {
  margin: 0;
}

.security-key-inventory-head h3 {
  font-size: 1rem;
}

.security-key-inventory-head p {
  max-width: 70ch;
  color: var(--admin-muted);
  font-size: 0.86rem;
}

.security-key-metrics {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin: 0;
  border-block: 1px solid var(--admin-border);
}

.security-key-metrics > div {
  min-width: 0;
  padding: 0.65rem 0.75rem;
}

.security-key-metrics > div + div {
  border-inline-start: 1px solid var(--admin-border);
}

.security-key-metrics dt {
  color: var(--admin-muted);
  font-size: 0.74rem;
  font-weight: 650;
}

.security-key-metrics dd {
  margin: 0.1rem 0 0;
  font-size: 1.05rem;
  font-weight: 750;
}

.security-key-metrics .is-critical {
  color: var(--admin-danger);
  background: color-mix(in srgb, var(--admin-danger) 7%, transparent);
}

.security-key-next-action {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 0.7rem;
  align-items: baseline;
  font-size: 0.84rem;
}

.security-key-next-action span {
  color: var(--admin-muted);
}

.security-key-verification-command {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--admin-border);
  background: color-mix(in srgb, var(--admin-primary) 4%, transparent);
}

.security-key-verification-command > div {
  display: grid;
  min-width: 0;
  gap: 0.1rem;
}

.security-key-verification-command strong {
  font-size: 0.86rem;
}

.security-key-verification-command span {
  color: var(--admin-muted);
  font-size: 0.78rem;
}

.security-key-verification-result {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--admin-border);
}

.security-key-verification-result.is-success {
  border-color: color-mix(in srgb, var(--admin-success) 40%, var(--admin-border));
  background: color-mix(in srgb, var(--admin-success) 7%, transparent);
}

.security-key-verification-result.is-danger {
  border-color: color-mix(in srgb, var(--admin-danger) 40%, var(--admin-border));
  background: color-mix(in srgb, var(--admin-danger) 7%, transparent);
}

.security-key-verification-result > div {
  display: grid;
  gap: 0.1rem;
}

.security-key-verification-result span,
.security-key-verification-result dt {
  color: var(--admin-muted);
  font-size: 0.76rem;
}

.security-key-verification-result dl {
  display: flex;
  gap: 1rem;
  margin: 0;
}

.security-key-verification-result dl > div {
  text-align: right;
}

.security-key-verification-result dd {
  margin: 0;
  font-weight: 750;
}

.security-key-rotation {
  display: grid;
  gap: 0.65rem;
  padding-top: 0.8rem;
  border-top: 1px solid var(--admin-border);
}

.security-key-rotation-head,
.security-key-rotation-job-head,
.security-key-rotation-job-foot {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.security-key-rotation-head h4,
.security-key-rotation-head p {
  margin: 0;
}

.security-key-rotation-head h4 {
  font-size: 0.92rem;
}

.security-key-rotation-head p,
.security-key-rotation-job-head span,
.security-key-rotation-job-foot {
  color: var(--admin-muted);
  font-size: 0.76rem;
}

.security-key-rotation-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: 0.7rem;
  align-items: end;
}

.security-key-rotation-jobs {
  display: grid;
  gap: 0.5rem;
}

.security-key-rotation-jobs > div {
  display: grid;
  gap: 0.45rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--admin-border);
}

.security-key-rotation-job-head > div {
  display: grid;
  gap: 0.05rem;
}

.security-key-rotation-job-foot {
  align-items: center;
}

.security-key-rotation-job-foot > span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.security-key-rings {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 1px solid var(--admin-border);
}

.security-key-rings > div {
  display: grid;
  min-width: 0;
  gap: 0.08rem;
  padding: 0.65rem 0.75rem;
}

.security-key-rings > div + div {
  border-inline-start: 1px solid var(--admin-border);
}

.security-key-rings span,
.security-key-rings small {
  color: var(--admin-muted);
  font-size: 0.75rem;
}

.security-key-rings strong {
  overflow-wrap: anywhere;
  font-size: 0.88rem;
}

.security-key-details summary {
  width: fit-content;
  color: var(--admin-link);
  cursor: pointer;
  font-size: 0.84rem;
  font-weight: 700;
}

.security-key-details[open] summary {
  margin-bottom: 0.65rem;
}

@media (max-width: 991.98px) {
  .security-key-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .security-key-metrics > div:nth-child(4) {
    border-inline-start: 0;
  }

  .security-key-metrics > div:nth-child(n + 4) {
    border-top: 1px solid var(--admin-border);
  }
}

@media (max-width: 575.98px) {
  .security-key-inventory-head {
    align-items: stretch;
    flex-direction: column;
  }

  .security-key-inventory-head .badge {
    align-self: flex-start;
  }

  .security-key-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .security-key-metrics > div:nth-child(3),
  .security-key-metrics > div:nth-child(5) {
    border-inline-start: 0;
  }

  .security-key-metrics > div:nth-child(n + 3) {
    border-top: 1px solid var(--admin-border);
  }

  .security-key-next-action {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.15rem;
  }

  .security-key-verification-command,
  .security-key-verification-result {
    align-items: stretch;
    flex-direction: column;
  }

  .security-key-verification-command .btn {
    width: 100%;
  }

  .security-key-verification-result dl {
    justify-content: flex-start;
  }

  .security-key-verification-result dl > div {
    text-align: left;
  }

  .security-key-rotation-head,
  .security-key-rotation-job-foot {
    align-items: stretch;
    flex-direction: column;
  }

  .security-key-rotation-head .badge {
    align-self: flex-start;
  }

  .security-key-rotation-form {
    grid-template-columns: minmax(0, 1fr);
  }

  .security-key-rotation-form .btn,
  .security-key-rotation-job-foot form,
  .security-key-rotation-job-foot .btn {
    width: 100%;
  }

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

  .security-key-rings > div + div {
    border-inline-start: 0;
    border-top: 1px solid var(--admin-border);
  }
}

.security-secrets-list .badge {
  flex: 0 0 auto;
}

.security-secrets-note {
  max-width: 75ch;
  margin: 0;
}

.security-hardening-panel {
  display: grid;
  gap: 0.85rem;
  padding: 0.9rem;
}

.security-hardening-head {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: flex-start;
  justify-content: space-between;
}

.security-hardening-head h2,
.security-runbook h3 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1.05rem;
  line-height: 1.25;
}

.security-hardening-head p {
  max-width: 72ch;
  margin: 0.25rem 0 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

.security-hardening-count {
  padding: 0.35rem 0.55rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 18%, var(--admin-border));
  border-radius: 999px;
  color: var(--admin-primary-dark);
  background: var(--admin-primary-soft);
  font-size: 0.78rem;
  font-weight: 700;
  white-space: nowrap;
}

.security-hardening-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 0.85fr);
  gap: 0.8rem;
  align-items: start;
}

.security-priority-list {
  display: grid;
  gap: 0.5rem;
}

.security-priority-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(12rem, 0.75fr) auto;
  gap: 0.65rem;
  align-items: center;
  padding: 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.55rem;
  background: color-mix(in oklab, var(--admin-bg) 50%, white);
}

.security-priority-item > div:first-child {
  display: grid;
  gap: 0.1rem;
  min-width: 0;
}

.security-priority-item code {
  color: var(--admin-text);
  overflow-wrap: anywhere;
}

.security-priority-item > div:first-child span {
  color: var(--admin-muted);
  font-size: 0.78rem;
  overflow-wrap: anywhere;
}

.security-priority-item dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.35rem;
  margin: 0;
}

.security-priority-item dl div {
  display: grid;
  gap: 0.08rem;
  min-width: 0;
}

.security-priority-item dt {
  color: var(--admin-muted);
  font-size: 0.68rem;
  font-weight: 700;
}

.security-priority-item dd {
  margin: 0;
  color: var(--admin-text);
  font-size: 0.82rem;
  font-weight: 700;
}

.security-runbook {
  display: grid;
  gap: 0.65rem;
  padding: 0.75rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 16%, var(--admin-border));
  border-radius: 0.55rem;
  background: color-mix(in oklab, var(--admin-bg) 62%, white);
}

.security-runbook ol {
  display: grid;
  gap: 0.55rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.security-runbook li {
  display: grid;
  gap: 0.15rem;
  padding-left: 0.6rem;
  border-left: 1px solid var(--admin-border);
}

.security-runbook li span {
  color: var(--admin-muted);
  font-size: 0.72rem;
  font-weight: 750;
}

.security-runbook li strong {
  color: var(--admin-text);
  font-size: 0.9rem;
}

.security-runbook li p {
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.84rem;
  line-height: 1.42;
}

.security-db-role-panel {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(20rem, 0.95fr);
  gap: 0.9rem;
  padding: 0.9rem;
}

.security-tenant-catalog-panel {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(20rem, 0.95fr);
  gap: 0.9rem;
  padding: 0.9rem;
}

.security-db-role-copy {
  min-width: 0;
}

.security-db-role-copy p {
  max-width: 72ch;
  margin: 0.35rem 0 0.75rem;
  color: var(--admin-muted);
  font-size: 0.9rem;
  line-height: 1.48;
}

.security-db-role-action {
  display: inline-grid;
  gap: 0.1rem;
  width: min(100%, 32rem);
  padding: 0.55rem 0.7rem;
  border: 1px solid color-mix(in oklab, var(--admin-warning) 24%, var(--admin-border));
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-warning) 12%, white);
}

.security-db-role-action span,
.security-db-role-metrics dt {
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.security-db-role-action strong {
  color: var(--admin-text);
  font-size: 0.92rem;
  line-height: 1.35;
}

.security-db-role-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem;
  margin: 0;
}

.security-db-role-metrics div {
  min-width: 0;
  padding: 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 58%, white);
}

.security-db-role-metrics dd {
  margin: 0.15rem 0 0;
  color: var(--admin-text);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

.security-twofactor-panel {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(18rem, 0.95fr);
  gap: 1rem;
  padding: 0.9rem;
}

.security-twofactor-copy p {
  margin: 0.35rem 0 0.75rem;
  color: var(--admin-muted);
  line-height: 1.5;
}

.security-twofactor-role {
  display: inline-grid;
  gap: 0.1rem;
  min-width: min(100%, 18rem);
  padding: 0.55rem 0.7rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 55%, white);
}

.security-twofactor-role span {
  color: var(--admin-muted);
  font-size: 0.78rem;
}

.security-twofactor-role strong {
  color: var(--admin-text);
  font-size: 0.95rem;
}

.security-twofactor-checklist {
  min-width: 0;
  padding: 0.75rem;
  border: 1px solid color-mix(in oklab, var(--admin-warning) 22%, var(--admin-border));
  border-radius: 0.5rem;
  background: color-mix(in oklab, #fef3c7 48%, white);
}

.security-twofactor-checklist h3 {
  margin: 0 0 0.45rem;
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.25;
}

.security-twofactor-checklist ul {
  display: grid;
  gap: 0.35rem;
  margin: 0;
  padding-left: 1.15rem;
  color: #5b6472;
  font-size: 0.87rem;
  line-height: 1.45;
}

.security-twofactor-feedback,
.security-recovery-output,
.security-enrollment-workspace,
.security-twofactor-management,
.security-twofactor-start {
  grid-column: 1 / -1;
}

.security-recovery-output {
  display: grid;
  grid-template-columns: minmax(15rem, 0.8fr) minmax(0, 1.2fr);
  gap: 1rem;
  padding: 0.85rem;
  border: 1px solid color-mix(in oklab, var(--admin-warning) 38%, var(--admin-border));
  border-radius: 0.5rem;
  background: color-mix(in oklab, #fef3c7 42%, white);
}

.security-recovery-output h3,
.security-enrollment-workspace h3,
.security-twofactor-management h3 {
  margin: 0 0 0.35rem;
  font-size: 1rem;
}

.security-recovery-output p {
  margin: 0;
  color: var(--admin-muted);
}

.security-recovery-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.45rem;
}

.security-recovery-grid code,
.security-manual-key code {
  display: block;
  min-width: 0;
  padding: 0.5rem 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.35rem;
  background: var(--admin-surface);
  color: var(--admin-text);
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}

.security-enrollment-workspace {
  display: grid;
  grid-template-columns: minmax(14rem, 0.72fr) minmax(0, 1.28fr);
  gap: 1rem;
  padding-top: 0.9rem;
  border-top: 1px solid var(--admin-border);
}

.security-enrollment-qr img {
  display: block;
  width: min(220px, 100%);
  height: auto;
  margin-top: 0.55rem;
  border: 1px solid var(--admin-border);
}

.security-enrollment-steps {
  display: grid;
  align-content: start;
  gap: 0.75rem;
}

.security-enrollment-steps ol {
  margin: 0;
  padding-left: 1.25rem;
}

.security-manual-key {
  display: grid;
  gap: 0.3rem;
}

.security-manual-key span {
  color: var(--admin-muted);
  font-size: 0.82rem;
  font-weight: 650;
}

.security-twofactor-management {
  display: grid;
  gap: 0.9rem;
  padding-top: 0.9rem;
  border-top: 1px solid var(--admin-border);
}

.security-twofactor-management > dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem;
  margin: 0;
}

.security-twofactor-management > dl > div {
  padding: 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.4rem;
}

.security-twofactor-management dt {
  color: var(--admin-muted);
  font-size: 0.78rem;
}

.security-twofactor-management dd {
  margin: 0.15rem 0 0;
  font-weight: 700;
}

.security-twofactor-management-forms {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.security-twofactor-management-forms form {
  min-width: 0;
  padding-top: 0.75rem;
  border-top: 1px solid var(--admin-border);
}

.security-twofactor-start {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-top: 0.9rem;
  border-top: 1px solid var(--admin-border);
}

.security-twofactor-start div {
  display: grid;
  gap: 0.15rem;
}

.security-twofactor-start span {
  color: var(--admin-muted);
}

.auth-twofactor-code {
  min-height: 3rem;
  font-size: 1.2rem;
  font-variant-numeric: tabular-nums;
  text-align: center;
}

.security-rls-panel {
  display: grid;
  gap: 0.75rem;
  padding: 0.9rem;
}

.security-rls-head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.75rem;
}

.security-page .admin-table {
  min-width: 0;
  table-layout: fixed;
}

.security-page .admin-table th,
.security-page .admin-table td {
  white-space: normal;
  overflow-wrap: anywhere;
}

.security-technical-details {
  margin-top: 0;
}

.settings-shortcut-panel {
  display: grid;
  gap: 0.75rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.settings-shortcut-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.settings-shortcut-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr));
  gap: 0.55rem;
}

.settings-shortcut {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  min-height: 4.4rem;
  padding: 0.7rem 0.75rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  color: var(--admin-text);
  background: color-mix(in oklab, var(--admin-bg) 46%, white);
  text-decoration: none;
}

.settings-shortcut:hover,
.settings-shortcut:focus {
  border-color: color-mix(in oklab, var(--admin-primary) 34%, var(--admin-border));
  color: var(--admin-primary-dark);
  background: var(--admin-primary-soft);
  text-decoration: none;
}

.settings-shortcut span,
.settings-shortcut strong,
.settings-shortcut small {
  display: block;
  min-width: 0;
}

.settings-shortcut small {
  margin-top: 0.15rem;
  color: var(--admin-muted);
  font-size: 0.82rem;
}

.settings-shortcut em {
  flex: 0 0 auto;
  color: var(--admin-primary-dark);
  font-size: 0.82rem;
  font-style: normal;
  font-weight: 650;
  white-space: nowrap;
}

.document-flow-map {
  margin: 0.25rem 0 1rem;
}

.document-flow-list {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.2rem 0.45rem;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

.document-flow-step {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}

.document-flow-step-label {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
  max-width: 20rem;
  color: #4b5563;
}

.document-flow-step-label a {
  max-width: 100%;
  color: var(--admin-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.document-flow-step--current {
  font-weight: 600;
  color: #111827;
}

.document-flow-step--current span {
  color: #111827;
}

.document-flow-step-label span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.document-flow-separator {
  color: #9ca3af;
  font-weight: 700;
}

.admin-number {
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

@media (max-width: 767.98px) {
  .admin-index-page,
  .admin-index-page > *,
  .admin-filter-card,
  .admin-filter-grid,
  .admin-filter-grid > * {
    max-width: 100%;
    min-width: 0;
  }

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

  .admin-page-head {
    border-bottom: 0;
    gap: 0.9rem;
  }

  .admin-page-tools {
    width: 100%;
  }

  .admin-page-tools .btn {
    width: 100%;
  }

  .admin-filter-actions .btn {
    min-height: 2.75rem;
  }

  .admin-actions .btn {
    width: 100%;
  }

  .lead-proposal-control-head,
  .lead-proposal-control-actions {
    flex-direction: column;
    width: 100%;
  }

  .lead-proposal-control-actions .btn {
    width: 100%;
  }

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

  .lead-proposals-table-shell {
    overflow-x: clip;
  }

  .lead-proposals-table {
    min-width: 0;
  }

  .lead-proposals-table thead {
    display: none;
  }

  .lead-proposals-table,
  .lead-proposals-table tbody,
  .lead-proposals-table tr,
  .lead-proposals-table td {
    display: block;
    width: 100%;
  }

  .lead-proposals-table tr {
    padding: 0.7rem;
    border-bottom: 1px solid var(--admin-border);
  }

  .lead-proposals-table tr:last-child {
    border-bottom: 0;
  }

  .lead-proposals-table td {
    display: grid;
    grid-template-columns: 7.4rem minmax(0, 1fr);
    gap: 0.5rem;
    padding: 0.42rem 0;
    border: 0;
    text-align: left !important;
  }

  .lead-proposals-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 650;
  }

  .lead-proposals-table td[data-label="Decisione"] {
    grid-template-columns: minmax(0, 1fr);
  }

  .lead-proposals-table td[data-label="Decisione"]::before {
    margin-bottom: 0.15rem;
  }

  .sales-agents-control-panel,
  .sales-agents-control-actions {
    flex-direction: column;
    width: 100%;
  }

  .sales-agents-control-actions .btn {
    width: 100%;
  }

  .sales-agents-table-shell {
    overflow-x: clip;
  }

  .sales-agents-table {
    min-width: 0;
  }

  .sales-agents-table thead {
    display: none;
  }

  .sales-agents-table,
  .sales-agents-table tbody,
  .sales-agents-table tr,
  .sales-agents-table td {
    display: block;
    width: 100%;
  }

  .sales-agents-table tr {
    padding: 0.7rem;
    border-bottom: 1px solid var(--admin-border);
  }

  .sales-agents-table tr:last-child {
    border-bottom: 0;
  }

  .sales-agents-table td {
    display: grid;
    grid-template-columns: 7.4rem minmax(0, 1fr);
    gap: 0.5rem;
    padding: 0.42rem 0;
    border: 0;
    text-align: left !important;
  }

  .sales-agents-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 650;
  }

  .sales-agents-table td[data-label="Azioni"] .admin-actions {
    justify-content: stretch;
  }

  .commission-settlement-control-panel,
  .commission-settlement-action-grid,
  .commission-settlement-assignment-grid,
  .commission-settlement-second-control-summary,
  .commission-settlement-second-checklist {
    grid-template-columns: minmax(0, 1fr);
  }

  .commission-settlement-second-control-wide {
    grid-column: auto;
  }

  .commission-settlement-section-head,
  .commission-settlement-action-card,
  .commission-settlement-action-buttons {
    flex-direction: column;
    width: 100%;
  }

  .commission-settlement-action-buttons .btn,
  .commission-settlement-action-card .btn {
    width: 100%;
  }

  .commission-settlement-table-shell {
    overflow-x: clip;
  }

  .commission-settlement-table {
    min-width: 0;
  }

  .commission-settlement-table thead {
    display: none;
  }

  .commission-settlement-table,
  .commission-settlement-table tbody,
  .commission-settlement-table tr,
  .commission-settlement-table td {
    display: block;
    width: 100%;
  }

  .commission-settlement-table tr {
    padding: 0.7rem;
    border-bottom: 1px solid var(--admin-border);
  }

  .commission-settlement-table tr:last-child {
    border-bottom: 0;
  }

  .commission-settlement-table td {
    display: grid;
    grid-template-columns: 7.4rem minmax(0, 1fr);
    gap: 0.5rem;
    padding: 0.42rem 0;
    border: 0;
    text-align: left !important;
  }

  .commission-settlement-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 650;
  }

  .commission-settlements-index-control {
    grid-template-columns: 1fr;
    padding: 0.75rem;
  }

  .commission-settlements-payment-control {
    grid-template-columns: 1fr;
    padding: 0.75rem;
  }

  .commission-settlements-payment-metrics {
    grid-template-columns: minmax(0, 1fr);
  }

  .commission-settlements-second-control {
    grid-template-columns: 1fr;
    padding: 0.75rem;
  }

  .commission-settlements-second-metrics {
    grid-template-columns: minmax(0, 1fr);
  }

  .commission-settlements-second-metrics-wide {
    grid-column: auto;
  }

  .commission-settlements-second-actions {
    min-width: 0;
  }

  .commission-settlements-second-actions .btn {
    width: 100%;
  }

  .commission-settlements-manager-control {
    padding: 0.75rem;
  }

  .commission-settlements-manager-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    min-width: 0;
  }

  .commission-settlements-manager-head > *,
  .commission-settlements-manager-head h2,
  .commission-settlements-manager-head p {
    min-width: 0;
  }

  .commission-settlements-manager-head .btn {
    width: 100%;
    min-width: 0;
  }

  .commission-settlements-manager-tools,
  .commission-settlements-queue-scope,
  .commission-settlements-queue-pagination,
  .commission-settlements-queue-pagination > div {
    width: 100%;
  }

  .commission-settlements-queue-scope {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .commission-settlements-queue-scope a {
    justify-content: center;
    min-height: 44px;
    text-align: center;
  }

  .commission-settlements-queue-pagination {
    align-items: stretch;
  }

  .commission-settlements-queue-pagination > div .btn {
    flex: 1 1 0;
    min-height: 44px;
  }

  .commission-settlements-manager-table-shell {
    min-width: 0;
    overflow: visible;
  }

  .commission-settlements-manager-table thead {
    display: none;
  }

  .commission-settlements-manager-table,
  .commission-settlements-manager-table tbody,
  .commission-settlements-manager-table tr,
  .commission-settlements-manager-table td {
    display: block;
    min-width: 0;
    width: 100%;
  }

  .commission-settlements-manager-table tr {
    padding: 0.75rem;
    border-bottom: 1px solid var(--admin-border);
  }

  .commission-settlements-manager-table tr:last-child {
    border-bottom: 0;
  }

  .commission-settlements-manager-table td {
    display: grid;
    grid-template-columns: minmax(7rem, 0.42fr) minmax(0, 1fr);
    gap: 0.6rem;
    padding: 0.35rem 0;
    border: 0;
  }

  .commission-settlements-manager-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.76rem;
    font-weight: 700;
  }

  .commission-settlements-manager-table td[data-label="Azione"] {
    grid-template-columns: minmax(7rem, 0.42fr) minmax(0, 1fr);
    min-width: 0;
  }

  .commission-settlements-review-control {
    padding: 0.75rem;
  }

  .commission-settlements-review-head,
  .commission-settlements-review-summary,
  .commission-settlements-review-list,
  .commission-settlements-review-card-metrics {
    grid-template-columns: minmax(0, 1fr);
  }

  .commission-settlements-review-side .btn {
    justify-self: stretch;
  }

  .commission-settlements-review-card-head,
  .commission-settlements-review-action {
    flex-direction: column;
    align-items: stretch;
  }

  .commission-settlements-review-action .btn {
    width: 100%;
  }

  .commission-settlements-index-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .commission-settlements-index-actions .btn {
    width: 100%;
  }

  .commission-settlements-index-table-shell {
    overflow-x: clip;
  }

  .commission-settlements-index-table {
    min-width: 0;
  }

  .commission-settlements-index-table thead {
    display: none;
  }

  .commission-settlements-index-table,
  .commission-settlements-index-table tbody,
  .commission-settlements-index-table tr,
  .commission-settlements-index-table td {
    display: block;
    width: 100%;
  }

  .commission-settlements-index-table tr {
    padding: 0.7rem;
    border-bottom: 1px solid var(--admin-border);
  }

  .commission-settlements-index-table tr:last-child {
    border-bottom: 0;
  }

  .commission-settlements-index-table td {
    display: grid;
    grid-template-columns: 7.4rem minmax(0, 1fr);
    gap: 0.5rem;
    padding: 0.42rem 0;
    border: 0;
    text-align: left !important;
  }

  .commission-settlements-index-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 650;
  }

  .commission-settlements-index-table td[data-label="Azioni"] .admin-actions {
    justify-content: stretch;
  }

  .commission-plan-control-panel,
  .commission-plan-workspace {
    grid-template-columns: minmax(0, 1fr);
  }

  .commission-plan-section-head {
    flex-direction: column;
  }

  .commission-plan-form-wide {
    grid-column: auto;
  }

  .commission-plan-table-shell {
    overflow-x: clip;
  }

  .commission-plan-table {
    min-width: 0;
  }

  .commission-plan-table thead {
    display: none;
  }

  .commission-plan-table,
  .commission-plan-table tbody,
  .commission-plan-table tr,
  .commission-plan-table td {
    display: block;
    width: 100%;
  }

  .commission-plan-table tr {
    padding: 0.7rem;
    border-bottom: 1px solid var(--admin-border);
  }

  .commission-plan-table tr:last-child {
    border-bottom: 0;
  }

  .commission-plan-table td {
    display: grid;
    grid-template-columns: 7.4rem minmax(0, 1fr);
    gap: 0.5rem;
    padding: 0.42rem 0;
    border: 0;
    text-align: left !important;
  }

  .commission-plan-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 650;
  }

  .commission-plans-index-control {
    grid-template-columns: 1fr;
    padding: 0.75rem;
  }

  .commission-plans-index-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .commission-plans-index-actions .btn {
    width: 100%;
  }

  .commission-plan-scenario-panel {
    padding: 0.75rem;
  }

  .commission-plan-scenario-head {
    flex-direction: column;
  }

  .commission-plan-scenario-head .btn {
    width: 100%;
  }

  .commission-plan-scenario-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .commission-plans-index-table-shell {
    overflow-x: clip;
  }

  .commission-plans-index-table {
    min-width: 0;
  }

  .commission-plans-index-table thead {
    display: none;
  }

  .commission-plans-index-table,
  .commission-plans-index-table tbody,
  .commission-plans-index-table tr,
  .commission-plans-index-table td {
    display: block;
    width: 100%;
  }

  .commission-plans-index-table tr {
    padding: 0.7rem;
    border-bottom: 1px solid var(--admin-border);
  }

  .commission-plans-index-table tr:last-child {
    border-bottom: 0;
  }

  .commission-plans-index-table td {
    display: grid;
    grid-template-columns: 7.5rem minmax(0, 1fr);
    gap: 0.5rem;
    padding: 0.38rem 0;
    border: 0;
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  .commission-plans-index-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 650;
  }

  .commission-plans-index-table td[data-label="Azioni"] {
    gap: 0.45rem;
  }

  .commission-plans-index-table td[data-label="Azioni"] .btn {
    width: 100%;
  }

  .admin-empty-action {
    flex-direction: column;
  }

  .sales-manager-priority-panel {
    grid-template-columns: 1fr;
  }

  .sales-manager-area-forecast-panel {
    padding: 0.75rem;
  }

  .sales-manager-area-forecast-head {
    flex-direction: column;
  }

  .sales-manager-area-forecast-head .btn {
    width: 100%;
  }

  .sales-manager-area-forecast-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sales-manager-control-panel {
    grid-template-columns: 1fr;
    padding: 0.75rem;
  }

  .sales-manager-control-grid {
    grid-template-columns: 1fr;
  }

  .sales-manager-control-card a {
    width: 100%;
  }

  .sales-manager-dashboard-table-shell {
    overflow-x: clip;
  }

  .sales-manager-dashboard-table {
    min-width: 0;
  }

  .sales-manager-dashboard-table thead {
    display: none;
  }

  .sales-manager-dashboard-table,
  .sales-manager-dashboard-table tbody,
  .sales-manager-dashboard-table tr,
  .sales-manager-dashboard-table td {
    display: block;
    width: 100%;
  }

  .sales-manager-dashboard-table tr {
    padding: 0.7rem;
    border-bottom: 1px solid var(--admin-border);
  }

  .sales-manager-dashboard-table tr:last-child {
    border-bottom: 0;
  }

  .sales-manager-dashboard-table td {
    display: grid;
    grid-template-columns: 7.5rem minmax(0, 1fr);
    gap: 0.5rem;
    padding: 0.38rem 0;
    border: 0;
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  .sales-manager-dashboard-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 650;
  }

  .sales-agent-portal-control {
    grid-template-columns: 1fr;
    padding: 0.75rem;
  }

  .sales-agent-portal-control-grid {
    grid-template-columns: 1fr;
  }

  .sales-agent-portal-control-card a {
    width: 100%;
  }

  .sales-agent-portal-section-head,
  .sales-agent-portal-section-actions {
    flex-direction: column;
    width: 100%;
  }

  .sales-agent-portal-section-actions .btn,
  .sales-agent-portal-agenda-card .btn {
    width: 100%;
  }

  .sales-agent-portal-agenda-card dl {
    grid-template-columns: 1fr;
  }

  .sales-agent-portal-table-shell {
    overflow-x: clip;
  }

  .sales-agent-portal-table {
    min-width: 0;
  }

  .sales-agent-portal-table thead {
    display: none;
  }

  .sales-agent-portal-table,
  .sales-agent-portal-table tbody,
  .sales-agent-portal-table tr,
  .sales-agent-portal-table td {
    display: block;
    width: 100%;
  }

  .sales-agent-portal-table tr {
    padding: 0.7rem;
    border-bottom: 1px solid var(--admin-border);
  }

  .sales-agent-portal-table tr:last-child {
    border-bottom: 0;
  }

  .sales-agent-portal-table td {
    display: grid;
    grid-template-columns: 7.5rem minmax(0, 1fr);
    gap: 0.5rem;
    padding: 0.38rem 0;
    border: 0;
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  .sales-agent-portal-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 650;
  }

  .sales-agent-portal-table td[data-label="Azioni"] .btn {
    width: 100%;
  }

  .tenant-users-editor {
    grid-template-columns: 1fr;
  }

  .admin-empty-actions {
    width: 100%;
    justify-content: stretch;
  }

  .admin-empty-actions .btn {
    width: 100%;
  }

  .error-action-panel {
    flex-direction: column;
  }

  .error-action-buttons {
    width: 100%;
    justify-content: stretch;
  }

  .error-action-buttons .btn {
    width: 100%;
  }

  .status-overview,
  .status-incident-panel {
    flex-direction: column;
  }

  .status-overview dl {
    width: 100%;
    flex-basis: auto;
  }

  .status-incident-panel .btn {
    width: 100%;
  }

  .security-db-role-panel,
  .security-tenant-catalog-panel,
  .security-twofactor-panel {
    grid-template-columns: 1fr;
  }

  .security-secrets-list {
    grid-template-columns: 1fr;
  }

  .security-secrets-list li {
    min-height: 4.5rem;
  }

  .security-recovery-output,
  .security-enrollment-workspace,
  .security-twofactor-management-forms {
    grid-template-columns: 1fr;
  }

  .security-twofactor-management > dl {
    grid-template-columns: 1fr;
  }

  .security-twofactor-start {
    align-items: stretch;
    flex-direction: column;
  }

  .security-twofactor-start .btn {
    width: 100%;
  }

  .security-db-role-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .security-command-panel {
    grid-template-columns: 1fr;
  }

  .security-command-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .security-command-metrics .security-score-metric {
    grid-row: auto;
    grid-column: 1 / -1;
  }

  .security-login-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .security-login-metrics div + div {
    border-left: 0;
  }

  .security-login-metrics div:nth-child(even) {
    border-left: 1px solid var(--admin-border);
  }

  .security-login-metrics div:nth-child(n + 3) {
    border-top: 1px solid var(--admin-border);
  }

  .security-hardening-layout {
    grid-template-columns: 1fr;
  }

  .security-hardening-count {
    width: 100%;
    text-align: center;
  }

  .security-priority-item {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .security-priority-item > .badge {
    width: fit-content;
  }

  .security-table-shell {
    overflow-x: visible;
  }

  .security-table-shell .admin-table {
    min-width: 0;
  }

  .security-table-shell .admin-table thead {
    display: none;
  }

  .security-table-shell .admin-table,
  .security-table-shell .admin-table tbody,
  .security-table-shell .admin-table tr,
  .security-table-shell .admin-table td {
    display: block;
    width: 100%;
  }

  .security-table-shell .admin-table tr {
    padding: 0.65rem;
    border-bottom: 1px solid var(--admin-border);
  }

  .security-table-shell .admin-table tr:last-child {
    border-bottom: 0;
  }

  .security-table-shell .admin-table td {
    display: grid;
    grid-template-columns: 6.25rem minmax(0, 1fr);
    gap: 0.5rem;
    padding: 0.35rem 0;
    border: 0;
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  .security-table-shell .admin-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 650;
  }

  .admin-operational-alert {
    grid-template-columns: 1fr;
  }

  .admin-technical-details dl > div {
    grid-template-columns: 1fr;
  }

  .banking-accounts-empty {
    flex-direction: column;
  }

  .banking-accounts-empty .btn {
    width: 100%;
  }

  .banking-import-confirmation-head {
    flex-direction: column;
  }

  .banking-import-confirmation-meta {
    justify-content: flex-start;
  }

  .banking-import-confirmation-meta,
  .banking-import-confirmation-meta span {
    width: 100%;
  }

  .banking-import-readiness {
    grid-template-columns: 1fr;
  }

  .banking-import-readiness dl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .banking-import-readiness .btn {
    justify-self: stretch;
    width: 100%;
  }

  .banking-import-confirmation-list {
    grid-template-columns: 1fr;
  }

  .banking-import-confirmation-groups {
    grid-template-columns: 1fr;
  }

  .banking-import-confirmation-groups form {
    flex-direction: column;
    align-items: stretch;
  }

  .banking-import-confirmation-groups .btn {
    width: 100%;
  }

  .banking-import-confirmation-item dl {
    grid-template-columns: 1fr;
  }

  .banking-accounts-alignment-head {
    flex-direction: column;
  }

  .banking-accounts-alignment-actions,
  .banking-accounts-alignment-actions form,
  .banking-accounts-alignment-actions .btn {
    width: 100%;
  }

  .banking-accounts-alignment-actions {
    justify-content: flex-start;
  }

  .banking-accounts-alignment-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .banking-consent-sla {
    grid-template-columns: 1fr;
  }

  .banking-consent-sla-main dl,
  .banking-consent-sla-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .banking-accounts-table {
    overflow-x: visible;
  }

  .banking-accounts-table .admin-table {
    min-width: 0;
  }

  .banking-accounts-table .admin-table thead {
    display: none;
  }

  .banking-accounts-table .admin-table,
  .banking-accounts-table .admin-table tbody,
  .banking-accounts-table .admin-table tr,
  .banking-accounts-table .admin-table td {
    display: block;
    width: 100%;
  }

  .banking-accounts-table .admin-table tr {
    padding: 0.65rem;
    border-bottom: 1px solid var(--admin-border);
  }

  .banking-accounts-table .admin-table tr:last-child {
    border-bottom: 0;
  }

  .banking-accounts-table .admin-table td {
    display: grid;
    grid-template-columns: 7.25rem minmax(0, 1fr);
    gap: 0.5rem;
    padding: 0.35rem 0;
    border: 0;
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  .banking-accounts-table .admin-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 650;
  }

  .banking-accounts-table .admin-actions {
    justify-content: stretch;
  }

  .banking-health-head,
  .banking-section-head,
  .banking-connect-flow-head,
  .banking-connect-panel,
  .banking-provider-readiness-head,
  .banking-italian-validation-head,
  .banking-gocardless-pilot-head,
  .banking-gocardless-go-nogo-head,
  .banking-gocardless-commercial-profile-head,
  .banking-gocardless-provider-issues-head,
  .banking-gocardless-playbook-head,
  .banking-gocardless-return-control-head,
  .banking-gocardless-movement-sync-head,
  .banking-consent-renewal-head,
  .banking-gocardless-quality-head {
    flex-direction: column;
  }

  .banking-health-actions,
  .banking-health-actions form,
  .banking-institution-search,
  .banking-institution-summary,
  .banking-connect-form,
  .banking-connect-form .btn {
    width: 100%;
  }

  .banking-institution-search {
    grid-template-columns: 1fr;
  }

  .banking-institution-summary {
    flex-direction: column;
  }

  .banking-institution-summary dl {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .banking-health-actions .btn,
  .banking-health-actions form .btn,
  .banking-health-actions .badge {
    flex: 1 1 10rem;
    justify-content: center;
  }

  .banking-kpi-card-wide {
    grid-column: auto;
  }

  .banking-provider-readiness-head dl,
  .banking-italian-validation-head dl,
  .banking-gocardless-pilot-head dl,
  .banking-gocardless-go-nogo-head dl,
  .banking-gocardless-commercial-profile-head dl,
  .banking-gocardless-provider-issues-head dl,
  .banking-gocardless-playbook-head dl,
  .banking-gocardless-return-control-head dl,
  .banking-gocardless-movement-sync-head dl,
  .banking-consent-renewal-head dl,
  .banking-gocardless-quality-head dl,
  .banking-connect-flow-head dl,
  .banking-connect-result-audit,
  .banking-provider-compact {
    grid-template-columns: 1fr;
    width: 100%;
  }

  .banking-connect-next-step {
    align-items: stretch;
    flex-direction: column;
  }

  .banking-connect-next-step small {
    flex-basis: auto;
  }

  .banking-consent-renewal-sla,
  .banking-consent-renewal-sla dl {
    grid-template-columns: 1fr;
  }

  .banking-consent-renewal-row {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .banking-gocardless-provider-issue-list > div {
    grid-template-columns: 1fr;
  }

  .banking-gocardless-playbook-list > div {
    grid-template-columns: 1fr;
  }

  .banking-gocardless-return-actions,
  .banking-gocardless-return-actions form,
  .banking-gocardless-return-actions .btn,
  .banking-gocardless-movement-actions,
  .banking-gocardless-movement-actions form,
  .banking-gocardless-movement-actions .btn {
    width: 100%;
  }

  .banking-consent-renewal-row dl {
    grid-template-columns: 1fr;
  }

  .banking-consent-renewal-actions,
  .banking-consent-renewal-actions form,
  .banking-consent-renewal-actions .btn {
    width: 100%;
  }

  .banking-italian-validation-side,
  .banking-italian-validation-side .btn {
    width: 100%;
  }

  .banking-provider-compact-checks {
    justify-content: flex-start;
  }

  .banking-gocardless-automatch-list > div {
    grid-template-columns: 1fr;
  }

  .banking-gocardless-automatch-gate {
    flex-direction: column;
    width: 100%;
  }

  .banking-gocardless-commercial-profile-form form,
  .banking-gocardless-commercial-profile-form textarea,
  .banking-gocardless-commercial-profile-form button {
    grid-column: auto;
    width: 100%;
  }

  .banking-connect-steps {
    grid-template-columns: 1fr;
  }

  .banking-connections-table,
  .banking-sync-table {
    overflow-x: visible;
  }

  .banking-connections-table .admin-table,
  .banking-sync-table .admin-table {
    min-width: 0;
  }

  .banking-connections-table .admin-table thead,
  .banking-sync-table .admin-table thead {
    display: none;
  }

  .banking-connections-table .admin-table,
  .banking-connections-table .admin-table tbody,
  .banking-connections-table .admin-table tr,
  .banking-connections-table .admin-table td,
  .banking-sync-table .admin-table,
  .banking-sync-table .admin-table tbody,
  .banking-sync-table .admin-table tr,
  .banking-sync-table .admin-table td {
    display: block;
    width: 100%;
  }

  .banking-connections-table .admin-table tr,
  .banking-sync-table .admin-table tr {
    padding: 0.65rem;
    border-bottom: 1px solid var(--admin-border);
  }

  .banking-connections-table .admin-table tr:last-child,
  .banking-sync-table .admin-table tr:last-child {
    border-bottom: 0;
  }

  .banking-connections-table .admin-table td,
  .banking-sync-table .admin-table td {
    display: grid;
    grid-template-columns: 7.25rem minmax(0, 1fr);
    gap: 0.5rem;
    padding: 0.4rem 0;
    border: 0;
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  .banking-connections-table .admin-table td::before,
  .banking-sync-table .admin-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 650;
  }

  .banking-connection-timeline li {
    grid-template-columns: 1fr;
  }

  .banking-connection-timeline small {
    grid-column: 1;
  }

  .banking-timeline-next-action {
    grid-column: 1;
  }

  .banking-timeline-command {
    grid-column: 1;
  }

  .banking-timeline-provider-error {
    grid-column: 1;
  }

  .backup-health-head,
  .backup-restore-readiness-head,
  .backup-restore-control-head,
  .backup-open-banking-restore-head {
    flex-direction: column;
  }

  .backup-health-head .badge,
  .backup-restore-readiness-head .badge,
  .backup-restore-control-head .btn,
  .backup-open-banking-restore-head .badge {
    width: fit-content;
  }

  .backup-open-banking-restore-body {
    grid-template-columns: 1fr;
  }

  .backup-restore-step,
  .backup-restore-operation {
    min-height: 0;
  }

  .backup-restore-operation dl div {
    grid-template-columns: 1fr;
    gap: 0.08rem;
  }

  .backup-workflow-rail-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .backup-workflow-steps {
    grid-template-columns: 1fr;
  }

  .backup-workflow-steps button {
    min-height: 3.7rem;
  }

  .backup-tabs {
    margin-right: -0.4rem;
    margin-left: -0.4rem;
    padding-right: 0.4rem;
    padding-left: 0.4rem;
  }

  .backup-tab-content {
    padding-right: 0.75rem !important;
    padding-left: 0.75rem !important;
  }

  .settings-users-panel-head,
  .settings-users-empty {
    flex-direction: column;
  }

  .settings-users-search {
    grid-template-columns: 1fr;
  }

  .settings-users-search-actions {
    justify-content: stretch;
  }

  .settings-users-search-actions .btn,
  .settings-users-pagination .btn {
    width: 100%;
  }

  .settings-users-table {
    overflow-x: visible;
  }

  .tenant-users-table {
    overflow-x: visible;
  }

  .settings-users-table .admin-table {
    min-width: 0;
  }

  .tenant-users-table .admin-table {
    min-width: 0;
  }

  .settings-users-table .admin-table thead {
    display: none;
  }

  .tenant-users-table .admin-table thead {
    display: none;
  }

  .settings-users-table .admin-table,
  .settings-users-table .admin-table tbody,
  .settings-users-table .admin-table tr,
  .settings-users-table .admin-table td {
    display: block;
    width: 100%;
  }

  .tenant-users-table .admin-table,
  .tenant-users-table .admin-table tbody,
  .tenant-users-table .admin-table tr,
  .tenant-users-table .admin-table td {
    display: block;
    width: 100%;
  }

  .settings-users-table .admin-table tr {
    padding: 0.7rem;
    border-bottom: 1px solid var(--admin-border);
  }

  .tenant-users-table .admin-table tr {
    padding: 0.7rem;
    border-bottom: 1px solid var(--admin-border);
  }

  .settings-users-table .admin-table tr:last-child {
    border-bottom: 0;
  }

  .tenant-users-table .admin-table tr:last-child {
    border-bottom: 0;
  }

  .settings-users-table .admin-table td {
    display: grid;
    grid-template-columns: 7.25rem minmax(0, 1fr);
    gap: 0.5rem;
    padding: 0.45rem 0;
    border: 0;
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  .tenant-users-table .admin-table td {
    display: grid;
    grid-template-columns: 7.25rem minmax(0, 1fr);
    gap: 0.5rem;
    padding: 0.45rem 0;
    border: 0;
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  .settings-users-table .admin-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 650;
  }

  .tenant-users-table .admin-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 650;
  }

  .settings-user-update-form {
    grid-template-columns: 1fr;
  }

  .settings-user-controls,
  .settings-user-password-form {
    align-items: stretch;
  }

  .settings-user-controls .form-select,
  .settings-user-controls .form-control,
  .settings-user-controls .btn,
  .settings-user-password-form .form-control,
  .settings-user-password-form .btn {
    flex: 1 1 100%;
    width: 100%;
  }

  .settings-users-pagination {
    align-items: stretch;
    flex-direction: column;
  }

  .settings-users-pagination div {
    width: 100%;
  }

  .tenant-admin-health,
  .tenant-admin-create,
  .tenant-admin-list,
  .tenant-admin-panel {
    padding: 0.75rem;
  }

  .tenant-admin-section-head,
  .tenant-admin-panel-head {
    flex-direction: column;
  }

  .tenant-admin-export-strip {
    width: 100%;
    max-width: 100%;
    display: grid;
    grid-template-columns: 1fr;
    justify-content: stretch;
  }

  .tenant-admin-export-strip .btn {
    width: 100%;
    white-space: normal;
  }

  .tenant-admin-overview,
  .tenant-admin-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tenant-billing-status-summary {
    width: 100%;
    justify-content: space-between;
  }

  .tenant-billing-generate,
  .tenant-billing-action-stack {
    grid-template-columns: 1fr;
    width: 100%;
  }

  .tenant-billing-filter {
    align-items: stretch;
  }

  .tenant-billing-filter > div,
  .tenant-billing-filter .btn,
  .tenant-billing-filter > span {
    width: 100%;
  }

  .tenant-billing-filter > span {
    margin-left: 0;
  }

  .tenant-billing-generate .btn,
  .tenant-billing-action-stack .btn {
    width: 100%;
    min-height: 2.75rem;
  }

  .tenant-billing-cancel-form {
    padding-top: 0.75rem;
    padding-left: 0;
    border-top: 1px solid var(--admin-border);
    border-left: 0;
  }

  .tenant-billing-pagination {
    justify-content: space-between;
  }

  .tenant-capacity-readiness-head {
    flex-direction: column;
  }

  .tenant-capacity-summary,
  .tenant-capacity-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tenant-capacity-status {
    white-space: normal;
  }

  .tenant-admin-create-form .btn {
    width: 100%;
    min-height: 2.75rem;
  }

  .tenant-onboarding-head,
  .tenant-onboarding-summary,
  .tenant-onboarding-current {
    align-items: stretch;
    flex-direction: column;
  }

  .tenant-onboarding-progress {
    grid-template-columns: max-content minmax(0, 1fr);
    width: 100%;
  }

  .tenant-onboarding-progress .progress {
    width: 100%;
  }

  .tenant-onboarding-current form,
  .tenant-onboarding-current .btn {
    width: 100%;
  }

  .tenant-onboarding-details ol {
    grid-template-columns: 1fr;
  }

  .cashflow-forecast-panel,
  .cashflow-operations-panel,
  .cashflow-form-panel,
  .cashflow-priority-strip,
  .cashflow-reconciliation-export-panel,
  .cashflow-nondocumental-panel {
    padding: 0.75rem;
  }

  .cashflow-priority-strip {
    grid-template-columns: 1fr;
  }

  .cashflow-priority-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cashflow-section-head,
  .cashflow-reconciliation-export-head,
  .cashflow-nondocumental-head,
  .cashflow-automatch-governance {
    flex-direction: column;
  }

  .cashflow-automatch-governance .btn {
    width: 100%;
  }

  .cashflow-automatch-reasons {
    min-width: 0;
    max-width: none;
  }

  .cashflow-exposure-head {
    flex-direction: column;
  }

  .f24-payment-control-head {
    flex-direction: column;
  }

  .tax-deadlines-control-head {
    flex-direction: column;
  }

  .cashflow-section-head .btn,
  .cashflow-exposure-actions .btn,
  .cashflow-reconciliation-export-actions .btn,
  .cashflow-nondocumental-actions .btn,
  .f24-payment-control-actions .btn,
  .tax-deadlines-control-actions .btn,
  .cashflow-reconciliation-form .btn,
  .cashflow-fee-form .btn {
    width: 100%;
  }

  .cashflow-exposure-actions,
  .cashflow-reconciliation-export-actions,
  .cashflow-nondocumental-actions {
    width: 100%;
    justify-content: flex-start;
  }

  .f24-payment-control-actions {
    width: 100%;
    justify-content: flex-start;
  }

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

  .f24-telematic-control-wide {
    grid-column: auto;
  }

  .tax-deadlines-control-actions {
    width: 100%;
    justify-content: flex-start;
  }

  .tax-deadline-delete-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tax-template-delete-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tax-deadline-delete-actions .btn,
  .tax-template-delete-actions .btn {
    width: 100%;
  }

  .cashflow-exposure-grid,
  .cashflow-reconciliation-export-grid,
  .cashflow-nondocumental-grid,
  .cashflow-ledger-rule-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cashflow-nondocumental-item {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .cashflow-assisted-item {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .cashflow-nondocumental-item dl {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .cashflow-assisted-item dl {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .cashflow-nondocumental-command-group .btn,
  .cashflow-nondocumental-command-group form {
    width: 100%;
  }

  .cashflow-ledger-rule-result-head {
    flex-direction: column;
  }

  .f24-payment-control-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tax-deadlines-control-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cashflow-reconciliation-form {
    align-items: stretch;
  }

  .cashflow-reconciliation-form .form-select,
  .cashflow-reconciliation-form .form-control,
  .cashflow-fee-form .form-control:last-of-type {
    flex: 1 1 100%;
    width: 100%;
    max-width: none !important;
  }

  .cashflow-reconciliation-line,
  .cashflow-exchange-fields {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .cashflow-account-summary,
  .cashflow-account-control,
  .cashflow-account-ledger {
    padding: 0.75rem;
  }

  .cashflow-account-next-actions .btn {
    width: 100%;
  }

  .items-form-layout,
  .tax-deadline-form-layout,
  .tax-template-form-layout,
  .items-detail-grid,
  .warehouses-form-layout,
  .warehouses-detail-grid {
    grid-template-columns: 1fr;
  }

  .items-form-aside,
  .tax-deadline-quality-panel,
  .tax-template-quality-panel,
  .warehouses-form-aside {
    position: static;
  }

  .items-detail-hero,
  .warehouses-detail-hero {
    flex-direction: column;
  }

  .items-stock-control,
  .items-import-panel,
  .items-stock-panel-head {
    grid-template-columns: 1fr;
    flex-direction: column;
  }

  .items-supplier-profile-form .row {
    --bs-gutter-x: 0;
    margin-right: 0;
    margin-left: 0;
  }

  .items-supplier-profile-form .row > * {
    flex: 0 0 100%;
    width: 100%;
    padding-right: 0;
    padding-left: 0;
  }

  .items-stock-control-actions,
  .items-stock-control-actions .btn,
  .items-import-actions,
  .items-import-actions .btn {
    width: 100%;
  }

  .warehouses-operational-alert {
    flex-direction: column;
  }

  .warehouses-operational-alert .btn {
    width: 100%;
  }

  .warehouses-inventory-readiness-head {
    flex-direction: column;
  }

  .warehouses-inventory-readiness-actions,
  .warehouses-inventory-readiness-actions .btn {
    width: 100%;
  }

  .warehouses-inventory-readiness-actions {
    justify-content: flex-start;
  }

  .warehouses-inventory-readiness-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .inventory-panel-head {
    flex-direction: column;
  }

  .inventory-production-flow {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.35rem;
    padding-inline: 0.65rem;
  }

  .inventory-production-flow-column h3,
  .inventory-production-flow-order {
    text-align: left;
  }

  .inventory-production-flow-order::before,
  .inventory-production-flow-order::after {
    top: auto;
    right: auto;
    left: 1.25rem;
    width: 2px;
    height: 1.35rem;
  }

  .inventory-production-flow-order::before {
    bottom: 100%;
  }

  .inventory-production-flow-order::after {
    top: 100%;
  }

  .inventory-control-panel {
    grid-template-columns: 1fr;
  }

  .inventory-reorder-control {
    grid-template-columns: 1fr;
  }

  .inventory-safety-stock-control {
    grid-template-columns: 1fr;
  }

  .inventory-mrp-readiness {
    grid-template-columns: 1fr;
  }

  .inventory-mrp-readiness-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .inventory-mrp-control {
    grid-template-columns: 1fr;
  }

  .inventory-mrp-bottleneck-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .inventory-mrp-bottleneck-list {
    grid-template-columns: 1fr;
  }

  .inventory-mrp-bottleneck-item dl {
    grid-template-columns: 1fr;
  }

  .inventory-mrp-conversion-grid {
    grid-template-columns: 1fr;
  }

  .inventory-mrp-purchase-group {
    grid-template-columns: 1fr;
  }

  .inventory-mrp-purchase-group dl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .purchase-draft-batch-form,
  .inventory-mrp-purchase-group-head {
    grid-template-columns: 1fr;
  }

  .purchase-draft-batch-form .btn,
  .purchase-draft-group-actions,
  .purchase-draft-group-actions .btn {
    width: 100%;
  }

  .purchase-draft-group-actions {
    justify-content: stretch;
  }

  .inventory-mrp-selection-panel {
    flex-direction: column;
  }

  .inventory-mrp-order-summary,
  .inventory-mrp-exchange-fieldset,
  .inventory-mrp-production-warehouses,
  .inventory-mrp-confirm-grid {
    grid-template-columns: 1fr;
  }

  .inventory-mrp-order-group-head {
    flex-direction: column;
  }

  .inventory-mrp-order-group-head > strong,
  .inventory-mrp-confirm-grid .btn {
    width: 100%;
  }

  .inventory-control-actions {
    flex-direction: column;
  }

  .inventory-reorder-control-actions {
    flex-direction: column;
  }

  .inventory-control-actions .btn,
  .inventory-reorder-control-actions .btn,
  .inventory-mrp-readiness-metrics,
  .inventory-mrp-control-actions .btn,
  .inventory-mrp-conversion-actions .btn,
  .inventory-mrp-selection-actions,
  .inventory-mrp-selection-actions .btn {
    width: 100%;
  }

  .inventory-genealogy-step {
    grid-template-columns: 0.9rem minmax(0, 1fr);
    gap: 0.5rem;
  }

  .inventory-genealogy-step:not(:last-child) .inventory-genealogy-marker::after {
    height: calc(100% + 7.4rem);
  }

  .inventory-genealogy-head {
    flex-direction: column;
  }

  .inventory-genealogy-meta {
    grid-template-columns: 1fr;
  }

  .inventory-genealogy-actions,
  .inventory-genealogy-actions .btn {
    width: 100%;
  }

  .items-detail-status,
  .warehouses-detail-status {
    width: 100%;
    justify-content: flex-start;
  }

  .cashflow-account-table {
    overflow-x: visible;
  }

  .contacts-table-shell {
    overflow-x: visible;
  }

  .customers-table-shell {
    overflow-x: visible;
  }

  .f24-table-shell {
    overflow-x: visible;
  }

  .f24-form-layout {
    grid-template-columns: 1fr;
  }

  .f24-detail-operations,
  .f24-detail-grid,
  .f24-evidence-layout,
  .f24-detail-link-form,
  .f24-approval-steps,
  .f24-approval-form,
  .f24-approval-request,
  .f24-approval-decision-grid {
    grid-template-columns: 1fr;
  }

  .f24-detail-checks {
    justify-content: flex-start;
  }

  .f24-readiness {
    position: static;
  }

  .f24-form-section-head,
  .f24-readiness-head,
  .f24-detail-section-head {
    flex-direction: column;
  }

  .f24-form-section-head .btn,
  .f24-form-actions .btn,
  .f24-detail-section-head .btn,
  .f24-detail-link-form .btn,
  .f24-approval-form .btn,
  .f24-approval-decision-form .btn {
    width: 100%;
  }

  .items-table-shell {
    overflow-x: clip;
  }

  .warehouses-table-shell {
    overflow-x: clip;
  }

  .inventory-table-shell {
    overflow-x: clip;
  }

  .cashflow-account-table .admin-table {
    min-width: 0;
  }

  .contacts-table-shell .admin-table {
    min-width: 0;
  }

  .contacts-dedup-item {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .contacts-dedup-side {
    justify-content: flex-start;
  }

  .contacts-dedup-side .btn {
    width: 100%;
  }

  .contacts-dedup-compare summary {
    align-items: flex-start;
    flex-direction: column;
  }

  .contacts-dedup-compare-table {
    overflow-x: clip;
  }

  .contacts-dedup-compare-table table,
  .contacts-dedup-compare-table thead,
  .contacts-dedup-compare-table tbody,
  .contacts-dedup-compare-table tr,
  .contacts-dedup-compare-table th,
  .contacts-dedup-compare-table td {
    display: block;
    min-width: 0;
    width: 100%;
  }

  .contacts-dedup-compare-table thead {
    display: none;
  }

  .contacts-dedup-compare-table tr {
    padding: 0.65rem 0;
    border-bottom: 1px solid var(--admin-border);
  }

  .contacts-dedup-compare-table tr:last-child {
    border-bottom: 0;
  }

  .contacts-dedup-compare-table td {
    display: grid;
    grid-template-columns: minmax(7rem, 38%) minmax(0, 1fr);
    gap: 0.55rem;
    padding: 0.28rem 0;
    border: 0;
  }

  .contacts-dedup-compare-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 700;
  }

  .contacts-dedup-decision-controls {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .contacts-dedup-decision-action,
  .contacts-dedup-decision-action .btn {
    width: 100%;
  }

  .contacts-dedup-audit-metrics {
    grid-template-columns: 1fr;
  }

  .contacts-dedup-audit-actions {
    justify-content: stretch;
  }

  .contacts-dedup-audit-actions > span,
  .contacts-dedup-audit-actions .btn {
    width: 100%;
    justify-content: center;
  }

  .contacts-dedup-audit-filter {
    grid-template-columns: 1fr;
    justify-content: stretch;
  }

  .contacts-dedup-audit-filter .btn {
    width: 100%;
  }

  .contacts-dedup-audit-table-shell {
    overflow-x: clip;
  }

  .contacts-dedup-audit-table,
  .contacts-dedup-audit-table thead,
  .contacts-dedup-audit-table tbody,
  .contacts-dedup-audit-table tr,
  .contacts-dedup-audit-table th,
  .contacts-dedup-audit-table td {
    display: block;
    min-width: 0;
    width: 100%;
  }

  .contacts-dedup-audit-table thead {
    display: none;
  }

  .contacts-dedup-audit-table tr {
    padding: 0.65rem 0;
    border-bottom: 1px solid var(--admin-border);
  }

  .contacts-dedup-audit-table tr:last-child {
    border-bottom: 0;
  }

  .contacts-dedup-audit-table td {
    display: grid;
    grid-template-columns: minmax(7rem, 38%) minmax(0, 1fr);
    gap: 0.55rem;
    padding: 0.28rem 0;
    border: 0;
  }

  .contacts-dedup-audit-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 700;
  }

  .contacts-cleanup-card {
    flex-direction: column;
    align-items: stretch;
  }

  .contacts-cleanup-card .btn {
    width: 100%;
  }

  .customers-table-shell .admin-table {
    min-width: 0;
  }

  .f24-table-shell .admin-table {
    min-width: 0;
  }

  .f24-form-table-shell .admin-table {
    min-width: 0;
  }

  .f24-detail-table-shell .admin-table {
    min-width: 0;
  }

  .items-table-shell .admin-table {
    min-width: 0;
  }

  .warehouses-table-shell .admin-table {
    min-width: 0;
  }

  .inventory-table-shell .admin-table {
    min-width: 0;
  }

  .cashflow-account-table .admin-table thead {
    display: none;
  }

  .contacts-table-shell .admin-table thead {
    display: none;
  }

  .customers-table-shell .admin-table thead {
    display: none;
  }

  .f24-table-shell .admin-table thead {
    display: none;
  }

  .f24-form-table-shell .admin-table thead {
    display: none;
  }

  .f24-detail-table-shell .admin-table thead {
    display: none;
  }

  .items-table-shell .admin-table thead {
    display: none;
  }

  .warehouses-table-shell .admin-table thead {
    display: none;
  }

  .inventory-table-shell .admin-table thead {
    display: none;
  }

  .cashflow-account-table .admin-table,
  .cashflow-account-table .admin-table tbody,
  .cashflow-account-table .admin-table tr,
  .cashflow-account-table .admin-table td {
    display: block;
    width: 100%;
  }

  .contacts-table-shell .admin-table,
  .contacts-table-shell .admin-table tbody,
  .contacts-table-shell .admin-table tr,
  .contacts-table-shell .admin-table td {
    display: block;
    width: 100%;
  }

  .customers-table-shell .admin-table,
  .customers-table-shell .admin-table tbody,
  .customers-table-shell .admin-table tr,
  .customers-table-shell .admin-table td {
    display: block;
    width: 100%;
  }

  .f24-table-shell .admin-table,
  .f24-table-shell .admin-table tbody,
  .f24-table-shell .admin-table tr,
  .f24-table-shell .admin-table td {
    display: block;
    width: 100%;
  }

  .f24-form-table-shell .admin-table,
  .f24-form-table-shell .admin-table tbody,
  .f24-form-table-shell .admin-table tr,
  .f24-form-table-shell .admin-table td {
    display: block;
    width: 100%;
  }

  .f24-detail-table-shell .admin-table,
  .f24-detail-table-shell .admin-table tbody,
  .f24-detail-table-shell .admin-table tr,
  .f24-detail-table-shell .admin-table td {
    display: block;
    width: 100%;
  }

  .items-table-shell .admin-table,
  .items-table-shell .admin-table tbody,
  .items-table-shell .admin-table tr,
  .items-table-shell .admin-table td {
    display: block;
    width: 100%;
  }

  .warehouses-table-shell .admin-table,
  .warehouses-table-shell .admin-table tbody,
  .warehouses-table-shell .admin-table tr,
  .warehouses-table-shell .admin-table td {
    display: block;
    width: 100%;
  }

  .inventory-table-shell .admin-table,
  .inventory-table-shell .admin-table tbody,
  .inventory-table-shell .admin-table tr,
  .inventory-table-shell .admin-table td {
    display: block;
    width: 100%;
  }

  .cashflow-account-table .admin-table tr {
    padding: 0.7rem;
    border-bottom: 1px solid var(--admin-border);
  }

  .contacts-table-shell .admin-table tr {
    padding: 0.7rem;
    border-bottom: 1px solid var(--admin-border);
  }

  .customers-table-shell .admin-table tr {
    padding: 0.7rem;
    border-bottom: 1px solid var(--admin-border);
  }

  .f24-table-shell .admin-table tr {
    padding: 0.7rem;
    border-bottom: 1px solid var(--admin-border);
  }

  .f24-form-table-shell .admin-table tr {
    padding: 0.7rem;
    border-bottom: 1px solid var(--admin-border);
  }

  .f24-detail-table-shell .admin-table tr {
    padding: 0.7rem;
    border-bottom: 1px solid var(--admin-border);
  }

  .items-table-shell .admin-table tr {
    padding: 0.7rem;
    border-bottom: 1px solid var(--admin-border);
  }

  .warehouses-table-shell .admin-table tr {
    padding: 0.7rem;
    border-bottom: 1px solid var(--admin-border);
  }

  .inventory-table-shell .admin-table tr {
    padding: 0.7rem;
    border-bottom: 1px solid var(--admin-border);
  }

  .cashflow-account-table .admin-table tr:last-child {
    border-bottom: 0;
  }

  .contacts-table-shell .admin-table tr:last-child {
    border-bottom: 0;
  }

  .customers-table-shell .admin-table tr:last-child {
    border-bottom: 0;
  }

  .f24-table-shell .admin-table tr:last-child {
    border-bottom: 0;
  }

  .f24-form-table-shell .admin-table tr:last-child {
    border-bottom: 0;
  }

  .f24-detail-table-shell .admin-table tr:last-child {
    border-bottom: 0;
  }

  .items-table-shell .admin-table tr:last-child {
    border-bottom: 0;
  }

  .warehouses-table-shell .admin-table tr:last-child {
    border-bottom: 0;
  }

  .inventory-table-shell .admin-table tr:last-child {
    border-bottom: 0;
  }

  .cashflow-account-table .admin-table td {
    display: grid;
    grid-template-columns: 7.25rem minmax(0, 1fr);
    gap: 0.5rem;
    padding: 0.45rem 0;
    border: 0;
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  .contacts-table-shell .admin-table td {
    display: grid;
    grid-template-columns: 7.25rem minmax(0, 1fr);
    gap: 0.5rem;
    padding: 0.45rem 0;
    border: 0;
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  .customers-table-shell .admin-table td {
    display: grid;
    grid-template-columns: 7.25rem minmax(0, 1fr);
    gap: 0.5rem;
    padding: 0.45rem 0;
    border: 0;
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  .f24-table-shell .admin-table td {
    display: grid;
    grid-template-columns: 7.25rem minmax(0, 1fr);
    gap: 0.5rem;
    padding: 0.45rem 0;
    border: 0;
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  .f24-form-table-shell .admin-table td {
    display: grid;
    grid-template-columns: 7.25rem minmax(0, 1fr);
    gap: 0.5rem;
    padding: 0.45rem 0;
    border: 0;
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  .f24-detail-table-shell .admin-table td {
    display: grid;
    grid-template-columns: 7.25rem minmax(0, 1fr);
    gap: 0.5rem;
    padding: 0.45rem 0;
    border: 0;
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  .items-table-shell .admin-table td {
    display: grid;
    grid-template-columns: 7.25rem minmax(0, 1fr);
    gap: 0.5rem;
    padding: 0.45rem 0;
    border: 0;
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  .warehouses-table-shell .admin-table td {
    display: grid;
    grid-template-columns: 7.25rem minmax(0, 1fr);
    gap: 0.5rem;
    padding: 0.45rem 0;
    border: 0;
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  .inventory-table-shell .admin-table td {
    display: grid;
    grid-template-columns: 7.25rem minmax(0, 1fr);
    gap: 0.5rem;
    padding: 0.45rem 0;
    border: 0;
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  .cashflow-account-table .admin-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 650;
  }

  .contacts-table-shell .admin-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 650;
  }

  .customers-table-shell .admin-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 650;
  }

  .f24-table-shell .admin-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 650;
  }

  .f24-form-table-shell .admin-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 650;
  }

  .f24-detail-table-shell .admin-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 650;
  }

  .items-table-shell .admin-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 650;
  }

  .warehouses-table-shell .admin-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 650;
  }

  .inventory-table-shell .admin-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 650;
  }

  .inventory-table .admin-actions,
  .inventory-movements-table td[data-label="Azioni"] {
    justify-content: flex-start;
  }

  .inventory-movements-table td[data-label="Azioni"] form {
    min-width: 0;
    width: 100%;
  }
}

@media (max-width: 575.98px) {
  .tenant-admin-overview,
  .tenant-admin-kpi-grid,
  .tenant-capacity-summary,
  .tenant-capacity-grid {
    grid-template-columns: 1fr;
  }

  .banking-accounts-alignment-grid {
    grid-template-columns: 1fr;
  }

  .warehouses-inventory-readiness-grid {
    grid-template-columns: 1fr;
  }

  .cashflow-kpi-grid,
  .cashflow-kpi-grid-secondary,
  .cashflow-priority-list {
    grid-template-columns: 1fr;
  }

  .cashflow-exposure-grid,
  .cashflow-nondocumental-grid,
  .cashflow-nondocumental-item dl,
  .cashflow-assisted-item dl {
    grid-template-columns: 1fr;
  }

  .f24-payment-control-grid {
    grid-template-columns: 1fr;
  }

  .tax-deadlines-control-grid {
    grid-template-columns: 1fr;
  }

  .cashflow-account-kpi-grid {
    grid-template-columns: 1fr;
  }

  .cashflow-account-table .admin-table td {
    grid-template-columns: 1fr;
    gap: 0.25rem;
  }

  .contacts-table-shell .admin-table td {
    grid-template-columns: 1fr;
    gap: 0.25rem;
  }

  .customers-table-shell .admin-table td {
    grid-template-columns: 1fr;
    gap: 0.25rem;
  }

  .f24-table-shell .admin-table td {
    grid-template-columns: 1fr;
    gap: 0.25rem;
  }

  .f24-form-table-shell .admin-table td {
    grid-template-columns: 1fr;
    gap: 0.25rem;
  }

  .items-table-shell .admin-table td {
    grid-template-columns: 1fr;
    gap: 0.25rem;
  }

  .warehouses-table-shell .admin-table td {
    grid-template-columns: 1fr;
    gap: 0.25rem;
  }

  .inventory-table-shell .admin-table td {
    grid-template-columns: 1fr;
    gap: 0.25rem;
  }

  .cashflow-account-table .admin-table td::before {
    margin-bottom: 0.1rem;
  }

  .items-quality-list div,
  .items-detail-list div,
  .tax-deadline-quality-list div,
  .warehouses-quality-list div,
  .warehouses-detail-list div {
    grid-template-columns: 1fr;
    gap: 0.2rem;
  }

  .items-quality-list dd,
  .items-detail-list dd,
  .tax-deadline-quality-list dd,
  .warehouses-quality-list dd,
  .warehouses-detail-list dd {
    text-align: left;
  }

  .contacts-table-shell .admin-table td::before {
    margin-bottom: 0.1rem;
  }

  .customers-table-shell .admin-table td::before {
    margin-bottom: 0.1rem;
  }

  .f24-table-shell .admin-table td::before {
    margin-bottom: 0.1rem;
  }

  .f24-form-table-shell .admin-table td::before {
    margin-bottom: 0.1rem;
  }

  .items-table-shell .admin-table td::before {
    margin-bottom: 0.1rem;
  }

  .warehouses-table-shell .admin-table td::before {
    margin-bottom: 0.1rem;
  }

  .inventory-table-shell .admin-table td::before {
    margin-bottom: 0.1rem;
  }

  .settings-users-table .admin-table td {
    grid-template-columns: 1fr;
    gap: 0.25rem;
  }

  .tenant-users-table .admin-table td {
    grid-template-columns: 1fr;
    gap: 0.25rem;
  }

  .banking-connections-table .admin-table td,
  .banking-sync-table .admin-table td {
    grid-template-columns: 1fr;
    gap: 0.25rem;
  }

  .settings-users-table .admin-table td::before {
    margin-bottom: 0.1rem;
  }

  .tenant-users-table .admin-table td::before {
    margin-bottom: 0.1rem;
  }

  .banking-connections-table .admin-table td::before,
  .banking-sync-table .admin-table td::before {
    margin-bottom: 0.1rem;
  }
}

@media (max-width: 767.98px) {
  .jobs-form-layout,
  .jobs-detail-summary {
    grid-template-columns: 1fr;
  }

  .jobs-portfolio-head,
  .jobs-portfolio-priority,
  .jobs-control-head {
    flex-direction: column;
  }

  .jobs-portfolio-metrics,
  .jobs-control-metrics {
    grid-template-columns: 1fr;
  }

  .jobs-readiness {
    position: static;
    order: -1;
  }

  .jobs-detail-kpis {
    grid-template-columns: 1fr;
  }

  .jobs-detail-identity dl div {
    grid-template-columns: 1fr;
    gap: 0.15rem;
  }

  .jobs-form-section-head,
  .jobs-detail-section-head,
  .jobs-readiness-head {
    flex-direction: column;
  }

  .jobs-form-actions .btn,
  .jobs-detail-section-head .btn {
    width: 100%;
  }

  .home-dashboard-header {
    flex-direction: column;
  }

  .home-area-filter {
    align-items: stretch;
    flex-direction: column;
  }

  .home-area-filter-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-area-filter-button {
    width: 100%;
  }

  .home-layout-reset,
  .home-priority-mode,
  .home-section-header,
  .home-section-actions,
  .home-chart-readiness-head,
  .home-calendar-readiness-head,
  .home-calendar-sync-head,
  .home-calendar-import-head {
    flex-direction: column;
    align-items: stretch;
  }

  .home-section-tools,
  .home-section-actions div {
    justify-content: flex-start;
  }

  .home-section-actions a {
    flex: 1 1 8.5rem;
    justify-content: center;
    max-width: none;
  }

  .home-operational-todo-list {
    grid-template-columns: 1fr;
  }

  .home-operational-todo-item {
    align-items: flex-start;
  }

  .home-operational-todo-side {
    max-width: 38%;
    line-height: 1.25;
  }

  .home-calendar-readiness-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-calendar-sync-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-chart-readiness-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-historical-trend-list {
    grid-template-columns: 1fr;
  }

  .home-historical-trend-item {
    align-items: flex-start;
  }

  .home-chart-readiness-head > span {
    max-width: 100%;
    white-space: normal;
  }

  .home-calendar-readiness-head > span {
    max-width: 100%;
    white-space: normal;
  }

  .home-calendar-sync-head > span {
    max-width: 100%;
    white-space: normal;
  }

  .home-calendar-readiness-actions .btn,
  .home-calendar-readiness-disabled {
    width: 100%;
    justify-content: center;
    white-space: normal;
  }

  .home-calendar-import-form {
    grid-template-columns: 1fr;
  }

  .home-calendar-import-actions,
  .home-calendar-import-actions .btn {
    width: 100%;
  }

  .home-chart-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.25rem;
  }

  .home-chart-value {
    text-align: left;
  }

  .home-control-grid {
    grid-template-columns: 1fr;
  }

  .home-sections-card-head,
  .home-section-toggle-row {
    flex-direction: column;
    align-items: stretch;
  }

  .home-section-toggle-row .btn {
    width: 100%;
  }
}

.support-assistant-center-page {
  gap: 0.85rem;
  max-width: 100%;
  overflow-x: clip;
}

.support-assistant-center-head .admin-page-tools .btn {
  min-width: 6.75rem;
}

.support-assistant-section-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  padding: 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.support-assistant-section-nav a {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  padding: 0.3rem 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.45rem;
  color: var(--admin-text);
  background: color-mix(in oklab, var(--admin-bg) 62%, white);
  font-size: 0.86rem;
  font-weight: 600;
  text-decoration: none;
}

.support-assistant-section-nav a:hover,
.support-assistant-section-nav a:focus {
  border-color: color-mix(in oklab, var(--admin-primary) 34%, var(--admin-border));
  color: var(--admin-primary-dark);
  background: var(--admin-primary-soft);
  text-decoration: none;
}

.support-assistant-overview {
  display: grid;
  gap: 0.75rem;
}

.support-assistant-export-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.5rem;
}

.support-assistant-kpi-row > [class*="col-"] > .card {
  height: 100%;
  border-color: var(--admin-border);
  border-radius: var(--admin-radius);
  box-shadow: var(--admin-shadow);
}

.support-assistant-kpi-row .fs-4,
.support-assistant-kpi-row .fs-5,
.support-assistant-kpi-row .fs-6 {
  color: var(--admin-text);
  font-variant-numeric: tabular-nums;
}

.support-assistant-recommendation-panel {
  border-color: color-mix(in oklab, var(--admin-primary) 22%, var(--admin-border));
  background: var(--admin-primary-soft);
}

.support-assistant-backlog-triage {
  display: grid;
  gap: 0.75rem;
  margin-bottom: 1rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
  box-shadow: var(--admin-shadow);
}

.support-assistant-backlog-triage-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
}

.support-assistant-backlog-triage-head h3 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1.02rem;
  line-height: 1.25;
}

.support-assistant-backlog-triage-head p {
  max-width: 72ch;
  margin: 0.2rem 0 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

.support-assistant-backlog-triage-head .badge {
  flex: 0 0 auto;
}

.support-assistant-backlog-next {
  display: grid;
  gap: 0.12rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 22%, var(--admin-border));
  border-radius: 0.55rem;
  background: var(--admin-primary-soft);
}

.support-assistant-backlog-next span,
.support-assistant-backlog-triage-card span {
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.support-assistant-backlog-next strong {
  color: var(--admin-primary-dark);
  font-size: 0.92rem;
  line-height: 1.35;
}

.support-assistant-backlog-triage-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
  gap: 0.6rem;
}

.support-assistant-backlog-triage-card {
  display: grid;
  gap: 0.25rem;
  min-width: 0;
  min-height: 6.5rem;
  padding: 0.68rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.55rem;
  background: color-mix(in oklab, var(--admin-bg) 50%, white);
}

.support-assistant-backlog-triage-card strong {
  color: var(--admin-text);
  font-size: 0.92rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.support-assistant-backlog-triage-card small {
  color: var(--admin-muted);
  font-size: 0.8rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.support-assistant-backlog-triage-card em {
  align-self: end;
  color: var(--admin-primary-dark);
  font-size: 0.8rem;
  font-style: normal;
  font-weight: 650;
}

.support-assistant-backlog-aging-card {
  border-color: color-mix(in oklab, var(--admin-danger) 34%, var(--admin-border)) !important;
  background: color-mix(in oklab, #fff1f2 66%, white);
}

.support-assistant-backlog-aging-card .fs-5 {
  color: var(--admin-danger);
}

.support-assistant-backlog-pipeline {
  display: grid;
  gap: 0.75rem;
  margin-bottom: 1rem;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
  box-shadow: var(--admin-shadow);
}

.support-assistant-backlog-pipeline-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
}

.support-assistant-backlog-pipeline-head h3 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1.02rem;
  line-height: 1.25;
}

.support-assistant-backlog-pipeline-head p {
  max-width: 76ch;
  margin: 0.2rem 0 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

.support-assistant-backlog-pipeline-head > span {
  flex: 0 0 auto;
  padding: 0.18rem 0.5rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 50%, white);
  font-size: 0.78rem;
  font-weight: 700;
}

.support-assistant-backlog-pipeline-list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.55rem;
}

.support-assistant-backlog-pipeline-item {
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 0.45rem;
  min-width: 0;
  min-height: 9.4rem;
  padding: 0.68rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.55rem;
  background: color-mix(in oklab, var(--admin-bg) 50%, white);
}

.support-assistant-backlog-pipeline-item.is-active {
  border-color: color-mix(in oklab, var(--admin-success) 30%, var(--admin-border));
}

.support-assistant-backlog-pipeline-item.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 44%, var(--admin-border));
  background: color-mix(in oklab, #fffbeb 56%, white);
}

.support-assistant-backlog-pipeline-item.is-empty {
  background: color-mix(in oklab, var(--admin-bg) 78%, white);
}

.support-assistant-backlog-pipeline-item span,
.support-assistant-backlog-pipeline-item small,
.support-assistant-backlog-pipeline-item footer,
.support-assistant-backlog-pipeline-item p {
  min-width: 0;
  overflow-wrap: anywhere;
}

.support-assistant-backlog-pipeline-item span {
  color: var(--admin-muted);
  font-size: 0.76rem;
  font-weight: 700;
}

.support-assistant-backlog-pipeline-item strong {
  display: block;
  color: var(--admin-text);
  font-size: 1.35rem;
  line-height: 1.1;
}

.support-assistant-backlog-pipeline-item small {
  display: block;
  color: var(--admin-muted);
  font-size: 0.77rem;
  line-height: 1.25;
}

.support-assistant-backlog-pipeline-item p {
  margin: 0;
  color: var(--admin-text);
  font-size: 0.82rem;
  line-height: 1.32;
}

.support-assistant-backlog-pipeline-item footer {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
}

.support-assistant-backlog-pipeline-item em {
  padding: 0.1rem 0.34rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: var(--admin-surface);
  font-size: 0.7rem;
  font-style: normal;
  font-weight: 700;
}

.support-assistant-backlog-decision {
  display: grid;
  gap: 0.7rem;
  margin-bottom: 1rem;
  padding: 0.85rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
  box-shadow: var(--admin-shadow);
}

.support-assistant-backlog-decision-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
}

.support-assistant-backlog-decision-head h3 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1.02rem;
  line-height: 1.25;
}

.support-assistant-backlog-decision-head p {
  max-width: 76ch;
  margin: 0.2rem 0 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

.support-assistant-backlog-decision-head > span {
  flex: 0 0 auto;
  padding: 0.18rem 0.5rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 50%, white);
  font-size: 0.78rem;
  font-weight: 700;
}

.support-assistant-backlog-conversion-summary {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
  padding: 0.68rem 0.75rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.55rem;
  background: color-mix(in oklab, var(--admin-bg) 56%, white);
}

.support-assistant-backlog-conversion-summary h4 {
  margin: 0;
  color: var(--admin-text);
  font-size: 0.95rem;
  line-height: 1.25;
}

.support-assistant-backlog-conversion-summary p {
  margin: 0.16rem 0 0;
  color: var(--admin-muted);
  font-size: 0.8rem;
  line-height: 1.35;
}

.support-assistant-backlog-conversion-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.4rem;
  min-width: 0;
}

.support-assistant-backlog-conversion-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.34rem;
  min-height: 2rem;
  max-width: 100%;
  padding: 0.18rem 0.5rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: var(--admin-surface);
  font-size: 0.76rem;
  line-height: 1.2;
}

.support-assistant-backlog-conversion-chip strong {
  color: var(--admin-text);
  font-size: 0.9rem;
  font-variant-numeric: tabular-nums;
  line-height: 1;
}

.support-assistant-backlog-conversion-chip span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.support-assistant-backlog-decision-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem;
}

.support-assistant-backlog-decision-item {
  display: grid;
  align-content: start;
  gap: 0.28rem;
  min-width: 0;
  min-height: 8rem;
  padding: 0.68rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.55rem;
  color: inherit;
  background: color-mix(in oklab, var(--admin-bg) 50%, white);
  text-decoration: none;
  transition: border-color 160ms ease, background-color 160ms ease, transform 160ms ease;
}

.support-assistant-backlog-decision-item:hover,
.support-assistant-backlog-decision-item:focus-visible {
  color: inherit;
  border-color: color-mix(in oklab, var(--admin-primary) 36%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-primary-soft) 34%, white);
  transform: translateY(-1px);
  text-decoration: none;
}

.support-assistant-backlog-decision-item:focus-visible {
  outline: 3px solid color-mix(in oklab, var(--admin-primary) 32%, white);
  outline-offset: 2px;
}

.support-assistant-backlog-decision-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.45rem;
  min-width: 0;
}

.support-assistant-backlog-decision-meta strong,
.support-assistant-backlog-decision-question,
.support-assistant-backlog-decision-detail {
  min-width: 0;
  overflow-wrap: anywhere;
}

.support-assistant-backlog-decision-meta strong {
  color: var(--admin-text);
  font-size: 0.86rem;
  line-height: 1.2;
}

.support-assistant-backlog-decision-meta em {
  flex: 0 0 auto;
  padding: 0.12rem 0.38rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  font-size: 0.72rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1.1;
}

.support-assistant-backlog-decision-meta em.is-danger {
  color: #881337;
  border-color: #fda4af;
  background: #fff1f2;
}

.support-assistant-backlog-decision-meta em.is-warning {
  color: #78350f;
  border-color: #fcd34d;
  background: #fffbeb;
}

.support-assistant-backlog-decision-meta em.is-muted {
  color: var(--admin-muted);
  background: var(--admin-surface);
}

.support-assistant-backlog-decision-question {
  color: var(--admin-text);
  font-size: 0.9rem;
  line-height: 1.32;
}

.support-assistant-backlog-decision-detail {
  color: var(--admin-muted);
  font-size: 0.78rem;
  line-height: 1.35;
}

.support-assistant-backlog-decision-action {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.22rem;
  width: fit-content;
  max-width: 100%;
  margin-top: 0.12rem;
  padding: 0.16rem 0.44rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: var(--admin-surface);
  font-size: 0.74rem;
  line-height: 1.2;
}

.support-assistant-backlog-decision-action strong {
  color: var(--admin-text);
  font-weight: 750;
}

.support-assistant-backlog-next-conversion {
  display: grid;
  gap: 0.12rem;
  margin-top: 0.75rem;
  padding: 0.62rem 0.7rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.55rem;
  background: color-mix(in oklab, var(--admin-bg) 58%, white);
}

.support-assistant-backlog-next-conversion span {
  color: var(--admin-muted);
  font-size: 0.74rem;
  font-weight: 700;
  line-height: 1.2;
}

.support-assistant-backlog-next-conversion strong {
  color: var(--admin-text);
  font-size: 0.94rem;
  line-height: 1.24;
}

.support-assistant-backlog-next-conversion small {
  color: var(--admin-muted);
  font-size: 0.8rem;
  line-height: 1.35;
}

.support-assistant-backlog-command {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.36rem;
  min-height: 34px;
  white-space: normal;
}

.support-assistant-backlog-command.is-recommended {
  border-width: 2px;
  box-shadow: none;
}

.support-assistant-backlog-command-recommended {
  display: inline-flex;
  align-items: center;
  min-height: 1.16rem;
  padding: 0.08rem 0.34rem;
  border: 1px solid currentColor;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1.1;
}

.support-assistant-backlog-decision-action.is-roadmap,
.support-assistant-backlog-next-conversion.is-roadmap,
.support-assistant-backlog-conversion-chip.is-roadmap {
  border-color: color-mix(in oklab, var(--admin-primary) 34%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-primary-soft) 32%, white);
}

.support-assistant-backlog-decision-action.is-kb,
.support-assistant-backlog-next-conversion.is-kb,
.support-assistant-backlog-conversion-chip.is-kb {
  border-color: #bae6fd;
  background: #f0f9ff;
}

.support-assistant-backlog-decision-action.is-automation,
.support-assistant-backlog-next-conversion.is-automation,
.support-assistant-backlog-conversion-chip.is-automation {
  border-color: #c4b5fd;
  background: #f5f3ff;
}

.support-assistant-backlog-decision-action.is-escalation,
.support-assistant-backlog-next-conversion.is-escalation,
.support-assistant-backlog-conversion-chip.is-escalation {
  border-color: #fed7aa;
  background: #fff7ed;
}

.support-assistant-backlog-decision-action.is-closed,
.support-assistant-backlog-next-conversion.is-closed,
.support-assistant-backlog-conversion-chip.is-closed {
  border-color: #bbf7d0;
  background: #f0fdf4;
}

.support-assistant-backlog-decision-action.is-triage,
.support-assistant-backlog-next-conversion.is-triage,
.support-assistant-backlog-conversion-chip.is-triage {
  border-color: #e5e7eb;
  background: #f9fafb;
}

.support-assistant-center-page > .row,
.support-assistant-center-page > section {
  scroll-margin-top: 5.5rem;
}

.support-assistant-push-control {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 4.25rem;
  margin-bottom: 0.85rem;
  padding: 0.7rem 0.85rem;
  border-block: 1px solid var(--admin-border);
  background: color-mix(in oklab, var(--admin-primary-soft) 24%, var(--admin-surface));
}

.support-assistant-push-control[data-state="active"] {
  background: color-mix(in oklab, #dcfce7 44%, var(--admin-surface));
}

.support-assistant-push-copy {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
}

.support-assistant-push-copy strong {
  color: var(--admin-text);
  font-size: 0.9rem;
  line-height: 1.25;
}

.support-assistant-push-copy span {
  max-width: 72ch;
  color: var(--admin-muted);
  font-size: 0.82rem;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.support-assistant-push-control .btn {
  flex: 0 0 auto;
  min-height: 44px;
  white-space: normal;
}

  .support-assistant-center-page .list-group-item {
    border-color: var(--admin-border);
  }

  .support-assistant-table-shell {
    max-width: 100%;
  }

  .support-assistant-table-shell .table {
    min-width: 0;
  }

  @media (max-width: 575.98px) {
  .support-assistant-center-head .admin-page-tools,
  .support-assistant-export-actions,
  .support-assistant-backlog-triage-head,
  .support-assistant-backlog-pipeline-head,
  .support-assistant-backlog-decision-head,
  .support-assistant-backlog-conversion-summary,
  .support-assistant-section-nav {
    flex-direction: column;
    align-items: stretch;
  }

  .support-assistant-push-control {
    align-items: stretch;
    flex-direction: column;
  }

  .support-assistant-push-control .btn {
    width: 100%;
  }

  .support-assistant-center-head .admin-page-tools .btn,
  .support-assistant-export-actions .btn,
  .support-assistant-export-actions form,
  .support-assistant-export-actions button,
  .support-assistant-backlog-triage-head .badge,
  .support-assistant-backlog-pipeline-head > span,
  .support-assistant-backlog-decision-head > span,
  .support-assistant-section-nav a {
    width: 100%;
  }

  .support-assistant-backlog-pipeline-list {
    grid-template-columns: 1fr;
  }

  .support-assistant-backlog-pipeline-item {
    min-height: 0;
  }

  .support-assistant-backlog-decision-list {
    grid-template-columns: 1fr;
  }

  .support-assistant-backlog-decision-item {
    min-height: 0;
  }

  .support-assistant-backlog-decision-action,
  .support-assistant-backlog-next-conversion {
    width: 100%;
  }

  .support-assistant-backlog-conversion-list {
    justify-content: flex-start;
  }

  .support-assistant-backlog-conversion-chip {
    width: 100%;
  }

  .support-assistant-backlog-command {
    width: 100%;
    min-height: 42px;
    justify-content: space-between;
  }

  .support-assistant-backlog-triage-card {
    min-height: 0;
  }

  .support-assistant-center-page .row {
    margin-right: 0;
    margin-left: 0;
  }

  .support-assistant-center-page [class*="col-"],
  .support-assistant-center-page .form-control,
  .support-assistant-center-page .form-select,
  .support-assistant-center-page form {
    max-width: 100%;
    min-width: 0;
  }

  .support-assistant-center-page .table-responsive {
    overflow-x: clip;
  }

  .support-assistant-center-page .table-responsive .table {
    min-width: 0;
  }

  .support-assistant-center-page .table-responsive .table thead {
    display: none;
  }

  .support-assistant-center-page .table-responsive .table,
  .support-assistant-center-page .table-responsive .table tbody,
  .support-assistant-center-page .table-responsive .table tr,
  .support-assistant-center-page .table-responsive .table td {
    display: block;
    width: 100%;
  }

  .support-assistant-center-page .table-responsive .table tr {
    padding: 0.65rem 0;
    border-bottom: 1px solid var(--admin-border);
  }

  .support-assistant-center-page .table-responsive .table tr:last-child {
    border-bottom: 0;
  }

  .support-assistant-center-page .table-responsive .table td {
    display: grid;
    grid-template-columns: 8rem minmax(0, 1fr);
    gap: 0.5rem;
    padding: 0.35rem 0;
    border: 0;
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  .support-assistant-center-page .table-responsive .table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 650;
  }
}

.support-assistant-widget {
  position: fixed;
  right: 0.5rem;
  bottom: 1rem;
  z-index: 1040;
}

.support-assistant-toggle {
  position: relative;
  width: 2.75rem;
  min-width: 2.75rem;
  height: 2.75rem;
  min-height: 2.75rem;
  padding: 0;
  border-radius: 50%;
  font-size: 0;
}

.support-assistant-toggle::before {
  content: "?";
  font-size: 1.05rem;
  font-weight: 750;
  line-height: 1;
}

.support-assistant-toggle .badge {
  position: absolute;
  top: -0.35rem;
  right: -0.35rem;
  min-width: 1.25rem;
  padding: 0.2rem 0.3rem;
  font-size: 0.65rem;
}

body:has(.support-assistant-widget) .app-content-shell {
  padding-right: 3.75rem;
}

.support-assistant-toggle:focus-visible {
  outline: 2px solid var(--admin-focus);
  outline-offset: 2px;
}

.support-assistant-panel {
  position: absolute;
  right: 0;
  bottom: 3.25rem;
  width: min(24rem, calc(100vw - 2rem));
  max-height: min(38rem, calc(100vh - 6rem));
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.125);
  border-radius: 0.5rem;
  box-shadow: var(--admin-shadow);
  transform-origin: bottom right;
}

.support-assistant-panel-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.875rem 1rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.support-assistant-thread {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  min-height: 12rem;
  padding: 1rem 1rem 1.5rem;
  scroll-padding-block: 1rem 1.5rem;
  overscroll-behavior: contain;
  overflow-y: auto;
  background: #f8f9fa;
}

.support-assistant-message {
  max-width: 92%;
  padding: 0.625rem 0.75rem;
  border-radius: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.35;
  white-space: pre-wrap;
}

.support-assistant-message-assistant {
  align-self: flex-start;
  color: #212529;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.08);
}

.support-assistant-message-user {
  align-self: flex-end;
  color: #fff;
  background: var(--admin-primary);
}

.support-assistant-thread-marker {
  align-self: center;
  padding: 0.125rem 0.5rem;
  color: #6c757d;
  background: #e9ecef;
  border-radius: 999px;
  font-size: 0.75rem;
  line-height: 1.4;
}

.support-assistant-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
}

.support-assistant-links a {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  padding: 0.25rem 0.5rem;
  border: 1px solid rgba(22, 50, 79, 0.3);
  border-radius: 0.375rem;
  background: #fff;
  color: var(--admin-primary);
  font-size: 0.8125rem;
  text-decoration: none;
}

.support-assistant-disclaimer {
  color: #664d03;
  background: #fff3cd;
  border: 1px solid #ffecb5;
  border-radius: 0.375rem;
  padding: 0.5rem 0.625rem;
  font-size: 0.8125rem;
}

.support-assistant-backlog-notice {
  display: grid;
  gap: 0.45rem;
  max-width: 92%;
  padding: 0.55rem 0.65rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 28%, var(--admin-border));
  border-radius: 0.5rem;
  color: var(--admin-text);
  background: var(--admin-primary-soft);
  font-size: 0.8rem;
}

.support-assistant-backlog-notice a {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  justify-self: start;
  padding: 0.25rem 0.55rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 34%, var(--admin-border));
  border-radius: 0.45rem;
  color: var(--admin-primary-dark);
  background: var(--admin-surface);
  font-weight: 650;
  text-decoration: none;
}

.support-assistant-backlog-notice a:hover,
.support-assistant-backlog-notice a:focus {
  color: var(--admin-surface);
  background: var(--admin-primary-dark);
  text-decoration: none;
}

.support-assistant-metadata {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  max-width: 92%;
}

.support-assistant-tone {
  align-self: flex-start;
  width: fit-content;
  color: #0b7285;
  background: #e7f5ff;
  border: 1px solid #74c0fc;
  border-radius: 0.375rem;
  padding: 0.125rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 600;
}

.support-assistant-next-step {
  color: #5c4a00;
  background: #fff3bf;
  border: 1px solid #ffe066;
  border-radius: 0.375rem;
  padding: 0.4rem 0.5rem;
  font-size: 0.8125rem;
  line-height: 1.3;
}

.support-assistant-action {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 0.75rem;
  border: 1px solid color-mix(in oklab, var(--admin-primary) 30%, var(--admin-border));
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-primary-soft) 38%, var(--admin-surface));
  font-size: 0.875rem;
}

.support-assistant-action-title {
  color: var(--admin-primary-dark);
  font-size: 0.8125rem;
  font-weight: 700;
}

.support-assistant-action-summary {
  margin: 0;
  color: #495057;
  line-height: 1.35;
}

.support-assistant-action-risk {
  width: fit-content;
  color: #842029;
  background: #f8d7da;
  border-radius: 0.375rem;
  padding: 0.125rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 700;
}

.support-assistant-action-preview {
  display: grid;
  gap: 0;
  margin: 0;
  border: 1px solid var(--admin-border);
  border-radius: 0.375rem;
  background: var(--admin-surface);
  overflow: hidden;
}

.support-assistant-action-preview > div {
  display: grid;
  grid-template-columns: minmax(7rem, 0.8fr) minmax(0, 1.2fr);
  gap: 0.5rem;
  padding: 0.42rem 0.55rem;
}

.support-assistant-action-preview > div + div {
  border-top: 1px solid var(--admin-border);
}

.support-assistant-action-preview dt,
.support-assistant-action-preview dd {
  margin: 0;
  overflow-wrap: anywhere;
}

.support-assistant-action-preview dt {
  color: var(--admin-muted);
  font-weight: 600;
}

.support-assistant-action-preview dd {
  color: var(--admin-text);
  font-weight: 650;
}

.support-assistant-strong-confirmation {
  padding: 0.5rem;
  border: 1px solid rgba(220, 53, 69, 0.22);
  border-radius: 0.375rem;
  background: #fff8f8;
}

.support-assistant-action-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.support-assistant-action-actions .btn,
.support-assistant-action > .btn {
  min-height: 2.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.support-assistant-action-executed {
  border-color: color-mix(in oklab, var(--admin-success) 42%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-success) 8%, var(--admin-surface));
}

.support-assistant-action-outcome {
  margin: 0;
  color: var(--admin-success);
  font-weight: 700;
  line-height: 1.4;
}

.support-assistant-form {
  padding: 0.875rem 1rem 1rem;
  background: #fff;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}

@media (max-width: 575.98px) {
  .support-assistant-widget {
    right: 0.25rem;
    bottom: 0.75rem;
    left: auto;
  }

  .support-assistant-toggle {
    width: 2.5rem;
    min-width: 2.5rem;
    height: 2.5rem;
    min-height: 2.5rem;
  }

  .support-assistant-panel {
    position: fixed;
    right: 0.75rem;
    bottom: 4.25rem;
    left: 0.75rem;
    width: auto;
  }

  .support-assistant-action-preview > div {
    grid-template-columns: 1fr;
    gap: 0.15rem;
  }

  .journal-balance-list {
    grid-template-columns: 1fr;
  }

  .journal-ledger-control-grid {
    grid-template-columns: 1fr;
  }

  .ledger-accounts-conflict-summary,
  .ledger-accounts-conflict-list li {
    grid-template-columns: 1fr;
  }

  .opening-balance-form-section-head,
  .opening-balance-readiness-head {
    flex-direction: column;
  }

  .opening-balance-form-section .row {
    margin-right: 0;
    margin-left: 0;
  }

  .opening-balance-form-section .row > * {
    min-width: 0;
    padding-right: 0;
    padding-left: 0;
  }

  .opening-balance-form-actions .btn {
    width: 100%;
  }

  .opening-balances-control-grid {
    grid-template-columns: 1fr;
  }

  .opening-balances-fiscal-grid {
    grid-template-columns: 1fr;
  }

  .ledger-report-trend-metrics,
  .ledger-report-trend-area dl {
    grid-template-columns: 1fr;
  }

  .opening-balances-control-actions .btn,
  .opening-balances-fiscal-actions .btn {
    width: 100%;
  }

  .opening-balances-readiness-card {
    flex-direction: column;
    align-items: stretch;
  }

  .opening-balances-readiness-card .btn {
    width: 100%;
  }
}

@media (max-width: 991.98px) {
  .journal-entries-operations,
  .journal-entry-detail-grid,
  .ledger-accounts-operations,
  .ledger-accounts-readiness-head,
  .ledger-account-form-layout,
  .opening-balances-operations,
  .opening-balances-control-head,
  .opening-balances-fiscal-head,
  .opening-balance-form-layout,
  .vat-register-operations,
  .vat-register-rate-grid,
  .vat-register-period-panel,
  .ledger-report-operations,
  .ledger-report-statement-grid,
  .ledger-report-trend-areas,
  .anagraph-detail-operations,
  .anagraph-detail-grid {
    grid-template-columns: 1fr;
  }

  .anagraph-detail-actions {
    justify-content: flex-start;
  }

  .customer-activity-head {
    flex-direction: column;
  }

  .customer-activity-actions {
    justify-content: flex-start;
  }

  .customer-visit-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .customer-visit-field-wide,
  .customer-visit-field-notes {
    grid-column: 1 / -1;
  }

  .opening-balances-control-actions {
    justify-content: flex-start;
  }

  .opening-balances-control-grid,
  .opening-balances-fiscal-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .opening-balances-fiscal-actions {
    justify-content: flex-start;
  }

  .ledger-report-statement-panel:nth-child(3) {
    grid-column: auto;
  }

  .ledger-account-ledger-filter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ledger-account-ledger-field-wide,
  .ledger-account-ledger-submit {
    grid-column: 1 / -1;
  }

  .ledger-account-ledger-submit .btn {
    width: 100%;
  }

  .ledger-account-ledger-picker-grid {
    grid-template-columns: 1fr;
  }

  .ledger-report-trend-head {
    flex-direction: column;
  }

  .ledger-report-trend-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ledger-accounts-readiness-head {
    flex-direction: column;
  }

  .ledger-accounts-readiness-metrics,
  .ledger-accounts-type-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ledger-accounts-conflict-control {
    grid-template-columns: 1fr;
  }

  .vat-register-filter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .vat-register-fiscal-desk-head {
    flex-direction: column;
  }

  .vat-register-fiscal-actions {
    justify-content: flex-start;
  }

  .vat-register-fiscal-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .vat-register-filter-actions {
    grid-column: 1 / -1;
  }

  .vat-register-filter-actions .btn {
    flex: 1 1 10rem;
  }

  .journal-entries-checks,
  .ledger-accounts-checks,
  .opening-balances-checks,
  .vat-register-checks,
  .ledger-report-checks {
    justify-content: flex-start;
  }

  .journal-ledger-control-head,
  .journal-ledger-control-actions {
    flex-direction: column;
  }

  .journal-ledger-control-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ledger-account-readiness,
  .opening-balance-readiness {
    position: static;
  }

  .sales-order-form-layout {
    grid-template-columns: 1fr;
  }

  .sales-order-readiness {
    position: static;
  }

  .offer-form-layout {
    grid-template-columns: 1fr;
  }

  .offer-readiness {
    position: static;
  }

  .proforma-form-layout {
    grid-template-columns: 1fr;
  }

  .proforma-readiness {
    position: static;
  }

  .ddt-form-layout {
    grid-template-columns: 1fr;
  }

  .ddt-readiness {
    position: static;
  }

  .invoice-form-layout,
  .purchase-invoice-form-layout {
    grid-template-columns: 1fr;
  }

  .invoice-readiness,
  .purchase-invoice-readiness {
    position: static;
  }

  .sales-orders-priority-panel {
    grid-template-columns: 1fr;
  }

  .offers-priority-panel {
    grid-template-columns: 1fr;
  }

  .proforma-priority-panel {
    grid-template-columns: 1fr;
  }

  .invoices-priority-panel {
    grid-template-columns: 1fr;
  }

  .purchase-invoices-priority-panel {
    grid-template-columns: 1fr;
  }

  .purchase-invoices-payment-head {
    flex-direction: column;
  }

  .purchase-invoices-payment-actions {
    justify-content: flex-start;
  }

  .purchase-invoices-payment-grid {
    grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
  }

  .purchase-invoices-import-control {
    grid-template-columns: 1fr;
  }

  .purchase-invoices-import-metrics {
    grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
  }

  .purchase-invoices-import-metrics-wide {
    grid-column: auto;
  }

  .purchase-invoices-import-actions {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
  }

  .purchase-invoices-xml-preview-head {
    grid-template-columns: 1fr;
  }

  .purchase-invoices-xml-preview-actions {
    justify-content: flex-start;
  }

  .ddt-priority-panel {
    grid-template-columns: 1fr;
  }

  .sales-orders-priority-list {
    grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
  }

  .offers-priority-list {
    grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
  }

  .proforma-priority-list {
    grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
  }

  .invoices-priority-list {
    grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
  }

  .purchase-invoices-priority-list {
    grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
  }

  .ddt-priority-list {
    grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
  }

  .journal-entry-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px) {
  .ledger-accounts-readiness {
    padding: 0.7rem;
  }

  .ledger-accounts-readiness-head,
  .ledger-accounts-type-card-head {
    flex-direction: column;
  }

  .ledger-accounts-readiness-metrics,
  .ledger-accounts-type-grid {
    grid-template-columns: 1fr;
  }

  .ledger-account-ledger-filter-head {
    flex-direction: column;
  }

  .ledger-account-ledger-filter-head .btn {
    width: 100%;
  }

  .ledger-account-ledger-filter-grid {
    grid-template-columns: 1fr;
  }

  .vat-register-filter-head {
    flex-direction: column;
  }

  .vat-register-filter-head .btn {
    width: 100%;
  }

  .vat-register-filter-grid,
  .vat-register-period-metrics,
  .vat-register-fiscal-grid {
    grid-template-columns: 1fr;
  }

  .vat-register-filter-actions .btn,
  .vat-register-fiscal-actions .btn {
    width: 100%;
  }

  .vat-register-period-copy {
    flex-direction: column;
  }

  .ledger-accounts-table-shell {
    overflow-x: clip;
  }

  .ledger-accounts-table-shell .admin-table,
  .ledger-accounts-table-shell .admin-table tbody,
  .ledger-accounts-table-shell .admin-table tr,
  .ledger-accounts-table-shell .admin-table td {
    display: block;
    width: 100%;
  }

  .ledger-accounts-table-shell .admin-table thead {
    display: none;
  }

  .ledger-accounts-table-shell .admin-table tr {
    padding: 0.65rem;
    border-bottom: 1px solid var(--admin-border);
  }

  .ledger-accounts-table-shell .admin-table tr:last-child {
    border-bottom: 0;
  }

  .ledger-accounts-table-shell .admin-table td {
    display: grid;
    grid-template-columns: 7.25rem minmax(0, 1fr);
    gap: 0.5rem;
    padding: 0.4rem 0;
    border: 0;
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  .ledger-accounts-table-shell .admin-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 650;
  }

  .journal-entries-table-shell,
  .journal-entry-detail-table-shell,
  .journal-entry-delete-table-shell,
  .opening-balances-table-shell,
  .opening-balance-form-table-shell,
  .vat-register-rate-table-shell,
  .vat-register-documents-table-shell,
  .ledger-report-table-shell,
  .anagraph-detail-table-shell,
  .jobs-index-table-shell,
  .jobs-detail-table-shell {
    overflow-x: clip;
  }

  .journal-entries-table-shell .admin-table,
  .journal-entries-table-shell .admin-table tbody,
  .journal-entries-table-shell .admin-table tr,
  .journal-entries-table-shell .admin-table td,
  .journal-entry-detail-table-shell .admin-table,
  .journal-entry-detail-table-shell .admin-table tbody,
  .journal-entry-detail-table-shell .admin-table tr,
  .journal-entry-detail-table-shell .admin-table td,
  .journal-entry-delete-table-shell .admin-table,
  .journal-entry-delete-table-shell .admin-table tbody,
  .journal-entry-delete-table-shell .admin-table tr,
  .journal-entry-delete-table-shell .admin-table td,
  .opening-balances-table-shell .admin-table,
  .opening-balances-table-shell .admin-table tbody,
  .opening-balances-table-shell .admin-table tr,
  .opening-balances-table-shell .admin-table td,
  .opening-balance-form-table-shell .admin-table,
  .opening-balance-form-table-shell .admin-table tbody,
  .opening-balance-form-table-shell .admin-table tr,
  .opening-balance-form-table-shell .admin-table td,
  .vat-register-rate-table-shell .admin-table,
  .vat-register-rate-table-shell .admin-table tbody,
  .vat-register-rate-table-shell .admin-table tr,
  .vat-register-rate-table-shell .admin-table td,
  .vat-register-documents-table-shell .admin-table,
  .vat-register-documents-table-shell .admin-table tbody,
  .vat-register-documents-table-shell .admin-table tr,
  .vat-register-documents-table-shell .admin-table td,
  .ledger-report-table-shell .admin-table,
  .ledger-report-table-shell .admin-table tbody,
  .ledger-report-table-shell .admin-table tr,
  .ledger-report-table-shell .admin-table td,
  .anagraph-detail-table-shell .admin-table,
  .anagraph-detail-table-shell .admin-table tbody,
  .anagraph-detail-table-shell .admin-table tr,
  .anagraph-detail-table-shell .admin-table td,
  .jobs-index-table-shell .admin-table,
  .jobs-index-table-shell .admin-table tbody,
  .jobs-index-table-shell .admin-table tr,
  .jobs-index-table-shell .admin-table td,
  .jobs-detail-table-shell .admin-table,
  .jobs-detail-table-shell .admin-table tbody,
  .jobs-detail-table-shell .admin-table tr,
  .jobs-detail-table-shell .admin-table td {
    display: block;
    width: 100%;
  }

  .jobs-detail-table-shell .admin-table {
    min-width: 0;
  }

  .journal-entries-table-shell .admin-table thead,
  .journal-entry-detail-table-shell .admin-table thead,
  .journal-entry-delete-table-shell .admin-table thead,
  .opening-balances-table-shell .admin-table thead,
  .opening-balance-form-table-shell .admin-table thead,
  .vat-register-rate-table-shell .admin-table thead,
  .vat-register-documents-table-shell .admin-table thead,
  .ledger-report-table-shell .admin-table thead,
  .anagraph-detail-table-shell .admin-table thead,
  .jobs-index-table-shell .admin-table thead,
  .jobs-detail-table-shell .admin-table thead {
    display: none;
  }

  .journal-entries-table-shell .admin-table tr,
  .journal-entry-detail-table-shell .admin-table tr,
  .journal-entry-delete-table-shell .admin-table tr,
  .opening-balances-table-shell .admin-table tr,
  .opening-balance-form-table-shell .admin-table tr,
  .vat-register-rate-table-shell .admin-table tr,
  .vat-register-documents-table-shell .admin-table tr,
  .ledger-report-table-shell .admin-table tr,
  .anagraph-detail-table-shell .admin-table tr,
  .jobs-index-table-shell .admin-table tr,
  .jobs-detail-table-shell .admin-table tr {
    padding: 0.65rem;
    border-bottom: 1px solid var(--admin-border);
  }

  .journal-entries-table-shell .admin-table tr:last-child,
  .journal-entry-detail-table-shell .admin-table tr:last-child,
  .journal-entry-delete-table-shell .admin-table tr:last-child,
  .opening-balances-table-shell .admin-table tr:last-child,
  .opening-balance-form-table-shell .admin-table tr:last-child,
  .vat-register-rate-table-shell .admin-table tr:last-child,
  .vat-register-documents-table-shell .admin-table tr:last-child,
  .ledger-report-table-shell .admin-table tr:last-child,
  .anagraph-detail-table-shell .admin-table tr:last-child,
  .jobs-index-table-shell .admin-table tr:last-child,
  .jobs-detail-table-shell .admin-table tr:last-child {
    border-bottom: 0;
  }

  .journal-entries-table-shell .admin-table td,
  .journal-entry-detail-table-shell .admin-table td,
  .journal-entry-delete-table-shell .admin-table td,
  .opening-balances-table-shell .admin-table td,
  .opening-balance-form-table-shell .admin-table td,
  .vat-register-rate-table-shell .admin-table td,
  .vat-register-documents-table-shell .admin-table td,
  .ledger-report-table-shell .admin-table td,
  .anagraph-detail-table-shell .admin-table td,
  .jobs-index-table-shell .admin-table td,
  .jobs-detail-table-shell .admin-table td {
    display: grid;
    grid-template-columns: 7rem minmax(0, 1fr);
    gap: 0.5rem;
    padding: 0.4rem 0;
    border: 0;
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  .journal-entries-table-shell .admin-table td::before,
  .journal-entry-detail-table-shell .admin-table td::before,
  .journal-entry-delete-table-shell .admin-table td::before,
  .opening-balances-table-shell .admin-table td::before,
  .opening-balance-form-table-shell .admin-table td::before,
  .vat-register-rate-table-shell .admin-table td::before,
  .vat-register-documents-table-shell .admin-table td::before,
  .ledger-report-table-shell .admin-table td::before,
  .anagraph-detail-table-shell .admin-table td::before,
  .jobs-index-table-shell .admin-table td::before,
  .jobs-detail-table-shell .admin-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 650;
  }

  .journal-entry-detail-table-shell .admin-table tfoot {
    display: none;
  }

  .anagraph-detail-list div {
    grid-template-columns: 1fr;
    gap: 0.2rem;
  }

  .anagraph-detail-section-head {
    flex-direction: column;
  }

  .anagraph-detail-section-head .btn,
  .anagraph-detail-actions .btn,
  .customer-activity-actions,
  .customer-activity-actions .btn {
    width: 100%;
  }

  .customer-activity-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .customer-activity-timeline li {
    grid-template-columns: minmax(0, 1fr);
  }

  .customer-activity-marker {
    display: none;
  }

  .customer-activity-item-head {
    flex-direction: column;
  }

  .customer-visit-head,
  .customer-visit-actions {
    flex-direction: column;
  }

  .customer-visit-form-grid {
    grid-template-columns: 1fr;
  }

  .customer-visit-actions .btn {
    width: 100%;
  }

  .sales-order-form-section-head,
  .sales-order-readiness-head {
    flex-direction: column;
  }

  .sales-order-form-section-head .btn,
  .sales-order-form-actions .btn {
    width: 100%;
  }

  .sales-order-form-table-shell {
    overflow-x: clip;
  }

  .sales-order-form-table-shell .admin-table {
    min-width: 0;
  }

  .sales-order-form-table-shell .admin-table thead {
    display: none;
  }

  .sales-order-form-table-shell .admin-table,
  .sales-order-form-table-shell .admin-table tbody,
  .sales-order-form-table-shell .admin-table tr,
  .sales-order-form-table-shell .admin-table td {
    display: block;
    width: 100%;
  }

  .sales-order-form-table-shell .admin-table tr {
    padding: 0.7rem;
    border-bottom: 1px solid var(--admin-border);
  }

  .sales-order-form-table-shell .admin-table tr:last-child {
    border-bottom: 0;
  }

  .sales-order-form-table-shell .admin-table td {
    display: grid;
    grid-template-columns: 7.25rem minmax(0, 1fr);
    gap: 0.5rem;
    padding: 0.45rem 0;
    border: 0;
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  .sales-order-form-table-shell .admin-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 650;
  }

  .offer-form-section-head,
  .offer-readiness-head {
    flex-direction: column;
  }

  .offer-form-section-head .btn,
  .offer-form-actions .btn {
    width: 100%;
  }

  .offer-form-table-shell {
    overflow-x: clip;
  }

  .offer-form-table-shell .admin-table {
    min-width: 0;
  }

  .offer-form-table-shell .admin-table thead {
    display: none;
  }

  .offer-form-table-shell .admin-table,
  .offer-form-table-shell .admin-table tbody,
  .offer-form-table-shell .admin-table tr,
  .offer-form-table-shell .admin-table td {
    display: block;
    width: 100%;
  }

  .offer-form-table-shell .admin-table tr {
    padding: 0.7rem;
    border-bottom: 1px solid var(--admin-border);
  }

  .offer-form-table-shell .admin-table tr:last-child {
    border-bottom: 0;
  }

  .offer-form-table-shell .admin-table td {
    display: grid;
    grid-template-columns: 7.25rem minmax(0, 1fr);
    gap: 0.5rem;
    padding: 0.45rem 0;
    border: 0;
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  .offer-form-table-shell .admin-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 650;
  }

  .proforma-form-section-head,
  .proforma-readiness-head {
    flex-direction: column;
  }

  .proforma-form-section-head .btn,
  .proforma-form-actions .btn {
    width: 100%;
  }

  .proforma-form-table-shell {
    overflow-x: clip;
  }

  .proforma-form-table-shell .admin-table {
    min-width: 0;
  }

  .proforma-form-table-shell .admin-table thead {
    display: none;
  }

  .proforma-form-table-shell .admin-table,
  .proforma-form-table-shell .admin-table tbody,
  .proforma-form-table-shell .admin-table tr,
  .proforma-form-table-shell .admin-table td {
    display: block;
    width: 100%;
  }

  .proforma-form-table-shell .admin-table tr {
    padding: 0.7rem;
    border-bottom: 1px solid var(--admin-border);
  }

  .proforma-form-table-shell .admin-table tr:last-child {
    border-bottom: 0;
  }

  .proforma-form-table-shell .admin-table td {
    display: grid;
    grid-template-columns: 7.25rem minmax(0, 1fr);
    gap: 0.5rem;
    padding: 0.45rem 0;
    border: 0;
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  .proforma-form-table-shell .admin-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 650;
  }

  .ddt-form-section-head,
  .ddt-readiness-head {
    flex-direction: column;
  }

  .ddt-form-section-head .btn,
  .ddt-form-actions .btn {
    width: 100%;
  }

  .ddt-form-table-shell {
    overflow-x: clip;
  }

  .ddt-form-table-shell .admin-table {
    min-width: 0;
  }

  .ddt-form-table-shell .admin-table thead {
    display: none;
  }

  .ddt-form-table-shell .admin-table,
  .ddt-form-table-shell .admin-table tbody,
  .ddt-form-table-shell .admin-table tr,
  .ddt-form-table-shell .admin-table td {
    display: block;
    width: 100%;
  }

  .ddt-form-table-shell .admin-table tr {
    padding: 0.7rem;
    border-bottom: 1px solid var(--admin-border);
  }

  .ddt-form-table-shell .admin-table tr:last-child {
    border-bottom: 0;
  }

  .ddt-form-table-shell .admin-table td {
    display: grid;
    grid-template-columns: 7.25rem minmax(0, 1fr);
    gap: 0.5rem;
    padding: 0.45rem 0;
    border: 0;
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  .ddt-form-table-shell .admin-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 650;
  }

  .invoice-form-section-head,
  .invoice-readiness-head,
  .purchase-invoice-form-section-head,
  .purchase-invoice-readiness-head {
    flex-direction: column;
  }

  .invoice-form-section-head .btn,
  .invoice-form-actions .btn,
  .purchase-invoice-form-section-head .btn,
  .purchase-invoice-form-actions .btn {
    width: 100%;
  }

  .invoice-form-table-shell,
  .purchase-invoice-form-table-shell {
    overflow-x: clip;
  }

  .invoice-form-table-shell .admin-table,
  .purchase-invoice-form-table-shell .admin-table {
    min-width: 0;
  }

  .invoice-form-table-shell .admin-table thead,
  .purchase-invoice-form-table-shell .admin-table thead {
    display: none;
  }

  .invoice-form-table-shell .admin-table,
  .invoice-form-table-shell .admin-table tbody,
  .invoice-form-table-shell .admin-table tr,
  .invoice-form-table-shell .admin-table td,
  .purchase-invoice-form-table-shell .admin-table,
  .purchase-invoice-form-table-shell .admin-table tbody,
  .purchase-invoice-form-table-shell .admin-table tr,
  .purchase-invoice-form-table-shell .admin-table td {
    display: block;
    width: 100%;
  }

  .invoice-form-table-shell .admin-table tr,
  .purchase-invoice-form-table-shell .admin-table tr {
    padding: 0.7rem;
    border-bottom: 1px solid var(--admin-border);
  }

  .invoice-form-table-shell .admin-table tr:last-child,
  .purchase-invoice-form-table-shell .admin-table tr:last-child {
    border-bottom: 0;
  }

  .invoice-form-table-shell .admin-table td,
  .purchase-invoice-form-table-shell .admin-table td {
    display: grid;
    grid-template-columns: 7.25rem minmax(0, 1fr);
    gap: 0.5rem;
    padding: 0.45rem 0;
    border: 0;
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  .invoice-form-table-shell .admin-table td::before,
  .purchase-invoice-form-table-shell .admin-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 650;
  }

  .sales-orders-sla-control,
  .sales-orders-sla-grid {
    grid-template-columns: 1fr;
  }

  .sales-orders-next-action div,
  .sales-orders-next-action .btn {
    width: 100%;
  }

  .sales-orders-table-shell {
    overflow-x: clip;
  }

  .sales-orders-table-shell .admin-table {
    min-width: 0;
  }

  .sales-orders-table-shell .admin-table thead {
    display: none;
  }

  .sales-orders-table-shell .admin-table,
  .sales-orders-table-shell .admin-table tbody,
  .sales-orders-table-shell .admin-table tr,
  .sales-orders-table-shell .admin-table td {
    display: block;
    width: 100%;
  }

  .sales-orders-table-shell .admin-table tr {
    padding: 0.7rem;
    border-bottom: 1px solid var(--admin-border);
  }

  .sales-orders-table-shell .admin-table tr:last-child {
    border-bottom: 0;
  }

  .sales-orders-table-shell .admin-table td {
    display: grid;
    grid-template-columns: 7.25rem minmax(0, 1fr);
    gap: 0.5rem;
    padding: 0.45rem 0;
    border: 0;
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  .sales-orders-table-shell .admin-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 650;
  }

  .sales-orders-table-shell .admin-actions {
    justify-content: flex-start;
  }

  .sales-orders-detail-meta-panel,
  .sales-orders-detail-section-head {
    grid-template-columns: 1fr;
    flex-direction: column;
  }

  .sales-orders-detail-badges {
    justify-content: flex-start;
  }

  .sales-orders-detail-dl div {
    grid-template-columns: 1fr;
    gap: 0.15rem;
  }

  .sales-orders-detail-table-shell {
    overflow-x: clip;
  }

  .sales-orders-detail-table-shell .admin-table {
    min-width: 0;
  }

  .sales-orders-detail-table-shell .admin-table thead,
  .sales-orders-detail-table-shell .admin-table tfoot {
    display: none;
  }

  .sales-orders-detail-table-shell .admin-table,
  .sales-orders-detail-table-shell .admin-table tbody,
  .sales-orders-detail-table-shell .admin-table tr,
  .sales-orders-detail-table-shell .admin-table td {
    display: block;
    width: 100%;
  }

  .sales-orders-detail-table-shell .admin-table tr {
    padding: 0.7rem;
    border-bottom: 1px solid var(--admin-border);
  }

  .sales-orders-detail-table-shell .admin-table tr:last-child {
    border-bottom: 0;
  }

  .sales-orders-detail-table-shell .admin-table td {
    display: grid;
    grid-template-columns: 7.25rem minmax(0, 1fr);
    gap: 0.5rem;
    padding: 0.45rem 0;
    border: 0;
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  .sales-orders-detail-table-shell .admin-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 650;
  }

  .ddt-table-shell {
    overflow-x: clip;
  }

  .ddt-table-shell .admin-table {
    min-width: 0;
  }

  .ddt-table-shell .admin-table thead {
    display: none;
  }

  .ddt-table-shell .admin-table,
  .ddt-table-shell .admin-table tbody,
  .ddt-table-shell .admin-table tr,
  .ddt-table-shell .admin-table td {
    display: block;
    width: 100%;
  }

  .ddt-table-shell .admin-table tr {
    padding: 0.7rem;
    border-bottom: 1px solid var(--admin-border);
  }

  .ddt-table-shell .admin-table tr:last-child {
    border-bottom: 0;
  }

  .ddt-table-shell .admin-table td {
    display: grid;
    grid-template-columns: 7.25rem minmax(0, 1fr);
    gap: 0.5rem;
    padding: 0.45rem 0;
    border: 0;
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  .ddt-table-shell .admin-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 650;
  }

  .ddt-table-shell .admin-actions {
    justify-content: flex-start;
  }

  .ddt-traceability-head,
  .ddt-detail-meta-panel,
  .ddt-detail-section-head {
    grid-template-columns: 1fr;
    flex-direction: column;
  }

  .ddt-traceability-score {
    justify-items: start;
    width: 100%;
    min-width: 0;
  }

  .ddt-traceability-score span {
    text-align: left;
  }

  .ddt-traceability-grid,
  .ddt-traceability-checklist {
    grid-template-columns: 1fr;
  }

  .ddt-traceability-actions .btn {
    width: 100%;
  }

  .ddt-detail-dl div {
    grid-template-columns: 1fr;
    gap: 0.15rem;
  }

  .ddt-detail-table-shell {
    overflow-x: clip;
  }

  .ddt-detail-table-shell .admin-table {
    min-width: 0;
  }

  .ddt-detail-table-shell .admin-table thead {
    display: none;
  }

  .ddt-detail-table-shell .admin-table,
  .ddt-detail-table-shell .admin-table tbody,
  .ddt-detail-table-shell .admin-table tr,
  .ddt-detail-table-shell .admin-table td {
    display: block;
    width: 100%;
  }

  .ddt-detail-table-shell .admin-table tr {
    padding: 0.7rem;
    border-bottom: 1px solid var(--admin-border);
  }

  .ddt-detail-table-shell .admin-table tr:last-child {
    border-bottom: 0;
  }

  .ddt-detail-table-shell .admin-table td {
    display: grid;
    grid-template-columns: 7.25rem minmax(0, 1fr);
    gap: 0.5rem;
    padding: 0.45rem 0;
    border: 0;
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  .ddt-detail-table-shell .admin-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 650;
  }

  .invoices-detail-meta-panel,
  .invoices-detail-section-head {
    grid-template-columns: 1fr;
    flex-direction: column;
  }

  .invoices-document-lock {
    grid-template-columns: minmax(0, 1fr);
    padding: 14px;
  }

  .invoices-detail-dl div {
    grid-template-columns: 1fr;
    gap: 0.15rem;
  }

  .invoices-detail-table-shell {
    overflow-x: clip;
  }

  .invoices-detail-table-shell .admin-table {
    min-width: 0;
  }

  .invoices-detail-table-shell .admin-table thead {
    display: none;
  }

  .invoices-detail-table-shell .admin-table,
  .invoices-detail-table-shell .admin-table tbody,
  .invoices-detail-table-shell .admin-table tr,
  .invoices-detail-table-shell .admin-table td {
    display: block;
    width: 100%;
  }

  .invoices-detail-table-shell .admin-table tr {
    padding: 0.7rem;
    border-bottom: 1px solid var(--admin-border);
  }

  .invoices-detail-table-shell .admin-table tr:last-child {
    border-bottom: 0;
  }

  .invoices-detail-table-shell .admin-table td {
    display: grid;
    grid-template-columns: 7.25rem minmax(0, 1fr);
    gap: 0.5rem;
    padding: 0.45rem 0;
    border: 0;
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  .invoices-detail-table-shell .admin-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 650;
  }

  .invoices-dishonor-form {
    justify-content: stretch;
  }

  .invoices-dishonor-form .form-control[type="date"],
  .invoices-dishonor-form .form-control:not([type="date"]),
  .invoices-dishonor-form .btn {
    max-width: none;
    width: 100%;
  }

  .purchase-invoices-detail-meta-panel,
  .purchase-invoices-detail-section-head {
    grid-template-columns: 1fr;
    flex-direction: column;
  }

  .purchase-invoices-import-control {
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
    min-width: 0;
    max-width: 100%;
    padding: 0.7rem;
    overflow: hidden;
  }

  .purchase-invoices-import-control > *,
  .purchase-invoices-import-state,
  .purchase-invoices-import-state > div,
  .purchase-invoices-import-metrics,
  .purchase-invoices-import-actions {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .purchase-invoices-import-state {
    grid-template-columns: minmax(0, 1fr);
  }

  .purchase-invoices-import-chip {
    justify-self: start;
  }

  .purchase-invoices-import-metrics {
    grid-template-columns: minmax(0, 1fr);
  }

  .purchase-invoices-import-actions {
    flex-direction: column;
  }

  .purchase-invoices-import-actions .btn {
    width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .purchase-invoices-import-control .admin-table-shell {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow-x: hidden;
  }

  .receipt-invoice-matching-table {
    min-width: 0;
  }

  .receipt-invoice-matching-table thead {
    display: none;
  }

  .receipt-invoice-matching-table,
  .receipt-invoice-matching-table tbody,
  .receipt-invoice-matching-table tr,
  .receipt-invoice-matching-table td {
    display: block;
    width: 100%;
  }

  .receipt-invoice-matching-table tr {
    padding: 0.7rem;
    border-bottom: 1px solid var(--admin-border);
  }

  .receipt-invoice-matching-table tr:last-child {
    border-bottom: 0;
  }

  .receipt-invoice-matching-table td {
    display: grid;
    grid-template-columns: minmax(6.8rem, 0.42fr) minmax(0, 1fr);
    gap: 0.5rem;
    padding: 0.42rem 0;
    border: 0;
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  .receipt-invoice-matching-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 650;
  }

  .receipt-invoice-matching-table .admin-actions,
  .receipt-invoice-matching-table .form-select,
  .receipt-invoice-matching-table .form-control,
  .receipt-invoice-matching-table .btn {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .purchase-invoices-xml-preview {
    padding: 0.7rem;
  }

  .purchase-invoices-xml-preview-actions .btn,
  .purchase-invoices-xml-preview-review .btn {
    width: 100%;
  }

  .purchase-invoices-xml-preview-review {
    flex-direction: column;
  }

  .purchase-invoices-detail-dl div {
    grid-template-columns: 1fr;
    gap: 0.15rem;
  }

  .purchase-invoices-detail-table-shell {
    overflow-x: clip;
  }

  .purchase-invoices-detail-table-shell .admin-table {
    min-width: 0;
  }

  .purchase-invoices-detail-table-shell .admin-table thead {
    display: none;
  }

  .purchase-invoices-detail-table-shell .admin-table,
  .purchase-invoices-detail-table-shell .admin-table tbody,
  .purchase-invoices-detail-table-shell .admin-table tr,
  .purchase-invoices-detail-table-shell .admin-table td {
    display: block;
    width: 100%;
  }

  .purchase-invoices-detail-table-shell .admin-table tr {
    padding: 0.7rem;
    border-bottom: 1px solid var(--admin-border);
  }

  .purchase-invoices-detail-table-shell .admin-table tr:last-child {
    border-bottom: 0;
  }

  .purchase-invoices-detail-table-shell .admin-table td {
    display: grid;
    grid-template-columns: 7.25rem minmax(0, 1fr);
    gap: 0.5rem;
    padding: 0.45rem 0;
    border: 0;
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  .purchase-invoices-detail-table-shell .admin-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 650;
  }

  .offers-detail-meta-panel,
  .offers-detail-section-head {
    grid-template-columns: 1fr;
    flex-direction: column;
  }

  .offers-detail-dl div {
    grid-template-columns: 1fr;
    gap: 0.15rem;
  }

  .offers-detail-readiness-item {
    min-height: 0;
  }

  .offers-detail-revision-guide {
    display: grid;
  }

  .offer-revision-form {
    grid-template-columns: 1fr;
  }

  .offer-revision-submit .btn {
    width: 100%;
  }

  .offers-detail-table-shell {
    overflow-x: clip;
  }

  .offers-detail-table-shell .admin-table {
    min-width: 0;
  }

  .offers-detail-table-shell .admin-table thead {
    display: none;
  }

  .offers-detail-table-shell .admin-table,
  .offers-detail-table-shell .admin-table tbody,
  .offers-detail-table-shell .admin-table tr,
  .offers-detail-table-shell .admin-table td {
    display: block;
    width: 100%;
  }

  .offers-detail-table-shell .admin-table tr {
    padding: 0.7rem;
    border-bottom: 1px solid var(--admin-border);
  }

  .offers-detail-table-shell .admin-table tr:last-child {
    border-bottom: 0;
  }

  .offers-detail-table-shell .admin-table td {
    display: grid;
    grid-template-columns: 7.25rem minmax(0, 1fr);
    gap: 0.5rem;
    padding: 0.45rem 0;
    border: 0;
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  .offers-detail-table-shell .admin-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 650;
  }

  .proforma-detail-meta-panel,
  .proforma-detail-control-main,
  .proforma-fiscal-readiness-head,
  .proforma-detail-section-head {
    grid-template-columns: 1fr;
    flex-direction: column;
  }

  .proforma-fiscal-score {
    width: 100%;
    text-align: left;
  }

  .proforma-detail-control-grid,
  .proforma-fiscal-grid {
    grid-template-columns: 1fr;
  }

  .proforma-detail-control-actions .btn {
    flex: 1 1 11rem;
  }

  .proforma-detail-dl div {
    grid-template-columns: 1fr;
    gap: 0.15rem;
  }

  .proforma-detail-table-shell {
    overflow-x: clip;
  }

  .proforma-detail-table-shell .admin-table {
    min-width: 0;
  }

  .proforma-detail-table-shell .admin-table thead {
    display: none;
  }

  .proforma-detail-table-shell .admin-table,
  .proforma-detail-table-shell .admin-table tbody,
  .proforma-detail-table-shell .admin-table tr,
  .proforma-detail-table-shell .admin-table td {
    display: block;
    width: 100%;
  }

  .proforma-detail-table-shell .admin-table tr {
    padding: 0.7rem;
    border-bottom: 1px solid var(--admin-border);
  }

  .proforma-detail-table-shell .admin-table tr:last-child {
    border-bottom: 0;
  }

  .proforma-detail-table-shell .admin-table td {
    display: grid;
    grid-template-columns: 7.25rem minmax(0, 1fr);
    gap: 0.5rem;
    padding: 0.45rem 0;
    border: 0;
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  .proforma-detail-table-shell .admin-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 650;
  }
}

.ledger-operations-page {
  display: grid;
  gap: 0.9rem;
}

.ledger-operations-summary {
  margin-bottom: 0;
}

.ledger-operations-summary .admin-summary-card {
  min-width: 0;
}

.ledger-operations-summary .admin-summary-card.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 28%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-success) 5%, var(--admin-surface));
}

.ledger-operations-summary .admin-summary-card.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 34%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-warning) 5%, var(--admin-surface));
}

.ledger-operations-summary .admin-summary-card.is-danger {
  border-color: color-mix(in oklab, var(--admin-danger) 30%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-danger) 4%, var(--admin-surface));
}

.ledger-operations-card-note {
  margin-top: 0.25rem;
  color: var(--admin-muted);
  font-size: 0.78rem;
  line-height: 1.35;
}

.ledger-operations-panel {
  min-width: 0;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
  box-shadow: var(--admin-shadow);
}

.ledger-operations-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

.ledger-operations-panel-head h2 {
  margin-bottom: 0.2rem;
  font-size: 1rem;
}

.ledger-operations-panel-head p {
  max-width: 72ch;
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

.ledger-operations-panel-head span {
  flex: 0 0 auto;
  color: var(--admin-muted);
  font-size: 0.8rem;
  font-weight: 650;
  white-space: nowrap;
}

.ledger-operations-table-shell .admin-table {
  min-width: 0;
}

.ledger-aging-table td,
.ledger-operations-table td {
  vertical-align: middle;
}

.ledger-operations-table td[data-label="Totale"],
.ledger-operations-table td[data-label="Incassato"],
.ledger-operations-table td[data-label="Pagato"],
.ledger-operations-table td[data-label="Residuo"],
.ledger-aging-table td {
  font-variant-numeric: tabular-nums;
}

.due-schedule-control-panel {
  display: grid;
  gap: 0.8rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
  box-shadow: var(--admin-shadow);
}

.due-schedule-control-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.9rem;
}

.due-schedule-control-head h2 {
  margin: 0.35rem 0 0.15rem;
  color: var(--admin-text);
  font-size: 1.05rem;
  font-weight: 750;
  text-wrap: balance;
}

.due-schedule-control-head p {
  max-width: 72ch;
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
  line-height: 1.45;
  text-wrap: pretty;
}

.due-schedule-control-status {
  display: inline-flex;
  align-items: center;
  min-height: 1.7rem;
  padding: 0.25rem 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 62%, white);
  font-size: 0.78rem;
  font-weight: 700;
}

.due-schedule-control-status.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 28%, var(--admin-border));
  color: var(--admin-success);
  background: color-mix(in oklab, var(--admin-success) 8%, white);
}

.due-schedule-control-status.is-attention {
  border-color: color-mix(in oklab, var(--admin-primary) 30%, var(--admin-border));
  color: var(--admin-primary-dark);
  background: var(--admin-primary-soft);
}

.due-schedule-control-status.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 34%, var(--admin-border));
  color: #7c2d12;
  background: #fffbeb;
}

.due-schedule-control-status.is-danger {
  border-color: color-mix(in oklab, var(--admin-danger) 30%, var(--admin-border));
  color: var(--admin-danger);
  background: color-mix(in oklab, var(--admin-danger) 7%, white);
}

.due-schedule-control-actions {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.45rem;
}

.due-schedule-control-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.65rem;
  margin: 0;
}

.due-schedule-control-grid div {
  min-width: 0;
  padding: 0.75rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.55rem;
  background: color-mix(in oklab, var(--admin-bg) 48%, white);
}

.due-schedule-control-grid dt {
  margin-bottom: 0.25rem;
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.due-schedule-control-grid dd {
  margin: 0;
  color: var(--admin-text);
  font-size: 1.05rem;
  font-weight: 760;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

.due-schedule-control-grid small {
  display: block;
  margin-top: 0.25rem;
  color: var(--admin-muted);
  font-size: 0.78rem;
  line-height: 1.35;
}

.due-schedule-reminder-panel {
  display: grid;
  gap: 0.65rem;
  padding: 0.75rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.6rem;
  background: color-mix(in oklab, var(--admin-primary) 3%, var(--admin-surface));
}

.due-schedule-reminder-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.due-schedule-reminder-head h3 {
  margin: 0;
  color: var(--admin-text);
  font-size: 0.98rem;
  font-weight: 740;
  line-height: 1.25;
}

.due-schedule-reminder-head p {
  max-width: 72ch;
  margin: 0.2rem 0 0;
  color: var(--admin-muted);
  font-size: 0.86rem;
  line-height: 1.45;
}

.due-schedule-reminder-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.55rem;
  margin: 0;
}

.due-schedule-reminder-grid div {
  min-width: 0;
  padding: 0.65rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: var(--admin-surface);
}

.due-schedule-reminder-grid dt {
  margin-bottom: 0.22rem;
  color: var(--admin-muted);
  font-size: 0.76rem;
  font-weight: 700;
}

.due-schedule-reminder-grid dd {
  margin: 0;
  color: var(--admin-text);
  font-size: 0.98rem;
  font-weight: 740;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

.due-schedule-reminder-grid small {
  display: block;
  margin-top: 0.22rem;
  color: var(--admin-muted);
  font-size: 0.76rem;
  line-height: 1.35;
}

@media (max-width: 767.98px) {
  .ledger-operations-panel {
    padding: 0.75rem;
  }

  .due-schedule-control-panel {
    padding: 0.75rem;
  }

  .due-schedule-control-head {
    flex-direction: column;
  }

  .due-schedule-control-actions {
    width: 100%;
    justify-content: flex-start;
  }

  .due-schedule-control-actions .btn {
    width: 100%;
  }

  .due-schedule-control-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .due-schedule-reminder-head {
    flex-direction: column;
  }

  .due-schedule-reminder-head .btn {
    width: 100%;
  }

  .due-schedule-reminder-grid {
    grid-template-columns: 1fr;
  }

  .ledger-operations-panel-head {
    flex-direction: column;
  }

  .ledger-operations-panel-head span {
    white-space: normal;
  }

  .ledger-operations-table-shell {
    overflow-x: clip;
  }

  .ledger-operations-table-shell .admin-table thead {
    display: none;
  }

  .ledger-operations-table-shell .admin-table,
  .ledger-operations-table-shell .admin-table tbody,
  .ledger-operations-table-shell .admin-table tr,
  .ledger-operations-table-shell .admin-table td {
    display: block;
    width: 100%;
  }

  .ledger-operations-table-shell .admin-table tr {
    padding: 0.7rem;
    border-bottom: 1px solid var(--admin-border);
  }

  .ledger-operations-table-shell .admin-table tr:last-child {
    border-bottom: 0;
  }

  .ledger-operations-table-shell .admin-table td {
    display: grid;
    grid-template-columns: 7.4rem minmax(0, 1fr);
    gap: 0.5rem;
    padding: 0.45rem 0;
    border: 0;
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  .ledger-operations-table-shell .admin-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 650;
  }

  .ledger-operations-table td[data-label="Azioni"] .btn {
    width: 100%;
  }
}

@media (max-width: 575.98px) {
  .due-schedule-control-grid {
    grid-template-columns: 1fr;
  }
}

.credit-control-page {
  display: grid;
  gap: 1rem;
  min-width: 0;
}

.credit-control-page .admin-page-head,
.credit-control-page .admin-page-tools,
.credit-control-page .admin-filter-card,
.credit-control-page .admin-filter-grid {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.credit-control-page .admin-filter-grid > *,
.credit-control-page .form-control,
.credit-control-page .form-select {
  max-width: 100%;
  min-width: 0;
}

.credit-control-summary .admin-summary-card {
  min-height: 100%;
}

.credit-control-summary .admin-summary-card.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 24%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-success) 5%, var(--admin-surface));
}

.credit-control-summary .admin-summary-card.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 28%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-warning) 6%, var(--admin-surface));
}

.credit-control-summary .admin-summary-card.is-danger {
  border-color: color-mix(in oklab, var(--admin-danger) 28%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-danger) 5%, var(--admin-surface));
}

.credit-control-card-note {
  margin-top: 0.35rem;
  color: var(--admin-muted);
  font-size: 0.82rem;
  line-height: 1.35;
}

.credit-control-panel {
  padding: 1rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
}

.credit-control-panel-head,
.credit-reminder-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.credit-control-panel-head h2,
.credit-reminder-head h3 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1.05rem;
  font-weight: 700;
}

.credit-control-panel-head p {
  max-width: 72ch;
  margin: 0.25rem 0 0;
  color: var(--admin-muted);
}

.credit-control-panel-head span {
  flex: 0 0 auto;
  padding: 0.25rem 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 56%, white);
  font-size: 0.8rem;
  font-weight: 650;
}

.reminder-priority-panel {
  display: grid;
  gap: 0.8rem;
}

.reminder-priority-panel.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 26%, var(--admin-border));
}

.reminder-priority-panel.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 32%, var(--admin-border));
  background: #fffbeb;
}

.reminder-priority-panel.is-danger {
  border-color: color-mix(in oklab, var(--admin-danger) 30%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-danger) 5%, var(--admin-surface));
}

.reminder-priority-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.65rem;
}

.reminder-priority-grid > div {
  min-width: 0;
  padding: 0.68rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: var(--admin-surface);
}

.reminder-priority-grid span,
.reminder-priority-grid small {
  display: block;
  color: var(--admin-muted);
  font-size: 0.78rem;
  line-height: 1.35;
}

.reminder-priority-grid strong {
  display: block;
  margin: 0.18rem 0;
  color: var(--admin-text);
  font-size: 1.02rem;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

.reminder-priority-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.reminder-draft-panel {
  display: grid;
  gap: 0.75rem;
}

.reminder-draft-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.6rem;
  margin: 0;
}

.reminder-draft-grid div {
  min-width: 0;
  padding: 0.68rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.5rem;
  background: color-mix(in oklab, var(--admin-bg) 48%, white);
}

.reminder-draft-grid dt {
  margin-bottom: 0.22rem;
  color: var(--admin-muted);
  font-size: 0.76rem;
  font-weight: 700;
}

.reminder-draft-grid dd {
  margin: 0;
  color: var(--admin-text);
  font-size: 0.98rem;
  font-weight: 740;
  overflow-wrap: anywhere;
}

.reminder-draft-grid small {
  display: block;
  margin-top: 0.22rem;
  color: var(--admin-muted);
  font-size: 0.76rem;
  line-height: 1.35;
}

.reminder-draft-grid-wide {
  grid-column: span 4;
}

.reminder-draft-variants {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin: 0 0 0.5rem;
}

.reminder-draft-variants span {
  min-height: 1.7rem;
  padding: 0.25rem 0.55rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-muted);
  background: color-mix(in oklab, var(--admin-bg) 52%, white);
  font-size: 0.78rem;
  font-weight: 650;
}

.credit-reminder-card {
  display: grid;
  gap: 1rem;
}

.credit-reminder-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.5rem;
}

.credit-reminder-actions .badge {
  max-width: 100%;
  white-space: normal;
  text-align: left;
  overflow-wrap: anywhere;
}

.credit-control-definition-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
  gap: 0.55rem 0.85rem;
  margin: 0.6rem 0 0;
}

.credit-control-definition-grid div {
  min-width: 0;
}

.credit-control-definition-grid dt {
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.credit-control-definition-grid dd {
  margin: 0.1rem 0 0;
  color: var(--admin-text);
  font-weight: 650;
  overflow-wrap: anywhere;
}

.credit-risk-definition-grid {
  grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
}

.customer-risk-signal-panel {
  display: grid;
  gap: 0.85rem;
}

.customer-risk-signal-panel .credit-control-panel-head > span.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 26%, var(--admin-border));
  color: var(--admin-success);
  background: color-mix(in oklab, var(--admin-success) 8%, white);
}

.customer-risk-signal-panel .credit-control-panel-head > span.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 32%, var(--admin-border));
  color: #7c2d12;
  background: #fffbeb;
}

.customer-risk-signal-panel .credit-control-panel-head > span.is-danger {
  border-color: color-mix(in oklab, var(--admin-danger) 30%, var(--admin-border));
  color: var(--admin-danger);
  background: color-mix(in oklab, var(--admin-danger) 7%, white);
}

.customer-risk-signal-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.65rem;
}

.customer-risk-signal-card {
  display: grid;
  gap: 0.45rem;
  min-width: 0;
  padding: 0.75rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.55rem;
  background: color-mix(in oklab, var(--admin-bg) 42%, white);
}

.customer-risk-signal-card.is-ready {
  border-color: color-mix(in oklab, var(--admin-success) 22%, var(--admin-border));
}

.customer-risk-signal-card.is-warning {
  border-color: color-mix(in oklab, var(--admin-warning) 28%, var(--admin-border));
  background: #fffbeb;
}

.customer-risk-signal-card.is-danger {
  border-color: color-mix(in oklab, var(--admin-danger) 28%, var(--admin-border));
  background: color-mix(in oklab, var(--admin-danger) 5%, var(--admin-surface));
}

.customer-risk-signal-card div {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.55rem;
  min-width: 0;
}

.customer-risk-signal-card strong {
  color: var(--admin-text);
  font-size: 0.86rem;
  line-height: 1.25;
}

.customer-risk-signal-card span {
  flex: 0 0 auto;
  color: var(--admin-text);
  font-weight: 750;
  font-variant-numeric: tabular-nums;
}

.customer-risk-signal-card p {
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.82rem;
  line-height: 1.4;
}

.customer-risk-next-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.credit-control-table-shell .admin-table {
  margin-bottom: 0;
  min-width: 44rem;
}

.credit-control-table td[data-label="Totale"],
.credit-control-table td[data-label="Incassato"],
.credit-control-table td[data-label="Residuo"] {
  font-variant-numeric: tabular-nums;
}

.credit-message-draft {
  display: grid;
  gap: 0.35rem;
}

.credit-message-draft textarea {
  min-height: 9rem;
  resize: vertical;
}

@media (max-width: 767.98px) {
  .credit-control-panel {
    padding: 0.8rem;
  }

  .credit-control-page .admin-page-tools {
    flex-direction: column;
    align-items: stretch;
  }

  .credit-control-page .admin-filter-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .credit-control-panel-head,
  .credit-reminder-head {
    flex-direction: column;
    gap: 0.75rem;
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .credit-reminder-head > *,
  .credit-control-definition-grid,
  .credit-control-definition-grid > * {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .credit-control-definition-grid,
  .credit-risk-definition-grid {
    grid-template-columns: minmax(0, 1fr);
  }

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

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

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

  .reminder-draft-grid-wide {
    grid-column: auto;
  }

  .customer-risk-signal-card div {
    align-items: flex-start;
  }

  .customer-risk-next-actions,
  .customer-risk-next-actions .btn,
  .reminder-priority-actions,
  .reminder-priority-actions .btn {
    width: 100%;
  }

  .credit-reminder-actions {
    width: 100%;
    justify-content: stretch;
  }

  .credit-reminder-actions .btn,
  .credit-reminder-actions form,
  .credit-reminder-actions form .btn {
    width: 100%;
  }

  .credit-control-table-shell {
    overflow-x: visible;
  }

  .credit-control-table-shell .admin-table thead {
    display: none;
  }

  .credit-control-table-shell .admin-table,
  .credit-control-table-shell .admin-table tbody,
  .credit-control-table-shell .admin-table tr,
  .credit-control-table-shell .admin-table td {
    display: block;
    width: 100%;
    min-width: 0;
  }

  .credit-control-table-shell .admin-table tr {
    padding: 0.65rem 0;
    border-bottom: 1px solid var(--admin-border);
  }

  .credit-control-table-shell .admin-table tr:last-child {
    border-bottom: 0;
  }

  .credit-control-table-shell .admin-table td {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.3rem 0;
    border: 0;
    text-align: right !important;
    overflow-wrap: anywhere;
  }

  .credit-control-table-shell .admin-table td::before {
    content: attr(data-label);
    flex: 0 0 7.5rem;
    color: var(--admin-muted);
    font-weight: 650;
    text-align: left;
  }

  .credit-control-table td[data-label="Azioni"] .btn {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}









/* Compact navigation shell: keep the operational workspace dominant on every viewport. */




.app-compact-actions {
  display: inline-flex !important;
}

















.dropdown-menu .dropdown-item {
  min-height: 30px;
  padding-top: 0.2rem;
  padding-bottom: 0.2rem;
  font-size: 0.84rem;
}













/* Global compact navigation launcher: keep the operational workspace free at every width. */




.app-compact-actions {
  display: inline-flex !important;
}



















.dropdown-menu .dropdown-item {
  min-height: 30px !important;
  padding-top: 0.2rem !important;
  padding-bottom: 0.2rem !important;
  font-size: 0.84rem !important;
  white-space: normal !important;
}











/* Desktop navigation correction: keep the menu as a toolbar, not as a launcher panel. */








/* Final navigation footprint: the workspace wins, the menu is always a compact launcher. */
.app-compact-actions {
  display: inline-flex !important;
}



























/* Operational navigation 2026-07: full desktop toolbar, compact side panel below desktop. */








/* Navigation mode correction 2026-07: desktop gets the full horizontal menu; smaller screens keep a side launcher. */






/* Navigation balance 2026-07: readable full-width toolbar on desktop, side panel below. */










/* Navigation balance 2026-07: full desktop toolbar only when labels can stay readable. */








/* Navigation final override 2026-07-13: full-width top menu on desktop, side launcher below tablet/laptop. */






















/* Navigation readability 2026-07-13: wide screens get a full-width horizontal workbar; narrow screens keep the side launcher. */




@media (max-width: 767.98px) {
  .banking-consent-queue-head,
  .banking-consent-card-head {
    flex-direction: column;
    align-items: stretch;
  }

  .banking-consent-queue-actions,
  .banking-consent-queue-actions form,
  .banking-consent-queue-actions .btn {
    width: 100%;
  }

  .banking-consent-queue-actions {
    justify-content: stretch;
  }

  .banking-consent-card-head > div {
    flex-wrap: wrap;
  }

  .banking-consent-card dl {
    grid-template-columns: 1fr;
  }

  .banking-consent-card-actions,
  .banking-consent-card-actions form,
  .banking-consent-card-actions .btn {
    width: 100%;
  }

  .banking-consent-sla-main dl,
  .banking-consent-sla-grid {
    grid-template-columns: 1fr;
  }

  .banking-consent-sla-title {
    flex-direction: column;
    align-items: stretch;
  }

  .banking-consent-sla-title .btn {
    width: 100%;
  }
}

/* Navigation UX decisive override 2026-07-13: keep 992px+ as a full-width horizontal topbar. */


/* Final navigation sizing: readable full-width desktop workbar after legacy overrides. */








/* Navigation UX final 2026-07-13: horizontal workbar from tablet landscape upward, lateral compact panel only on small screens. */


/* Navigation balance 2026-07-13: roomy full-width desktop bar, compact drawer only on small screens. */














/* Navigation ergonomics 2026-07-13: roomy full-width toolbar on desktop, compact side panel below laptop width. */






/* Final navigation sizing: readable full-width desktop workbar after legacy overrides. */





/* Navigation breakpoint correction 2026-07-13: below 1200px use the compact side panel. */


/* Navigation layout final override: wide top bar on desktop, compact side panel below 1200px. */






/* Final navigation layout v2: wide desktop workbar, compact side panel below desktop. */








/* Navigation final decision 2026-07-13: wide desktop uses a readable full-width topbar; smaller screens use a compact side panel. */










/* Last-resort navigation guard: keep desktop header to one operational row. */




/* Navigation final UX: roomy full-width desktop topbar, compact side panel below desktop. */




/* Navigation final direction: roomy desktop workbar, side drawer on smaller screens. */








/* Navigation final consolidation: desktop stays full-width and readable without wasting vertical workspace. */








/* Navigation decision 13/07/2026: desktop and laptop get a real full-width top menu;
   only tablet/mobile widths use the compressed side drawer. */








/* Navigation override 13/07/2026: desktop/laptop as full-width top workbar,
   compact side drawer only for narrow screens. */








/* Effective final navigation sizing: this must remain after legacy nav overrides. */








/* Final menu placement: this block intentionally lives at the end because older
   generated navigation experiments still exist above in this stylesheet. */








/* Canonical navigation override 14/07/2026:
   authenticated users get a readable full-width top workbar on >=992px;
   compact widths keep the menu as a contained right-side panel. */








/* Final effective navigation fit 14/07/2026:
   this block must stay last so desktop stays full-width and readable without wasting vertical workspace. */








/* EOF canonical navigation override 14/07/2026:
   desktop is a one-line full-width workbar; below 992px navigation becomes a compact side panel. */












/* Canonical navigation override 14/07/2026:
   this intentionally stays at EOF: desktop one-line workbar, compact side panel below 992px. */






/* Navigation correction 14/07/2026:
   desktop is a single full-width horizontal workbar; small screens use a compact side panel. */






/* Final effective navigation fit 14/07/2026:
   this block must stay last so desktop stays full-width and readable without wasting vertical workspace. */




/* Navigation vertical fit 14/07/2026:
   keep the large horizontal menu readable on low laptops without letting the header dominate the workspace. */



/* Final navigation breakpoint correction 14/07/2026:
   horizontal top workbar from 992px upward; compressed side drawer below it. */




/* Navigation breakpoint correction 14/07/2026:
   keep the primary menu horizontal from tablet-landscape/laptop widths upward. */




/* Last rule wins: authenticated navigation is horizontal from 1100px upward. */






/* Final navigation policy 14/07/2026: this block intentionally stays last. */






/* Navigation correction 14/07/2026:
   wide work surfaces use a full-width top menu from 1100px; only smaller screens use the side drawer. */







/* Navigation policy 14/07/2026:
   desktop is a full-width operational workbar; small screens use a right-side drawer. */








/* Navigation UX correction 13/07/2026:
   desktop gets a real full-width workbar; compact screens keep a readable side panel. */








/* Effective final navigation sizing: this must remain after legacy nav overrides. */








/* Navigation UX correction 13/07/2026:
   desktop gets a clear full-width horizontal workbar; small screens keep a compressed side drawer. */










/* Navigation decision 13/07/2026: a roomy full-width top workbar from desktop
   widths upward; compact side drawer for narrower screens. */






/* Canonical navigation policy 13/07/2026: horizontal top workbar from 992px upward;
   compressed side drawer only on tablet/mobile widths. Keep this block at the end. */




/* Last-mile density tuning for the horizontal workbar. */






/* Final menu placement override 14/07/2026:
   keep the main navigation as a full-width, readable top workbar only on wide screens. */








/* Navigation UX correction 14/07/2026:
   the authenticated menu must read as a full-width top workbar, not as a tiny compact launcher. */







/* Final effective navigation fit 14/07/2026:
   this block must stay last so desktop stays full-width and readable without wasting vertical workspace. */



/* Final small-breakpoint navigation correction 14/07/2026. */






/* True final navigation override 14/07/2026:
   desktop is a one-line full-width workbar; below 992px navigation becomes a compact side panel. */









/* Production finite-capacity agenda */
.production-agenda-page {
  --agenda-ink: #172033;
  --agenda-muted: #566176;
  --agenda-line: #d8dee8;
  --agenda-soft: #f4f7fa;
  --agenda-accent: var(--admin-primary);
  --agenda-danger: #a92d35;
}

.production-agenda-command,
.production-agenda-overview,
.production-agenda-whatif,
.production-agenda-orders,
.production-agenda-blockers,
.production-agenda-timeline {
  margin-top: 1rem;
  padding: 1rem 0;
  border-top: 1px solid var(--agenda-line);
}

.production-agenda-command-head,
.production-agenda-overview-head,
.production-agenda-timeline-head,
.production-agenda-confirm {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.production-agenda-command-head h2,
.production-agenda-overview-head h2,
.production-agenda-whatif h2,
.production-agenda-orders h2,
.production-agenda-blockers h2,
.production-agenda-timeline-head h2 {
  margin: 0;
  color: var(--agenda-ink);
  font-size: 1.15rem;
}

.production-agenda-command-head p,
.production-agenda-overview-head p,
.production-agenda-whatif p,
.production-agenda-orders p,
.production-agenda-blockers p,
.production-agenda-timeline-head p {
  max-width: 72ch;
  margin: .3rem 0 0;
  color: var(--agenda-muted);
}

.production-agenda-command-head > span,
.production-agenda-overview-head > span,
.production-agenda-timeline-head > span,
.production-agenda-row-status {
  flex: 0 0 auto;
  padding: .25rem .55rem;
  border-radius: 4px;
  background: #e8edf3;
  color: #354157;
  font-size: .82rem;
  font-weight: 700;
}

.production-agenda-form {
  display: grid;
  grid-template-columns: repeat(4, minmax(10rem, 1fr));
  align-items: end;
  gap: .75rem;
  margin-top: .9rem;
}

.production-agenda-toggle {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: .5rem;
  color: var(--agenda-ink);
  white-space: nowrap;
}

.production-agenda-toggle input {
  width: 1.1rem;
  height: 1.1rem;
}

.production-agenda-form-actions {
  display: flex;
  grid-column: 1 / -1;
  justify-content: flex-end;
  gap: .5rem;
}

.production-agenda-objectives {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem 1rem;
  margin: .2rem 0 0;
  padding: .8rem 0 0;
  border: 0;
  border-top: 1px solid var(--agenda-line);
  transition: opacity 160ms ease;
}

.production-agenda-objectives[data-active="false"] {
  opacity: .62;
}

.production-agenda-objectives legend {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--agenda-ink);
  font-size: .88rem;
  font-weight: 750;
}

.production-agenda-objectives label {
  display: grid;
  min-width: 0;
  gap: .35rem;
}

.production-agenda-objectives label > span {
  display: flex;
  justify-content: space-between;
  gap: .5rem;
  color: var(--agenda-muted);
  font-size: .84rem;
  font-weight: 650;
}

.production-agenda-objectives output {
  color: var(--agenda-ink);
  font-variant-numeric: tabular-nums;
}

.production-agenda-objectives input[type="range"] {
  width: 100%;
  min-height: 28px;
  accent-color: var(--agenda-accent);
}

.production-agenda-history {
  display: flex;
  align-items: center;
  gap: .35rem;
  margin-top: 1rem;
  padding: .55rem 0;
  overflow-x: auto;
  border-top: 1px solid var(--agenda-line);
  border-bottom: 1px solid var(--agenda-line);
}

.production-agenda-history > span {
  margin-right: .35rem;
  color: var(--agenda-muted);
  font-weight: 700;
}

.production-agenda-history a {
  flex: 0 0 auto;
  padding: .35rem .55rem;
  border-radius: 4px;
  color: #354157;
  text-decoration: none;
}

.production-agenda-history a:hover,
.production-agenda-history a.is-active {
  background: #e4f1ee;
  color: #0e594c;
}

.production-agenda-overview.is-ready {
  border-top-color: #66a99d;
}

.production-agenda-overview.is-danger {
  border-top-color: #d88a8f;
}

.production-agenda-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(7.5rem, 1fr));
  margin: .9rem 0 0;
  border-top: 1px solid var(--agenda-line);
  border-bottom: 1px solid var(--agenda-line);
}

.production-agenda-metrics > div {
  padding: .75rem;
  border-right: 1px solid var(--agenda-line);
}

.production-agenda-metrics > div:last-child {
  border-right: 0;
}

.production-agenda-metrics dt {
  color: var(--agenda-muted);
  font-size: .84rem;
}

.production-agenda-metrics dd {
  margin: .1rem 0 0;
  color: var(--agenda-ink);
  font-size: 1.25rem;
  font-weight: 750;
}

.production-agenda-confirm {
  align-items: center;
  margin-top: .85rem;
  padding: .75rem;
  background: var(--agenda-soft);
}

.production-agenda-confirm div {
  display: grid;
  gap: .15rem;
}

.production-agenda-confirm span {
  color: var(--agenda-muted);
}

.production-agenda-scenarios {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
  margin-top: .85rem;
}

.production-agenda-scenario {
  display: grid;
  min-width: 0;
  gap: .75rem;
  padding: .85rem;
  border: 1px solid var(--agenda-line);
  border-radius: 6px;
  background: #fff;
}

.production-agenda-scenario.is-recommended {
  border-color: #66a99d;
  box-shadow: inset 3px 0 0 var(--agenda-accent);
}

.production-agenda-scenario > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
}

.production-agenda-scenario h3 {
  margin: 0;
  color: var(--agenda-ink);
  font-size: 1rem;
}

.production-agenda-scenario > header span {
  padding: .2rem .45rem;
  border-radius: 4px;
  background: #dff0eb;
  color: #155d50;
  font-size: .78rem;
  font-weight: 700;
}

.production-agenda-scenario dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
}

.production-agenda-scenario dl > div {
  padding: .45rem 0;
  border-bottom: 1px solid var(--agenda-line);
}

.production-agenda-scenario dt {
  color: var(--agenda-muted);
  font-size: .8rem;
}

.production-agenda-scenario dd {
  margin: .1rem 0 0;
  color: var(--agenda-ink);
  font-weight: 750;
}

.production-agenda-scenario form,
.production-agenda-scenario .btn {
  width: 100%;
}

.production-agenda-blockers {
  color: var(--agenda-ink);
}

.production-agenda-days {
  margin-top: .75rem;
  border-top: 1px solid var(--agenda-line);
}

.production-agenda-day {
  padding: .75rem 0 1rem;
  border-bottom: 1px solid var(--agenda-line);
}

.production-agenda-day > header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: .45rem;
  color: var(--agenda-ink);
  font-weight: 750;
}

.production-agenda-day > header time {
  text-transform: capitalize;
}

.production-agenda-row-status.is-planned {
  background: #dff0eb;
  color: #155d50;
}

.production-agenda-row-status.is-blocked {
  background: #f8e4e6;
  color: var(--agenda-danger);
}

.production-agenda-row-status.is-late {
  background: #fff0cc;
  color: #754c00;
}

.production-agenda-orders-table td:nth-child(3),
.production-agenda-orders-table td:nth-child(4) {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

@media (max-width: 1199.98px) {
  .production-agenda-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .production-agenda-form-actions {
    grid-column: 1 / -1;
  }

  .production-agenda-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .production-agenda-metrics > div:nth-child(3) {
    border-right: 0;
  }

  .production-agenda-scenarios {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 575.98px) {
  .production-agenda-command-head,
  .production-agenda-overview-head,
  .production-agenda-timeline-head,
  .production-agenda-confirm {
    align-items: stretch;
    flex-direction: column;
  }

  .production-agenda-form {
    grid-template-columns: 1fr;
  }

  .production-agenda-form-actions {
    grid-column: auto;
    flex-direction: column;
  }

  .production-agenda-objectives {
    grid-template-columns: 1fr;
  }

  .production-agenda-form-actions .btn,
  .production-agenda-confirm .btn {
    width: 100%;
    min-height: 44px;
  }

  .production-agenda-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .production-agenda-metrics > div,
  .production-agenda-metrics > div:nth-child(3) {
    border-right: 0;
    border-bottom: 1px solid var(--agenda-line);
  }
}
.inventory-policy-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-bottom: 1.5rem;
  padding: 1rem 0;
  border-top: 1px solid var(--bs-border-color);
  border-bottom: 1px solid var(--bs-border-color);
}

.inventory-policy-summary > div {
  display: flex;
  flex-direction: column;
  gap: .2rem;
}

.inventory-policy-summary > div strong {
  font-size: 1.15rem;
}

.inventory-policy-summary > p {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--bs-secondary-color);
}

/* Human resources */
.hr-summary {
  margin-bottom: 1rem;
}

.hr-summary-note,
.hr-table-secondary {
  display: block;
  margin-top: .2rem;
  color: var(--bs-secondary-color);
  font-size: .82rem;
  line-height: 1.35;
}

.hr-control-panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin: 0 0 1rem;
  padding: .9rem 0;
  border-top: 1px solid var(--bs-border-color);
  border-bottom: 1px solid var(--bs-border-color);
}

.hr-control-panel h2,
.hr-form-section-head h2,
.hr-organization-list-head h2 {
  margin: 0;
  font-size: 1.05rem;
}

.hr-control-panel p,
.hr-form-section-head p,
.hr-organization-list-head p {
  margin: .2rem 0 0;
  color: var(--bs-secondary-color);
  font-size: .9rem;
}

.hr-table td:first-child {
  min-width: 12rem;
}

.hr-table td:nth-child(3) {
  min-width: 11rem;
}

.hr-form {
  border-top: 1px solid var(--bs-border-color);
}

.hr-form-sections {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
}

.hr-form-section {
  min-width: 0;
  padding: 1.25rem;
  border-right: 1px solid var(--bs-border-color);
  border-bottom: 1px solid var(--bs-border-color);
}

.hr-form-section:nth-child(2n) {
  border-right: 0;
}

.hr-form-section-head {
  margin-bottom: 1rem;
}

.hr-form-actions {
  padding: 1rem 0;
}

.hr-organization-overview {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 1rem;
  padding: .9rem 0;
  border-top: 1px solid var(--bs-border-color);
  border-bottom: 1px solid var(--bs-border-color);
}

.hr-organization-overview > div {
  display: grid;
  gap: .15rem;
  padding-right: 1rem;
}

.hr-organization-overview span {
  color: var(--bs-secondary-color);
  font-size: .82rem;
}

.hr-organization-overview strong {
  font-size: 1.35rem;
}

.hr-organization-overview p {
  grid-column: 1 / -1;
  margin: .75rem 0 0;
  color: var(--bs-secondary-color);
  font-size: .88rem;
}

.hr-organization-layout {
  display: grid;
  grid-template-columns: minmax(18rem, .7fr) minmax(0, 1.5fr);
  gap: 1.5rem;
  align-items: start;
}

.hr-organization-layout.is-readonly {
  grid-template-columns: minmax(0, 1fr);
}

.hr-organization-form {
  padding: 1rem;
  border: 1px solid var(--bs-border-color);
  border-radius: 6px;
  background: #fff;
}

.hr-organization-list {
  min-width: 0;
}

.hr-organization-list-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: .75rem;
}

.hr-inline-search {
  display: flex;
  gap: .5rem;
  width: min(100%, 22rem);
}

@media (max-width: 991.98px) {
  .hr-form-sections,
  .hr-organization-layout {
    grid-template-columns: 1fr;
  }

  .hr-form-section {
    border-right: 0;
  }
}

@media (max-width: 575.98px) {
  .hr-control-panel,
  .hr-organization-list-head {
    align-items: stretch;
    flex-direction: column;
  }

  .hr-control-panel .btn,
  .hr-inline-search,
  .hr-form-actions .btn {
    width: 100%;
  }

  .hr-organization-overview {
    grid-template-columns: 1fr;
    gap: .7rem;
  }

  .hr-organization-overview > div {
    padding-bottom: .55rem;
    border-bottom: 1px solid var(--bs-border-color);
  }

  .hr-form-section {
    padding: 1rem 0;
  }
}

@media (max-width: 767.98px) {
  .inventory-policy-summary {
    grid-template-columns: 1fr;
  }
}

.hr-portal-summary {
  margin-bottom: 1.25rem;
}

.hr-portal-summary-note {
  color: var(--admin-muted);
  font-size: 0.82rem;
}

.hr-portal-primary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
  margin-bottom: 1.5rem;
}

.hr-portal-section {
  min-width: 0;
  padding-block: 1rem;
  border-top: 1px solid var(--admin-border);
}

.hr-portal-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}

.hr-portal-section-head h2 {
  margin: 0;
  font-size: 1.05rem;
}

.hr-portal-section-head p {
  margin: 0.25rem 0 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
}

.hr-portal-data-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin: 0;
}

.hr-portal-data-list > div {
  min-width: 0;
  padding: 0.65rem 0.75rem;
  border-bottom: 1px solid var(--admin-border);
}

.hr-portal-data-list dt {
  margin-bottom: 0.2rem;
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 600;
  text-transform: uppercase;
}

.hr-portal-data-list dd {
  margin: 0;
  overflow-wrap: anywhere;
  font-weight: 600;
}

.hr-portal-history,
.hr-portal-team {
  margin-top: 0.5rem;
}

.hr-portal-team-kpis {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  color: var(--admin-muted);
  font-size: 0.88rem;
}

.hr-portal-team-kpis strong {
  color: var(--admin-text);
}

.hr-leave-year-filter {
  display: flex;
  align-items: center;
  gap: .5rem;
}

.hr-leave-year-filter label {
  color: var(--admin-muted);
  font-size: .85rem;
  font-weight: 600;
}

.hr-leave-year-filter input {
  width: 6.5rem;
  min-height: 2.4rem;
  padding: .35rem .55rem;
  border: 1px solid var(--admin-border);
  border-radius: 4px;
}

.hr-leave-balance-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
  gap: .75rem;
  margin-bottom: 1rem;
}

.hr-leave-balance {
  min-width: 0;
  padding: .9rem;
  border: 1px solid var(--admin-border);
  border-radius: 6px;
  background: #fff;
}

.hr-leave-balance > div:first-child {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: .75rem;
}

.hr-leave-balance h3 {
  margin: 0;
  font-size: .95rem;
}

.hr-leave-balance > div:first-child span,
.hr-leave-balance dt {
  color: var(--admin-muted);
  font-size: .78rem;
}

.hr-leave-balance > strong {
  display: block;
  margin: .5rem 0 .65rem;
  font-size: 1.35rem;
  font-variant-numeric: tabular-nums;
}

.hr-leave-balance dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .5rem;
  margin: 0;
}

.hr-leave-balance dl div {
  min-width: 0;
}

.hr-leave-balance dt,
.hr-leave-balance dd {
  margin: 0;
}

.hr-leave-balance dd {
  font-size: .85rem;
  font-variant-numeric: tabular-nums;
}

.hr-leave-request-form {
  padding-top: 1rem;
  border-top: 1px solid var(--admin-border);
}

.hr-leave-request-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: .85rem;
}

.hr-leave-request-head h3 {
  margin: 0;
  font-size: .98rem;
}

.hr-leave-request-head p {
  margin: .2rem 0 0;
  color: var(--admin-muted);
  font-size: .86rem;
}

.hr-leave-request-fields {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .75rem;
}

.hr-leave-request-fields label,
.hr-leave-decision-form label {
  display: block;
  margin-bottom: .3rem;
  font-size: .84rem;
  font-weight: 600;
}

.hr-leave-request-fields .form-control,
.hr-leave-request-fields .form-select,
.hr-leave-decision-form .form-control {
  min-height: 2.75rem;
}

.hr-leave-reason {
  grid-column: 1 / -1;
}

.hr-leave-team-list {
  border-top: 1px solid var(--admin-border);
}

.hr-leave-team-row {
  display: grid;
  grid-template-columns: minmax(14rem, 1fr) minmax(18rem, .8fr);
  gap: 1.25rem;
  padding: 1rem 0;
  border-bottom: 1px solid var(--admin-border);
}

.hr-leave-team-details {
  display: grid;
  align-content: start;
  gap: .2rem;
  min-width: 0;
}

.hr-leave-team-details span {
  color: var(--admin-muted);
  font-size: .86rem;
}

.hr-leave-team-details p {
  margin: .35rem 0 0;
  overflow-wrap: anywhere;
}

.hr-leave-decision-form {
  min-width: 0;
}

.hr-leave-decision-form > div {
  display: flex;
  justify-content: flex-end;
  gap: .5rem;
  margin-top: .55rem;
}

.hr-leave-admin-list {
  border-top: 1px solid var(--admin-border);
}

.hr-leave-admin-row {
  display: grid;
  grid-template-columns: minmax(12rem, .4fr) minmax(0, 1.6fr);
  gap: 1.25rem;
  padding: 1rem 0;
  border-bottom: 1px solid var(--admin-border);
}

.hr-leave-admin-summary {
  display: grid;
  align-content: start;
  gap: .2rem;
}

.hr-leave-admin-summary h3 {
  margin: 0;
  font-size: 1rem;
}

.hr-leave-admin-summary strong {
  font-size: .92rem;
  font-variant-numeric: tabular-nums;
}

.hr-leave-admin-summary span {
  color: var(--admin-muted);
  font-size: .82rem;
}

.hr-leave-admin-form {
  display: grid;
  grid-template-columns: repeat(3, minmax(7rem, .45fr)) minmax(12rem, 1fr) auto;
  gap: .65rem;
  align-items: end;
}

.hr-leave-admin-form label {
  display: block;
  margin-bottom: .3rem;
  font-size: .82rem;
  font-weight: 600;
}

.hr-leave-admin-form .form-control,
.hr-leave-admin-form .btn {
  min-height: 2.75rem;
}

@media (max-width: 991.98px) {
  .hr-portal-primary {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.5rem;
  }

  .hr-leave-request-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hr-leave-team-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .hr-leave-admin-row,
  .hr-leave-admin-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hr-leave-admin-summary,
  .hr-leave-admin-notes {
    grid-column: 1 / -1;
  }
}

@media (max-width: 575.98px) {
  .hr-portal-data-list {
    grid-template-columns: minmax(0, 1fr);
  }

  .hr-portal-section-head {
    flex-direction: column;
  }

  .hr-leave-year-filter,
  .hr-leave-year-filter input,
  .hr-leave-year-filter .btn,
  .hr-leave-request-head,
  .hr-leave-request-head .btn {
    width: 100%;
  }

  .hr-leave-year-filter {
    align-items: stretch;
    flex-wrap: wrap;
  }

  .hr-leave-request-head {
    flex-direction: column;
  }

  .hr-leave-request-fields {
    grid-template-columns: minmax(0, 1fr);
  }

  .hr-leave-reason {
    grid-column: auto;
  }

  .hr-leave-decision-form > div {
    justify-content: stretch;
  }

  .hr-leave-decision-form .btn {
    flex: 1;
    min-height: 2.75rem;
  }

  .hr-leave-admin-row,
  .hr-leave-admin-form {
    grid-template-columns: minmax(0, 1fr);
  }

  .hr-leave-admin-summary,
  .hr-leave-admin-notes {
    grid-column: auto;
  }

  .hr-leave-admin-form .btn {
    width: 100%;
  }
}
/* HR leave planning */
.hr-calendar-view-switch {
  display: inline-flex;
  min-height: 2.75rem;
  margin-bottom: 0.75rem;
  border: 1px solid #b9c3cf;
  border-radius: 6px;
  overflow: hidden;
}

.hr-calendar-view-switch a {
  display: inline-flex;
  min-width: 5.5rem;
  min-height: 2.75rem;
  align-items: center;
  justify-content: center;
  padding: 0.55rem 1rem;
  color: #354052;
  font-weight: 650;
  text-decoration: none;
}

.hr-calendar-view-switch a + a {
  border-left: 1px solid #b9c3cf;
}

.hr-calendar-view-switch a:hover {
  background: #f2f5f7;
}

.hr-calendar-view-switch a:focus-visible {
  position: relative;
  z-index: 1;
  outline: 3px solid rgba(37, 103, 142, 0.28);
  outline-offset: -3px;
}

.hr-calendar-view-switch a.is-active {
  background: #28678e;
  color: #fff;
}

.hr-calendar-toolbar {
  display: grid;
  grid-template-columns: minmax(7rem, auto) 1fr minmax(7rem, auto);
  align-items: center;
  gap: 1rem;
  padding: 1rem 0;
  border-block: 1px solid var(--admin-border, #d8dee6);
}

.hr-calendar-toolbar > div {
  min-width: 0;
  text-align: center;
}

.hr-calendar-toolbar strong,
.hr-calendar-toolbar span {
  display: block;
}

.hr-calendar-toolbar strong {
  color: #172033;
  font-size: 1.125rem;
}

.hr-calendar-toolbar span {
  margin-top: 0.2rem;
  color: #5d6878;
  font-size: 0.875rem;
}

.hr-calendar-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
  padding: 0.875rem 0;
  color: #4e5969;
  font-size: 0.875rem;
}

.hr-calendar-legend span {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}

.hr-calendar-legend i {
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 2px;
  background: #dfe7f6;
}

.hr-calendar-legend i.is-own,
.hr-calendar-event.is-own {
  background: #dcecf7;
  color: #174c6b;
}

.hr-calendar-legend i.is-team,
.hr-calendar-event.is-team {
  background: #e4eadc;
  color: #34521f;
}

.hr-calendar-legend i.is-closure,
.hr-calendar-event.is-closure {
  background: #f5e6cf;
  color: #70420a;
}

.hr-calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  border-top: 1px solid #ccd3dd;
  border-left: 1px solid #ccd3dd;
}

.hr-calendar-weekday {
  min-width: 0;
  padding: 0.65rem;
  border-right: 1px solid #ccd3dd;
  border-bottom: 1px solid #ccd3dd;
  background: #f4f6f8;
  color: #4e5969;
  font-size: 0.75rem;
  font-weight: 700;
  text-align: center;
  text-transform: uppercase;
}

.hr-calendar-day {
  min-width: 0;
  min-height: 8.5rem;
  padding: 0.55rem;
  border-right: 1px solid #ccd3dd;
  border-bottom: 1px solid #ccd3dd;
  background: #fff;
}

.hr-calendar-day.is-outside {
  background: #f8f9fa;
  color: #8a94a3;
}

.hr-calendar-day.is-today {
  box-shadow: inset 0 0 0 2px #28678e;
}

.hr-calendar-day > time {
  display: inline-grid;
  width: 1.75rem;
  height: 1.75rem;
  place-items: center;
  color: inherit;
  font-size: 0.875rem;
  font-weight: 700;
}

.hr-calendar-day.is-today > time {
  border-radius: 50%;
  background: #28678e;
  color: #fff;
}

.hr-calendar-events {
  display: grid;
  gap: 0.3rem;
  margin-top: 0.35rem;
}

.hr-calendar-event {
  display: block;
  min-width: 0;
  padding: 0.28rem 0.4rem;
  border-radius: 3px;
  overflow: hidden;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.hr-calendar-more {
  color: #5d6878;
  font-size: 0.75rem;
}

.hr-calendar-mobile-list {
  display: none;
}

.hr-calendar-year-summary {
  margin-block: 1rem 1.25rem;
}

.hr-calendar-year {
  border-top: 1px solid #cbd3dd;
}

.hr-calendar-year-month {
  display: grid;
  grid-template-columns: minmax(7.5rem, 0.75fr) minmax(8rem, 1fr) minmax(28rem, 3fr);
  gap: 1rem;
  align-items: center;
  min-width: 0;
  padding: 0.9rem 0;
  border-bottom: 1px solid #d8dee6;
}

.hr-calendar-year-month-name {
  color: #1f587b;
  font-weight: 700;
  text-decoration: none;
}

.hr-calendar-year-month-name:hover {
  text-decoration: underline;
  text-underline-offset: 0.2rem;
}

.hr-calendar-year-load {
  height: 0.5rem;
  border-radius: 3px;
  overflow: hidden;
  background: #e4e9ee;
}

.hr-calendar-year-load span {
  display: block;
  height: 100%;
  min-width: 0.35rem;
  border-radius: inherit;
  background: #4c7f55;
}

.hr-calendar-year-month dl {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
  min-width: 0;
  margin: 0;
}

.hr-calendar-year-month dl > div {
  min-width: 0;
}

.hr-calendar-year-month dt {
  color: #5d6878;
  font-size: 0.75rem;
  font-weight: 600;
}

.hr-calendar-year-month dd {
  margin: 0.15rem 0 0;
  color: #263142;
  font-size: 0.8125rem;
  line-height: 1.35;
}

.hr-leave-overview-filters {
  display: grid;
  grid-template-columns: minmax(8rem, 0.5fr) minmax(15rem, 1.5fr) auto;
  gap: 1rem;
  align-items: end;
}

.hr-leave-overview-filters > * {
  min-width: 0;
}

.hr-leave-overview-summary {
  margin-block: 1.25rem;
}

.hr-overview-band {
  padding: 1.4rem 0;
  border-top: 1px solid #d4dbe3;
}

.hr-overview-band + .hr-overview-band {
  margin-top: 0.5rem;
}

.hr-overview-band-head {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 1rem;
}

.hr-overview-band-head h2,
.hr-overview-band-head p {
  margin: 0;
}

.hr-overview-band-head h2 {
  color: #1f2938;
  font-size: 1.1rem;
}

.hr-overview-band-head p,
.hr-overview-band-head > span,
.hr-overview-band-actions > span {
  margin-top: 0.25rem;
  color: #5d6878;
  font-size: 0.875rem;
}

.hr-overview-band-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  align-items: center;
  justify-content: flex-end;
}

.hr-leave-month-chart {
  display: grid;
  gap: 0.5rem;
}

.hr-leave-month-row {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr) 4.5rem;
  gap: 0.75rem;
  align-items: center;
  min-width: 0;
}

.hr-leave-month-name {
  color: #4f5a69;
  font-size: 0.8125rem;
  font-weight: 700;
  text-transform: capitalize;
}

.hr-leave-month-bars {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
}

.hr-leave-month-bars span {
  display: block;
  min-width: 0.2rem;
  height: 0.42rem;
  border-radius: 2px;
}

.hr-leave-month-bars .is-approved,
.hr-leave-chart-legend i.is-approved {
  background: #4c7f55;
}

.hr-leave-month-bars .is-pending,
.hr-leave-chart-legend i.is-pending {
  background: #c47a22;
}

.hr-leave-month-value {
  color: #536071;
  font-size: 0.75rem;
  font-variant-numeric: tabular-nums;
  text-align: right;
}

.hr-leave-chart-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 0.8rem;
  color: #536071;
  font-size: 0.8125rem;
}

.hr-leave-chart-legend span {
  display: inline-flex;
  gap: 0.4rem;
  align-items: center;
}

.hr-leave-chart-legend i {
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 2px;
}

.hr-settings-band {
  padding: 1.5rem 0;
  border-top: 1px solid var(--admin-border, #d8dee6);
}

.hr-settings-band + .hr-settings-band {
  margin-top: 1rem;
}

.hr-settings-form {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  align-items: end;
  margin: 1rem 0 1.5rem;
}

.hr-settings-form > div {
  min-width: 0;
}

.hr-settings-form .is-wide {
  grid-column: span 2;
}

.hr-settings-form > .btn {
  min-height: 44px;
}

.hr-settings-list-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  margin: 1rem 0 0.75rem;
}

.hr-settings-list-head h3 {
  margin: 0;
  font-size: 1rem;
}

.hr-settings-list-head form {
  display: flex;
  gap: 0.5rem;
  width: min(100%, 15rem);
}

.hr-accrual-run {
  display: grid;
  grid-template-columns: minmax(16rem, 1fr) 7rem 7rem auto;
  align-items: end;
  gap: 1rem;
  margin-top: 1.25rem;
  padding: 1rem 0;
  border-block: 1px solid #d8dee6;
}

.hr-accrual-run h3,
.hr-accrual-run p {
  margin: 0;
}

.hr-accrual-run p {
  margin-top: 0.25rem;
  color: #5d6878;
  font-size: 0.875rem;
}

.hr-accrual-run label > span {
  display: block;
  margin-bottom: 0.45rem;
  font-size: 0.875rem;
  font-weight: 600;
}

@media (max-width: 991.98px) {
  .hr-leave-overview-filters {
    grid-template-columns: 8rem minmax(0, 1fr);
  }

  .hr-leave-overview-filters .btn {
    grid-column: 1 / -1;
    justify-self: start;
  }

  .hr-calendar-year-month {
    grid-template-columns: minmax(7rem, 0.8fr) minmax(8rem, 1fr) minmax(0, 2.4fr);
  }

  .hr-calendar-year-month dl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hr-settings-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hr-accrual-run {
    grid-template-columns: 1fr 7rem 7rem;
  }

  .hr-accrual-run > .btn {
    grid-column: 1 / -1;
    justify-self: start;
  }
}

@media (max-width: 767.98px) {
  .hr-calendar-view-switch {
    display: flex;
    width: 100%;
  }

  .hr-calendar-view-switch a {
    flex: 1;
  }

  .hr-calendar-toolbar {
    grid-template-columns: 1fr 1fr;
  }

  .hr-calendar-toolbar > div {
    grid-column: 1 / -1;
    grid-row: 1;
  }

  .hr-calendar-grid {
    display: none;
  }

  .hr-calendar-mobile-list {
    display: grid;
    border-top: 1px solid #ccd3dd;
  }

  .hr-calendar-mobile-list > article {
    display: grid;
    grid-template-columns: 6.5rem minmax(0, 1fr);
    gap: 0.75rem;
    padding: 0.85rem 0;
    border-bottom: 1px solid #d8dee6;
  }

  .hr-calendar-mobile-list time {
    color: #384354;
    font-size: 0.875rem;
    font-weight: 700;
    text-transform: capitalize;
  }

  .hr-calendar-mobile-list article > div {
    display: grid;
    min-width: 0;
    gap: 0.35rem;
  }

  .hr-calendar-mobile-list .hr-calendar-event {
    white-space: normal;
  }

  .hr-calendar-year-month {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.65rem;
    padding: 1rem 0;
  }

  .hr-calendar-year-month-name {
    min-height: 2.75rem;
    display: inline-flex;
    align-items: center;
  }

  .hr-calendar-year-month dl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hr-leave-overview-filters {
    grid-template-columns: minmax(0, 1fr);
  }

  .hr-leave-overview-filters .btn {
    grid-column: auto;
    width: 100%;
  }

  .hr-overview-band-head {
    align-items: stretch;
    flex-direction: column;
  }

  .hr-leave-month-row {
    grid-template-columns: 2.25rem minmax(0, 1fr) 3.75rem;
    gap: 0.5rem;
  }

  .hr-settings-form,
  .hr-accrual-run {
    grid-template-columns: 1fr;
  }

  .hr-settings-form .is-wide,
  .hr-accrual-run > .btn {
    grid-column: auto;
  }

  .hr-settings-list-head {
    align-items: stretch;
    flex-direction: column;
  }

  .hr-settings-list-head form {
    width: 100%;
  }
}

/* HR lifecycle: dense operational workspace with progressive actions. */
.hr-lifecycle-control-band {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  margin: 1.25rem 0;
  padding: 1rem 0;
  border-block: 1px solid var(--admin-border, #d8dee6);
}

.hr-lifecycle-control-band h2,
.hr-lifecycle-control-band p {
  margin: 0;
}

.hr-lifecycle-control-band h2 {
  font-size: 1.05rem;
}

.hr-lifecycle-control-band p {
  margin-top: 0.25rem;
  color: var(--admin-text-muted, #5d6878);
}

.hr-lifecycle-control-band .btn,
.hr-lifecycle-create summary,
.hr-lifecycle-actions summary {
  min-height: 44px;
}

.hr-lifecycle-privacy {
  margin-bottom: 1rem;
  border-radius: 6px;
}

.hr-lifecycle-create {
  margin-bottom: 1rem;
  border: 1px solid var(--admin-border, #d8dee6);
  border-radius: 6px;
  background: var(--admin-surface, #fff);
}

.hr-lifecycle-create > summary {
  display: flex;
  align-items: center;
  width: fit-content;
  padding: 0.65rem 1rem;
  color: var(--admin-primary, #1c5d99);
  font-weight: 700;
  cursor: pointer;
  list-style: none;
}

.hr-lifecycle-create > summary::-webkit-details-marker,
.hr-lifecycle-actions summary::-webkit-details-marker {
  display: none;
}

.hr-lifecycle-create > summary::before {
  content: "+";
  margin-right: 0.5rem;
  font-size: 1.25rem;
  line-height: 1;
}

.hr-lifecycle-create[open] > summary::before {
  content: "−";
}

.hr-lifecycle-create-form {
  padding: 1rem;
  border-top: 1px solid var(--admin-border, #d8dee6);
}

.hr-lifecycle-form-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}

.hr-lifecycle-form-head h2,
.hr-lifecycle-form-head p {
  margin: 0;
}

.hr-lifecycle-form-head h2 {
  font-size: 1.05rem;
}

.hr-lifecycle-form-head p {
  margin-top: 0.25rem;
  color: var(--admin-text-muted, #5d6878);
}

.hr-lifecycle-form-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  align-items: start;
}

.hr-lifecycle-form-grid > div,
.hr-lifecycle-form-grid > fieldset {
  min-width: 0;
}

.hr-lifecycle-form-grid label,
.hr-lifecycle-action-form label {
  display: block;
  margin-bottom: 0.4rem;
  font-size: 0.875rem;
  font-weight: 600;
}

.hr-lifecycle-title-field,
.hr-lifecycle-notes-field {
  grid-column: span 2;
}

.hr-lifecycle-options {
  display: flex;
  flex-wrap: wrap;
  grid-column: span 2;
  gap: 0.75rem 1.25rem;
  padding: 0.65rem 0;
  border: 0;
}

.hr-lifecycle-options legend {
  width: 100%;
  margin: 0;
  font-size: 0.875rem;
  font-weight: 700;
}

.hr-lifecycle-options label {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-height: 44px;
  margin: 0;
}

.hr-lifecycle-options input {
  width: 1.1rem;
  height: 1.1rem;
}

.hr-lifecycle-task-title {
  display: grid;
  max-width: 30rem;
  gap: 0.2rem;
}

.hr-lifecycle-task-title span,
.hr-lifecycle-task-title small {
  color: var(--admin-text-muted, #5d6878);
  overflow-wrap: anywhere;
}

.hr-lifecycle-category {
  font-weight: 600;
}

.hr-lifecycle-actions {
  display: flex;
  align-items: start;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.hr-lifecycle-actions > form {
  margin: 0;
}

.hr-lifecycle-actions details {
  text-align: left;
}

.hr-lifecycle-actions summary {
  display: inline-flex;
  align-items: center;
  padding: 0.45rem 0.65rem;
  border: 1px solid var(--admin-border-strong, #b8c1ce);
  border-radius: 6px;
  background: var(--admin-surface, #fff);
  color: var(--admin-text, #243042);
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  list-style: none;
}

.hr-lifecycle-actions details[open] {
  flex-basis: 100%;
}

.hr-lifecycle-action-form {
  display: grid;
  width: min(20rem, 75vw);
  max-width: 100%;
  gap: 0.5rem;
  margin: 0.5rem 0 0 auto;
  padding: 0.75rem;
  border-left: 3px solid var(--admin-primary, #1c5d99);
  background: var(--admin-surface-subtle, #f5f7fa);
}

.hr-lifecycle-action-form .btn {
  min-height: 44px;
}

.hr-lifecycle-history ol {
  display: grid;
  width: min(28rem, 75vw);
  max-width: 100%;
  gap: 0.65rem;
  margin: 0.5rem 0 0 auto;
  padding: 0.75rem 0.75rem 0.75rem 2rem;
  background: var(--admin-surface-subtle, #f5f7fa);
}

.hr-lifecycle-history li {
  padding-left: 0.25rem;
}

.hr-lifecycle-history time,
.hr-lifecycle-history span {
  display: block;
  color: var(--admin-text-muted, #5d6878);
  font-size: 0.8rem;
}

.hr-lifecycle-table-shell tr.is-focused {
  outline: 3px solid rgba(28, 93, 153, 0.32);
  outline-offset: -3px;
}

.hr-page > .admin-filter-card .admin-filter-grid > [class*="col-"],
.hr-lifecycle-page .admin-filter-grid > [class*="col-"] {
  width: 100%;
  max-width: none;
}

.hr-lifecycle-page .admin-filter-card .form-select {
  width: 100%;
  min-width: 0;
}

.hr-lifecycle-page .admin-filter-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
}

.hr-lifecycle-page .admin-filter-actions .btn {
  width: auto;
  min-height: 44px;
}

.hr-portal-lifecycle {
  scroll-margin-top: 12rem;
}

/* HR assets: custody register, compact workflows and employee self-service. */
.hr-assets-control-band {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin: 1rem 0;
  padding: 1rem;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  background: #f8fafc;
}

.hr-assets-control-band h2,
.hr-assets-control-band p {
  margin: 0;
}

.hr-assets-control-band h2 {
  color: #172033;
  font-size: 1rem;
}

.hr-assets-control-band p {
  max-width: 72ch;
  margin-top: 0.25rem;
  color: #475569;
  font-size: 0.875rem;
}

.hr-assets-create {
  flex: 0 1 46rem;
  border: 1px solid #94a3b8;
  border-radius: 8px;
  background: #fff;
}

.hr-assets-create > summary,
.hr-assets-actions > details > summary {
  cursor: pointer;
  list-style: none;
  color: var(--admin-primary-dark);
  font-weight: 700;
}

.hr-assets-create > summary {
  padding: 0.625rem 0.75rem;
  text-align: center;
}

.hr-assets-create > summary::-webkit-details-marker,
.hr-assets-actions > details > summary::-webkit-details-marker {
  display: none;
}

.hr-assets-create[open] > summary {
  border-bottom: 1px solid #e2e8f0;
}

.hr-assets-create form {
  padding: 0.875rem;
}

.hr-assets-form-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
}

.hr-assets-form-grid label,
.hr-assets-action-form label {
  display: grid;
  gap: 0.25rem;
  color: #334155;
  font-size: 0.8125rem;
  font-weight: 700;
}

.hr-assets-wide {
  grid-column: span 2;
}

.hr-assets-form-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 0.875rem;
}

.hr-assets-table-shell tr.is-focused {
  outline: 2px solid var(--admin-primary);
  outline-offset: -2px;
}

.hr-assets-actions {
  display: flex;
  min-width: 12rem;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.375rem;
}

.hr-assets-actions > details {
  width: min(100%, 23rem);
}

.hr-assets-actions > details > summary {
  min-height: 2rem;
  padding: 0.3125rem 0.5rem;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  background: #fff;
  text-align: center;
  font-size: 0.8125rem;
}

.hr-assets-actions > details[open] > summary {
  border-color: var(--admin-primary);
  background: #eff6ff;
}

.hr-assets-action-form,
.hr-assets-secondary-actions {
  display: grid;
  gap: 0.625rem;
  margin-top: 0.375rem;
  padding: 0.75rem;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  background: #f8fafc;
  text-align: left;
}

.hr-assets-secondary-actions {
  background: #fff;
}

.hr-assets-action-form .btn {
  justify-self: end;
}

.hr-assets-history ol {
  display: grid;
  gap: 0.5rem;
  max-height: 18rem;
  margin: 0.375rem 0 0;
  padding: 0.75rem 0.75rem 0.75rem 1.75rem;
  overflow: auto;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  background: #fff;
  text-align: left;
}

.hr-assets-history li {
  padding-bottom: 0.375rem;
  color: #334155;
}

.hr-assets-history time,
.hr-assets-history span {
  display: block;
  margin-top: 0.125rem;
  color: #475569;
  font-size: 0.75rem;
}

.admin-status-badge.status-available {
  background: #dcfce7;
  color: #14532d;
}

.admin-status-badge.status-assigned {
  background: #dbeafe;
  color: #1e3a8a;
}

.admin-status-badge.status-maintenance {
  background: #fef3c7;
  color: #78350f;
}

.admin-status-badge.status-lost,
.admin-status-badge.status-retired {
  background: #fee2e2;
  color: #7f1d1d;
}

@media (max-width: 991.98px) {
  .hr-assets-control-band {
    flex-direction: column;
  }

  .hr-assets-create {
    width: 100%;
    flex-basis: auto;
  }

  .hr-assets-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .hr-assets-form-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .hr-assets-wide {
    grid-column: auto;
  }

  .hr-assets-table-shell {
    overflow: visible;
    border: 0;
  }

  .hr-assets-table-shell table,
  .hr-assets-table-shell tbody,
  .hr-assets-table-shell tr,
  .hr-assets-table-shell td {
    display: block;
    width: 100%;
  }

  .hr-assets-table-shell thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
  }

  .hr-assets-table-shell tr {
    margin-bottom: 0.75rem;
    padding: 0.75rem;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
  }

  .hr-assets-table-shell td {
    display: grid;
    grid-template-columns: minmax(7rem, 35%) minmax(0, 1fr);
    gap: 0.75rem;
    padding: 0.5rem 0;
    border: 0;
    border-bottom: 1px solid #e2e8f0;
    overflow-wrap: anywhere;
  }

  .hr-assets-table-shell td::before {
    content: attr(data-label);
    color: #475569;
    font-size: 0.75rem;
    font-weight: 700;
  }

  .hr-assets-table-shell td:last-child {
    grid-template-columns: minmax(0, 1fr);
    border-bottom: 0;
  }

  .hr-assets-table-shell td:last-child::before {
    content: none;
  }

  .hr-assets-actions,
  .hr-assets-actions > details {
    width: 100%;
    min-width: 0;
    align-items: stretch;
  }

  .hr-assets-actions form > .btn,
  .hr-assets-action-form .btn {
    width: 100%;
    justify-self: stretch;
  }
}

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

@media (max-width: 767.98px) {
  .hr-lifecycle-control-band,
  .hr-lifecycle-form-head {
    align-items: stretch;
    flex-direction: column;
  }

  .hr-lifecycle-control-band .btn,
  .hr-lifecycle-form-head .btn {
    width: 100%;
  }

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

  .hr-lifecycle-title-field,
  .hr-lifecycle-notes-field,
  .hr-lifecycle-options {
    grid-column: auto;
  }

  .hr-lifecycle-actions {
    justify-content: flex-start;
  }

  .hr-lifecycle-action-form,
  .hr-lifecycle-history ol {
    width: 100%;
    margin-left: 0;
  }

  .hr-lifecycle-page .admin-filter-actions {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* HR payroll: versioned import and reconciliation workspace. */
.hr-payroll-boundary {
  display: flex;
  gap: 0.5rem;
  align-items: baseline;
  margin: 1rem 0;
  padding: 0.8rem 0;
  border-block: 1px solid #d8dee6;
  color: #435063;
}

.hr-payroll-boundary strong {
  color: #7a4a0c;
  white-space: nowrap;
}

.hr-payroll-filter {
  display: grid;
  grid-template-columns: 8rem 8rem minmax(12rem, 1fr) auto;
  gap: 1rem;
  align-items: end;
  margin-bottom: 1.25rem;
}

.hr-payroll-filter > div,
.hr-payroll-import-form > div {
  min-width: 0;
}

.hr-payroll-filter label,
.hr-payroll-import-form label {
  display: block;
  margin-bottom: 0.4rem;
  font-size: 0.875rem;
  font-weight: 600;
}

.hr-payroll-filter .form-control,
.hr-payroll-filter .form-select,
.hr-payroll-import-form .form-control,
.hr-payroll-import-form .form-select,
.hr-payroll-filter .btn,
.hr-payroll-import-form .btn,
.hr-payroll-commit .btn {
  min-height: 44px;
}

.hr-payroll-filter .admin-filter-actions,
.hr-payroll-import-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.hr-payroll-import {
  margin-bottom: 1.5rem;
  border: 1px solid #d8dee6;
  border-radius: 6px;
  background: #fff;
}

.hr-payroll-import > summary {
  display: flex;
  min-height: 44px;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.75rem 1rem;
  color: #1f2938;
  cursor: pointer;
  list-style: none;
}

.hr-payroll-import > summary::-webkit-details-marker {
  display: none;
}

.hr-payroll-import > summary span:first-child {
  display: grid;
  gap: 0.15rem;
}

.hr-payroll-import > summary small,
.hr-payroll-import .form-text {
  color: #5d6878;
}

.hr-payroll-import-form {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  padding: 1rem;
  border-top: 1px solid #d8dee6;
}

.hr-payroll-source,
.hr-payroll-file {
  grid-column: span 1;
}

.hr-payroll-reason {
  grid-column: span 2;
}

.hr-payroll-import-actions {
  align-items: end;
  justify-content: flex-end;
}

.hr-payroll-overview,
.hr-payroll-employees,
.hr-payroll-history {
  padding: 1.35rem 0;
  border-top: 1px solid #d8dee6;
}

.hr-payroll-summary {
  margin-block: 1rem;
}

.hr-payroll-correction {
  margin: 0 0 1rem;
  padding: 0.7rem 0.8rem;
  border: 1px solid #d7b170;
  border-radius: 4px;
  background: #fff7e8;
  color: #4d5968;
}

.hr-payroll-reconciliation-band {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.5rem;
  margin: 1rem 0;
  padding: 0.8rem 0;
  border-block: 1px solid #d8dee6;
  color: #4d5968;
}

.hr-payroll-reconciliation-band .is-ready {
  color: #345f3a;
}

.hr-payroll-reconciliation-band .is-warning {
  color: #7a4a0c;
}

.hr-payroll-reconciliation-band .is-blocked {
  color: #9b2c2c;
}

.hr-payroll-page .admin-status-badge {
  display: inline-flex;
  min-height: 1.75rem;
  align-items: center;
  padding: 0.2rem 0.5rem;
  border: 1px solid #b8c1ce;
  border-radius: 4px;
  background: #f4f6f8;
  color: #435063;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.2;
}

.hr-payroll-page .admin-status-badge.status-ready,
.hr-payroll-page .admin-status-badge.status-committed {
  border-color: #91b99a;
  background: #eef7f0;
  color: #345f3a;
}

.hr-payroll-page .admin-status-badge.status-warning,
.hr-payroll-page .admin-status-badge.status-preview {
  border-color: #d7b170;
  background: #fff7e8;
  color: #7a4a0c;
}

.hr-payroll-page .admin-status-badge.status-blocked {
  border-color: #d8a1a1;
  background: #fff1f1;
  color: #8f2525;
}

.hr-payroll-commit {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.8rem 0;
}

.hr-payroll-commit p {
  margin: 0;
  color: #5d6878;
}

.hr-payroll-components {
  margin-top: 0.5rem;
}

.hr-payroll-components > summary {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  color: #1c5d99;
  font-size: 0.8125rem;
  font-weight: 700;
  cursor: pointer;
}

.hr-payroll-component-list {
  display: grid;
  min-width: 20rem;
  max-width: 34rem;
  margin-top: 0.35rem;
  border-top: 1px solid #d8dee6;
}

.hr-payroll-component-list > div {
  display: flex;
  min-width: 0;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.45rem 0;
  border-bottom: 1px solid #e3e7ec;
}

.hr-payroll-component-list span:first-child {
  display: grid;
  min-width: 0;
}

.hr-payroll-component-list small {
  color: #5d6878;
  overflow-wrap: anywhere;
}

.hr-payroll-history tr.is-selected {
  box-shadow: inset 3px 0 0 #1c5d99;
  background: #f1f6fa;
}

@media (max-width: 991.98px) {
  .hr-payroll-filter {
    grid-template-columns: 8rem 8rem minmax(0, 1fr);
  }

  .hr-payroll-filter .admin-filter-actions {
    grid-column: 1 / -1;
  }

  .hr-payroll-import-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hr-payroll-import-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 767.98px) {
  .hr-payroll-boundary,
  .hr-payroll-commit {
    align-items: stretch;
    flex-direction: column;
  }

  .hr-payroll-filter,
  .hr-payroll-import-form {
    grid-template-columns: minmax(0, 1fr);
  }

  .hr-payroll-filter .admin-filter-actions,
  .hr-payroll-source,
  .hr-payroll-file,
  .hr-payroll-reason {
    grid-column: auto;
  }

  .hr-payroll-filter .admin-filter-actions,
  .hr-payroll-import-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hr-payroll-filter .btn,
  .hr-payroll-import-actions .btn,
  .hr-payroll-commit .btn {
    width: 100%;
  }

  .hr-payroll-component-list {
    min-width: 0;
    width: 100%;
  }
}

/* HR personnel cost engine */
.hr-personnel-cost-filter {
  grid-template-columns: 9rem 9rem minmax(12rem, 1fr) auto;
  margin-bottom: 1.25rem;
}

.hr-personnel-cost-filter > div,
.hr-personnel-cost-form > div {
  min-width: 0;
}

.hr-personnel-cost-filter label,
.hr-personnel-cost-form label,
.hr-personnel-cost-assumptions legend {
  display: block;
  margin-bottom: 0.35rem;
  color: #344154;
  font-size: 0.8125rem;
  font-weight: 700;
}

.hr-personnel-cost-filter .form-control,
.hr-personnel-cost-filter .form-select,
.hr-personnel-cost-filter .btn,
.hr-personnel-cost-form .form-control,
.hr-personnel-cost-form .form-select,
.hr-personnel-cost-form .btn {
  min-height: 44px;
}

.hr-personnel-cost-filter .admin-filter-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.hr-personnel-cost-create {
  margin-bottom: 1.5rem;
  border: 1px solid #d8dee6;
  border-radius: 6px;
  background: #fff;
}

.hr-personnel-cost-create > summary {
  display: flex;
  min-height: 44px;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.75rem 1rem;
  color: #1f2938;
  cursor: pointer;
  list-style: none;
}

.hr-personnel-cost-create > summary::-webkit-details-marker {
  display: none;
}

.hr-personnel-cost-create > summary span:first-child {
  display: grid;
  gap: 0.15rem;
}

.hr-personnel-cost-create > summary small,
.hr-personnel-cost-create .form-text {
  color: #5d6878;
}

.hr-personnel-cost-form {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  padding: 1rem;
  border-top: 1px solid #d8dee6;
}

.hr-personnel-cost-source {
  grid-column: span 2;
}

.hr-personnel-cost-scenario {
  grid-column: span 2;
}

.hr-personnel-cost-assumptions {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem 1rem;
  margin: 0;
  padding: 1rem 0;
  border: 0;
  border-block: 1px solid #d8dee6;
}

.hr-personnel-cost-assumptions legend,
.hr-personnel-cost-assumptions > p {
  grid-column: 1 / -1;
}

.hr-personnel-cost-assumptions > p {
  margin: -0.2rem 0 0.2rem;
  color: #5d6878;
}

.hr-personnel-cost-assumptions .input-group-text {
  min-width: 2.5rem;
  justify-content: center;
}

.hr-personnel-cost-notes,
.hr-personnel-cost-reason {
  grid-column: span 2;
}

.hr-personnel-cost-actions {
  display: flex;
  grid-column: 1 / -1;
  justify-content: flex-end;
}

.hr-personnel-cost-overview,
.hr-personnel-cost-employees,
.hr-personnel-cost-history {
  min-width: 0;
  max-width: 100%;
  padding: 1.35rem 0;
  border-top: 1px solid #d8dee6;
}

.hr-personnel-cost-page,
.hr-personnel-cost-page .admin-table-shell {
  min-width: 0;
  max-width: 100%;
}

.hr-personnel-cost-summary {
  margin-block: 1rem;
}

.hr-personnel-cost-adjustments {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.25rem;
  margin: 0.75rem 0 1rem;
}

.hr-personnel-cost-adjustments > div {
  display: flex;
  align-items: baseline;
  gap: 0.4rem;
}

.hr-personnel-cost-adjustments dt {
  color: #5d6878;
  font-size: 0.8125rem;
}

.hr-personnel-cost-adjustments dd {
  margin: 0;
  color: #1f2938;
  font-variant-numeric: tabular-nums;
  font-weight: 700;
}

.hr-personnel-cost-page .admin-status-badge {
  display: inline-flex;
  min-height: 1.75rem;
  align-items: center;
  padding: 0.2rem 0.5rem;
  border: 1px solid #b8c1ce;
  border-radius: 4px;
  background: #f4f6f8;
  color: #435063;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.2;
}

.hr-personnel-cost-page .admin-status-badge.status-ready,
.hr-personnel-cost-page .admin-status-badge.status-committed {
  border-color: #91b99a;
  background: #eef7f0;
  color: #345f3a;
}

.hr-personnel-cost-page .admin-status-badge.status-warning,
.hr-personnel-cost-page .admin-status-badge.status-preview {
  border-color: #d7b170;
  background: #fff7e8;
  color: #7a4a0c;
}

.hr-personnel-cost-page .admin-status-badge.status-error {
  border-color: #d8a1a1;
  background: #fff1f1;
  color: #8f2525;
}

@media (max-width: 991.98px) {
  .hr-personnel-cost-filter {
    grid-template-columns: 8rem 8rem minmax(0, 1fr);
  }

  .hr-personnel-cost-filter .admin-filter-actions {
    grid-column: 1 / -1;
  }

  .hr-personnel-cost-form,
  .hr-personnel-cost-assumptions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .hr-personnel-cost-filter,
  .hr-personnel-cost-form,
  .hr-personnel-cost-assumptions {
    grid-template-columns: minmax(0, 1fr);
  }

  .hr-personnel-cost-filter .admin-filter-actions,
  .hr-personnel-cost-source,
  .hr-personnel-cost-scenario,
  .hr-personnel-cost-notes,
  .hr-personnel-cost-reason {
    grid-column: auto;
  }

  .hr-personnel-cost-filter .admin-filter-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hr-personnel-cost-filter .btn,
  .hr-personnel-cost-actions .btn {
    width: 100%;
  }

  .hr-personnel-cost-actions {
    justify-content: stretch;
  }

  .hr-personnel-cost-employees .admin-table,
  .hr-personnel-cost-history .admin-table {
    display: block;
    min-width: 0;
    width: 100%;
  }

  .hr-personnel-cost-employees .admin-table thead,
  .hr-personnel-cost-history .admin-table thead {
    display: none;
  }

  .hr-personnel-cost-employees .admin-table tbody,
  .hr-personnel-cost-employees .admin-table tr,
  .hr-personnel-cost-employees .admin-table td,
  .hr-personnel-cost-history .admin-table tbody,
  .hr-personnel-cost-history .admin-table tr,
  .hr-personnel-cost-history .admin-table td {
    display: block;
    width: 100%;
  }

  .hr-personnel-cost-employees .admin-table tr,
  .hr-personnel-cost-history .admin-table tr {
    padding: 0.4rem 0;
    border-bottom: 1px solid #d8dee6;
  }

  .hr-personnel-cost-employees .admin-table tr:last-child,
  .hr-personnel-cost-history .admin-table tr:last-child {
    border-bottom: 0;
  }

  .hr-personnel-cost-employees .admin-table td,
  .hr-personnel-cost-history .admin-table td {
    display: grid;
    grid-template-columns: minmax(7rem, 38%) minmax(0, 1fr);
    gap: 0.75rem;
    padding: 0.55rem 0.75rem;
    border: 0;
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  .hr-personnel-cost-employees .admin-table td::before,
  .hr-personnel-cost-history .admin-table td::before {
    content: attr(data-label);
    color: #5d6878;
    font-size: 0.75rem;
    font-weight: 700;
  }

  .hr-personnel-cost-employees .admin-table td:first-child {
    grid-template-columns: minmax(0, 1fr);
    padding-top: 0.8rem;
  }

  .hr-personnel-cost-employees .admin-table td:first-child::before {
    display: none;
  }

  .hr-personnel-cost-history .admin-row-actions {
    grid-template-columns: minmax(0, 1fr);
  }

  .hr-personnel-cost-history .admin-row-actions::before {
    display: none;
  }

  .hr-personnel-cost-history .admin-row-actions .btn {
    width: 100%;
    min-height: 44px;
  }
}

/* HR competency matrix and development plans */
.hr-competencies-page {
  display: grid;
  gap: 1.25rem;
  min-width: 0;
}

.hr-competency-summary {
  margin: 0;
}

.hr-competency-filter {
  display: grid;
  grid-template-columns: minmax(18rem, 1fr) auto;
  gap: 1rem;
  align-items: end;
  margin: 0;
}

.hr-competency-filter .admin-filter-actions {
  display: flex;
  gap: 0.5rem;
}

.hr-competency-context {
  display: flex;
  justify-content: space-between;
  gap: 1.5rem;
  align-items: center;
  padding: 1rem 0;
  border-block: 1px solid var(--admin-border);
}

.hr-competency-context h2,
.hr-competency-context p,
.hr-competency-context-profile span,
.hr-competency-context-profile strong {
  margin: 0;
}

.hr-competency-context h2 {
  margin-top: 0.2rem;
  font-size: 1.15rem;
}

.hr-competency-context p,
.hr-competency-context-profile span {
  color: var(--admin-muted);
  font-size: 0.875rem;
}

.hr-competency-context-profile {
  display: grid;
  gap: 0.2rem;
  min-width: 13rem;
  text-align: right;
}

.hr-competency-matrix,
.hr-competency-management,
.hr-development-plans,
.hr-competency-history,
.hr-job-profile-register {
  min-width: 0;
}

.hr-competencies-page .admin-section-head {
  margin-bottom: 0.75rem;
}

.hr-competencies-page .admin-section-head h2,
.hr-competencies-page .admin-section-head p {
  margin: 0;
}

.hr-competencies-page .admin-section-head h2 {
  font-size: 1.05rem;
}

.hr-competencies-page .admin-section-head p {
  margin-top: 0.2rem;
  color: var(--admin-muted);
}

.hr-level {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.hr-competencies-page .admin-status-badge.status-covered,
.hr-competencies-page .admin-status-badge.status-completed {
  color: var(--admin-success);
  background: color-mix(in oklab, var(--admin-success) 10%, var(--admin-surface));
  border-color: color-mix(in oklab, var(--admin-success) 34%, var(--admin-border));
}

.hr-competencies-page .admin-status-badge.status-expiring,
.hr-competencies-page .admin-status-badge.status-gap,
.hr-competencies-page .admin-status-badge.status-open {
  color: var(--admin-warning);
  background: color-mix(in oklab, var(--admin-warning) 10%, var(--admin-surface));
  border-color: color-mix(in oklab, var(--admin-warning) 34%, var(--admin-border));
}

.hr-competencies-page .admin-status-badge.status-expired {
  color: var(--admin-danger);
  background: color-mix(in oklab, var(--admin-danger) 8%, var(--admin-surface));
  border-color: color-mix(in oklab, var(--admin-danger) 30%, var(--admin-border));
}

.hr-competency-management {
  padding-block: 1rem;
  border-block: 1px solid var(--admin-border);
}

.hr-competency-action-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.hr-competency-action-grid > details,
.hr-job-profile-list > details {
  min-width: 0;
  border: 1px solid var(--admin-border);
  border-radius: 6px;
  background: var(--admin-surface);
}

.hr-competency-action-grid > details > summary,
.hr-job-profile-list > details > summary {
  min-height: 44px;
  padding: 0.75rem 0.875rem;
  font-weight: 650;
  cursor: pointer;
  touch-action: manipulation;
}

.hr-competency-action-grid > details[open] > summary,
.hr-job-profile-list > details[open] > summary {
  border-bottom: 1px solid var(--admin-border);
}

.hr-competency-action-grid > details > form {
  display: grid;
  gap: 0.75rem;
  padding: 0.875rem;
}

.hr-competency-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.hr-competency-form-grid > div,
.hr-competency-action-grid form {
  min-width: 0;
}

.hr-competency-form-grid label,
.hr-competency-action-grid form > label,
.hr-inline-action label {
  display: block;
  margin-bottom: 0.3rem;
  color: var(--admin-muted);
  font-size: 0.82rem;
  font-weight: 650;
}

.hr-competency-wide {
  grid-column: 1 / -1;
}

.hr-competency-action-grid .form-control,
.hr-competency-action-grid .form-select,
.hr-competency-action-grid .btn,
.hr-competency-filter .form-select,
.hr-competency-filter .btn,
.hr-inline-action .form-control,
.hr-inline-action .btn {
  min-height: 44px;
}

.hr-competency-action-grid .form-check {
  display: flex;
  gap: 0.55rem;
  align-items: center;
  min-height: 44px;
  padding-top: 0.25rem;
}

.hr-competency-action-grid .form-check-input {
  flex: 0 0 auto;
  margin: 0;
}

.hr-competency-action-grid .form-check-label {
  margin: 0;
}

.hr-competency-inline-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.hr-competency-employee-actions {
  display: grid;
  gap: 0.75rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--admin-border);
}

.hr-competency-employee-actions h3,
.hr-competency-employee-actions p {
  margin: 0;
}

.hr-competency-employee-actions h3 {
  font-size: 1rem;
}

.hr-competency-employee-actions p {
  color: var(--admin-muted);
}

.hr-inline-action {
  position: relative;
}

.hr-inline-action > summary {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  color: var(--admin-danger);
  cursor: pointer;
}

.hr-inline-action > form {
  display: grid;
  gap: 0.5rem;
  min-width: 16rem;
  padding: 0.75rem;
  border: 1px solid var(--admin-border);
  border-radius: 6px;
  background: var(--admin-surface);
}

.hr-job-profile-list {
  display: grid;
  gap: 0.625rem;
}

.hr-job-profile-list > details > summary {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
}

.hr-job-profile-list > details > summary small {
  color: var(--admin-muted);
  font-weight: 500;
}

.hr-job-profile-detail {
  display: grid;
  grid-template-columns: minmax(12rem, 0.8fr) repeat(2, minmax(0, 1fr));
  gap: 1rem;
  padding: 0.875rem;
}

.hr-job-profile-detail h3,
.hr-job-profile-detail p {
  margin-top: 0;
}

.hr-job-profile-detail h3 {
  font-size: 0.9rem;
}

.hr-job-profile-detail ul {
  display: grid;
  gap: 0.45rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.hr-job-profile-detail li {
  display: grid;
  gap: 0.1rem;
}

.hr-job-profile-detail li span {
  color: var(--admin-muted);
  font-size: 0.82rem;
}

@media (max-width: 991.98px) {
  .hr-competency-action-grid,
  .hr-job-profile-detail {
    grid-template-columns: 1fr;
  }

  .hr-competency-filter {
    grid-template-columns: 1fr auto;
  }
}

@media (max-width: 767.98px) {
  .hr-competency-filter,
  .hr-competency-form-grid,
  .hr-competency-inline-fields {
    grid-template-columns: 1fr;
  }

  .hr-competency-filter .admin-filter-actions,
  .hr-competency-filter .btn,
  .hr-competency-wide {
    width: 100%;
    grid-column: auto;
  }

  .hr-competency-context {
    display: grid;
    gap: 0.75rem;
  }

  .hr-competency-context-profile {
    min-width: 0;
    text-align: left;
  }

  .hr-job-profile-list > details > summary {
    display: grid;
    gap: 0.25rem;
  }

  .hr-competency-matrix .admin-table,
  .hr-development-plans .admin-table,
  .hr-competency-history .admin-table {
    display: block;
  }

  .hr-competency-matrix .admin-table thead,
  .hr-development-plans .admin-table thead,
  .hr-competency-history .admin-table thead {
    display: none;
  }

  .hr-competency-matrix .admin-table tbody,
  .hr-competency-matrix .admin-table tr,
  .hr-competency-matrix .admin-table td,
  .hr-development-plans .admin-table tbody,
  .hr-development-plans .admin-table tr,
  .hr-development-plans .admin-table td,
  .hr-competency-history .admin-table tbody,
  .hr-competency-history .admin-table tr,
  .hr-competency-history .admin-table td {
    display: block;
    width: 100%;
  }

  .hr-competency-matrix .admin-table tr,
  .hr-development-plans .admin-table tr,
  .hr-competency-history .admin-table tr {
    padding: 0.75rem;
    border-bottom: 1px solid var(--admin-border);
  }

  .hr-competency-matrix .admin-table td,
  .hr-development-plans .admin-table td,
  .hr-competency-history .admin-table td {
    display: grid;
    grid-template-columns: minmax(6.5rem, 0.42fr) minmax(0, 1fr);
    gap: 0.75rem;
    align-items: start;
    min-height: 44px;
    padding: 0.45rem 0;
    border: 0;
    text-align: left;
  }

  .hr-competency-matrix .admin-table td::before,
  .hr-development-plans .admin-table td::before,
  .hr-competency-history .admin-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 650;
  }

  .hr-inline-action > form {
    min-width: 0;
  }
}
/* HR document retention */
.hr-retention-summary {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.hr-document-retention-page .admin-row-actions {
  display: inline-block;
  position: relative;
  margin-inline-start: 0.35rem;
}

.hr-document-retention-page .admin-row-actions > summary {
  list-style: none;
}

.hr-document-retention-page .admin-row-actions > summary::-webkit-details-marker {
  display: none;
}

.hr-document-retention-page .admin-inline-form {
  width: min(22rem, calc(100vw - 2rem));
  padding: 1rem;
  margin: 0.35rem 0 0 auto;
  text-align: start;
  background: var(--bs-body-bg);
  border: 1px solid var(--bs-border-color);
  border-radius: 0.4rem;
}

.hr-document-retention-page .admin-inline-form > * + * {
  margin-top: 0.5rem;
}

.hr-document-retention-page .admin-decision-actions {
  display: grid;
  grid-template-columns: minmax(9rem, 1fr) minmax(11rem, 1fr) auto auto;
  gap: 0.4rem;
  align-items: center;
  min-width: 34rem;
}

.hr-document-retention-page .admin-confirmation-hint {
  grid-column: 1 / -1;
  color: var(--admin-muted);
  text-align: start;
}

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

  .hr-document-retention-page .admin-decision-actions {
    grid-template-columns: 1fr 1fr;
    min-width: 24rem;
  }
}
/* HR payroll provider exchanges */
.hr-payroll-exchange-create {
  margin-block: 1rem;
  border-block: 1px solid var(--admin-border, #d8dee7);
  background: var(--admin-surface, #fff);
}

.hr-payroll-exchange-create > summary {
  min-height: 3.25rem;
  padding: 0.75rem 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  cursor: pointer;
}

.hr-payroll-exchange-create > summary span:first-child {
  display: grid;
  gap: 0.15rem;
}

.hr-payroll-exchange-create > summary small {
  color: var(--admin-text-muted, #5f6b7a);
}

.hr-payroll-exchange-form {
  padding: 1rem;
  display: grid;
  grid-template-columns: repeat(5, minmax(8rem, 1fr));
  gap: 0.9rem;
  border-top: 1px solid var(--admin-border, #d8dee7);
}

.hr-payroll-exchange-reason {
  grid-column: span 4;
}

.hr-payroll-exchange-actions {
  display: flex;
  align-items: end;
}

.hr-payroll-exchange-layout {
  display: grid;
  grid-template-columns: minmax(16rem, 22rem) minmax(0, 1fr);
  gap: 1.25rem;
  align-items: start;
}

.hr-payroll-exchange-history {
  min-width: 0;
  border-right: 1px solid var(--admin-border, #d8dee7);
  padding-right: 1rem;
}

.hr-payroll-exchange-list {
  display: grid;
  gap: 0.4rem;
}

.hr-payroll-exchange-item {
  min-height: 3.5rem;
  padding: 0.65rem 0.75rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  color: inherit;
  text-decoration: none;
  border: 1px solid transparent;
  border-radius: 6px;
}

.hr-payroll-exchange-item:hover,
.hr-payroll-exchange-item:focus-visible {
  background: var(--admin-surface-muted, #f5f7fa);
  border-color: var(--admin-border, #d8dee7);
}

.hr-payroll-exchange-item.is-active {
  background: #eef6f2;
  border-color: #5b8b75;
}

.hr-payroll-exchange-item > span:first-child {
  min-width: 0;
  display: grid;
  gap: 0.15rem;
}

.hr-payroll-exchange-item small {
  color: var(--admin-text-muted, #5f6b7a);
  overflow-wrap: anywhere;
}

.hr-payroll-exchange-detail {
  min-width: 0;
  display: grid;
  gap: 1.25rem;
}

.hr-payroll-exchange-summary {
  margin-block: 1rem;
}

.hr-payroll-exchange-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  align-items: center;
}

.hr-payroll-exchange-toolbar form {
  margin: 0;
}

.hr-payroll-exchange-metadata {
  margin: 1rem 0 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--admin-border, #d8dee7);
}

.hr-payroll-exchange-metadata > div {
  min-width: 0;
  padding: 0.7rem 0;
  display: grid;
  grid-template-columns: 5rem minmax(0, 1fr);
  gap: 0.6rem;
  border-bottom: 1px solid var(--admin-border, #d8dee7);
}

.hr-payroll-exchange-metadata > div:nth-child(odd) {
  padding-right: 1rem;
}

.hr-payroll-exchange-metadata dt {
  color: var(--admin-text-muted, #5f6b7a);
  font-weight: 600;
}

.hr-payroll-exchange-metadata dd {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
}

.hr-payroll-exchange-result {
  padding-block: 1rem;
  border-block: 1px solid var(--admin-border, #d8dee7);
}

.hr-payroll-exchange-result-form {
  display: grid;
  grid-template-columns: minmax(14rem, 1fr) minmax(14rem, 1fr) auto;
  gap: 0.9rem;
  align-items: end;
}

.hr-payroll-exchange-employees .admin-table-shell {
  max-width: 100%;
}

.admin-status-badge.result-accepted {
  background: #e7f4ec;
  color: #215f42;
}

.admin-status-badge.result-warning {
  background: #fff3d8;
  color: #74520a;
}

.admin-status-badge.result-rejected {
  background: #fbe9e8;
  color: #8a2924;
}

.admin-status-badge.result-pending {
  background: #edf1f5;
  color: #4e5968;
}

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

  .hr-payroll-exchange-reason {
    grid-column: 1 / -1;
  }

  .hr-payroll-exchange-layout {
    grid-template-columns: 1fr;
  }

  .hr-payroll-exchange-history {
    border-right: 0;
    border-bottom: 1px solid var(--admin-border, #d8dee7);
    padding: 0 0 1rem;
  }

  .hr-payroll-exchange-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .hr-payroll-exchange-form,
  .hr-payroll-exchange-result-form,
  .hr-payroll-exchange-list,
  .hr-payroll-exchange-metadata {
    grid-template-columns: 1fr;
  }

  .hr-payroll-exchange-reason {
    grid-column: auto;
  }

  .hr-payroll-exchange-actions .btn,
  .hr-payroll-exchange-result-form .btn {
    width: 100%;
    min-height: 44px;
  }

  .hr-payroll-exchange-metadata > div:nth-child(odd) {
    padding-right: 0;
  }

  .hr-payroll-exchange-employees .admin-table thead {
    display: none;
  }

  .hr-payroll-exchange-employees .admin-table,
  .hr-payroll-exchange-employees .admin-table tbody,
  .hr-payroll-exchange-employees .admin-table tr,
  .hr-payroll-exchange-employees .admin-table td {
    display: block;
    width: 100%;
  }

  .hr-payroll-exchange-employees .admin-table tr {
    padding-block: 0.6rem;
    border-bottom: 1px solid var(--admin-border, #d8dee7);
  }

  .hr-payroll-exchange-employees .admin-table td {
    min-height: 2rem;
    padding: 0.3rem 0;
    display: grid;
    grid-template-columns: minmax(7rem, 42%) minmax(0, 1fr);
    gap: 0.75rem;
    text-align: left !important;
  }

  .hr-payroll-exchange-employees .admin-table td::before {
    content: attr(data-label);
    color: var(--admin-text-muted, #5f6b7a);
    font-weight: 600;
  }
}

/* HR time bank and meal vouchers */
.hr-time-benefits-page {
  --hr-time-accent: var(--admin-primary);
  --hr-time-accent-soft: var(--admin-primary-soft);
  --hr-voucher-accent: #9a5b13;
  --hr-voucher-soft: #fff3df;
}

.hr-employee-relations-page {
  --hr-relations-accent: var(--admin-primary);
  --hr-relations-attention: #9a5b13;
}

.hr-employee-relations-page .admin-section-tabs {
  display: flex;
  gap: 0.35rem;
  margin: 1rem 0;
  border-bottom: 1px solid var(--admin-border, #d8dee4);
}

.hr-employee-relations-page .admin-section-tabs a {
  min-height: 44px;
  padding: 0.7rem 0.85rem;
  color: #344054;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 2px solid transparent;
}

.hr-employee-relations-page .admin-section-tabs a:hover,
.hr-employee-relations-page .admin-section-tabs a:focus-visible {
  color: var(--hr-relations-accent);
  border-bottom-color: var(--hr-relations-accent);
}

.hr-relations-section {
  scroll-margin-top: 5rem;
  padding-block: 1.25rem;
  border-bottom: 1px solid var(--admin-border, #d8dee4);
}

.hr-relations-form {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.9rem;
  padding: 1rem 0;
}

.hr-relations-form label {
  display: block;
  margin-bottom: 0.3rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: #344054;
}

.hr-relations-form small {
  display: block;
  margin-top: 0.3rem;
  color: #667085;
}

.hr-relations-form-wide {
  grid-column: span 2;
}

.hr-relations-form-actions {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.hr-relations-check {
  align-self: end;
  min-height: 44px;
  padding-top: 0.65rem;
  padding-left: 2rem;
}

.hr-communication-list {
  border-top: 1px solid var(--admin-border, #d8dee4);
}

.hr-communication-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(9rem, auto);
  gap: 1rem;
  align-items: start;
  padding: 1rem 0;
  border-bottom: 1px solid var(--admin-border, #d8dee4);
}

.hr-communication-main h3 {
  margin: 0.35rem 0;
  font-size: 1rem;
}

.hr-communication-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  color: #667085;
  font-size: 0.8rem;
}

.hr-communication-body {
  max-width: 75ch;
  margin-bottom: 0.5rem;
  color: #344054;
  white-space: pre-line;
}

.hr-communication-progress {
  display: grid;
  grid-template-columns: repeat(3, minmax(4.5rem, auto));
  margin: 0;
}

.hr-communication-progress div {
  padding-inline: 0.65rem;
  border-left: 1px solid var(--admin-border, #d8dee4);
}

.hr-communication-progress dt {
  color: #667085;
  font-size: 0.75rem;
  font-weight: 500;
}

.hr-communication-progress dd {
  margin: 0.15rem 0 0;
  font-size: 1.1rem;
  font-weight: 700;
}

.hr-communication-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.4rem;
}

.hr-communication-actions form {
  margin: 0;
}

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

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

  .hr-communication-progress {
    width: min(100%, 24rem);
  }

  .hr-communication-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 575.98px) {
  .hr-employee-relations-page .admin-section-tabs {
    overflow-x: auto;
  }

  .hr-employee-relations-page .admin-section-tabs a {
    flex: 0 0 auto;
  }

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

  .hr-relations-form-wide {
    grid-column: auto;
  }

  .hr-relations-form-actions .btn,
  .hr-communication-actions .btn,
  .hr-communication-actions form {
    width: 100%;
  }

  .hr-communication-progress {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
  }

  .hr-communication-progress div {
    min-width: 0;
  }

  .hr-relations-table .admin-table thead {
    display: none;
  }

  .hr-relations-table .admin-table,
  .hr-relations-table .admin-table tbody,
  .hr-relations-table .admin-table tr,
  .hr-relations-table .admin-table td {
    display: block;
    width: 100%;
  }

  .hr-relations-table .admin-table tr {
    padding: 0.8rem;
    border-bottom: 1px solid var(--admin-border, #d8dee4);
  }

  .hr-relations-table .admin-table td {
    display: grid;
    grid-template-columns: minmax(7rem, 38%) minmax(0, 1fr);
    gap: 0.5rem;
    padding: 0.35rem 0;
    text-align: left !important;
    border: 0;
  }

  .hr-relations-table .admin-table td::before {
    content: attr(data-label);
    color: #667085;
    font-size: 0.8rem;
    font-weight: 600;
  }
}

.hr-time-benefits-employee-filter {
  min-width: min(24rem, 100%);
}

.hr-time-benefits-adjustments,
.hr-time-benefits-ledger {
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--admin-border, #d8dee7);
}

.hr-time-benefits-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.hr-time-benefit-form {
  display: grid;
  align-content: start;
  gap: 0.9rem;
  min-width: 0;
  padding: 1rem;
  border: 1px solid var(--admin-border, #d8dee7);
  border-radius: 6px;
  background: var(--admin-surface, #fff);
}

.hr-time-benefit-form:first-child {
  border-top: 3px solid var(--hr-time-accent);
}

.hr-time-benefit-form:last-child {
  border-top: 3px solid var(--hr-voucher-accent);
}

.hr-time-benefit-form h3 {
  margin: 0;
  font-size: 1.05rem;
}

.hr-time-benefit-form-row {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(7rem, 0.7fr) minmax(9rem, 1fr);
  gap: 0.75rem;
}

.hr-time-benefit-form label,
.hr-time-benefit-reversal label {
  display: block;
  margin-bottom: 0.3rem;
  color: var(--admin-text-muted, #5f6b7a);
  font-size: 0.82rem;
  font-weight: 700;
}

.hr-time-benefit-form .btn {
  justify-self: start;
  min-height: 44px;
}

.hr-time-benefits-ledger .admin-table td {
  vertical-align: top;
}

.hr-time-benefit-reversal {
  position: relative;
  display: inline-block;
  text-align: left;
}

.hr-time-benefit-reversal > summary {
  min-height: 36px;
  padding: 0.4rem 0.7rem;
  border: 1px solid #bd3f46;
  border-radius: 4px;
  color: #9e2f36;
  cursor: pointer;
  font-weight: 700;
  list-style: none;
}

.hr-time-benefit-reversal > summary::-webkit-details-marker {
  display: none;
}

.hr-time-benefit-reversal > form {
  position: absolute;
  z-index: 20;
  right: 0;
  width: min(22rem, 80vw);
  padding: 0.75rem;
  border: 1px solid var(--admin-border, #d8dee7);
  border-radius: 6px;
  background: var(--admin-surface, #fff);
  box-shadow: 0 10px 24px rgba(29, 38, 51, 0.16);
}

.hr-time-benefit-reversal .btn {
  width: 100%;
  min-height: 40px;
  margin-top: 0.55rem;
}

@media (max-width: 991.98px) {
  .hr-time-benefits-form-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px) {
  .hr-time-benefit-form-row {
    grid-template-columns: 1fr;
  }

  .hr-time-benefit-form .btn {
    width: 100%;
  }

  .hr-time-benefits-ledger .admin-table thead {
    display: none;
  }

  .hr-time-benefits-ledger .admin-table,
  .hr-time-benefits-ledger .admin-table tbody,
  .hr-time-benefits-ledger .admin-table tr,
  .hr-time-benefits-ledger .admin-table td {
    display: block;
    width: 100%;
  }

  .hr-time-benefits-ledger .admin-table tr {
    padding-block: 0.65rem;
    border-bottom: 1px solid var(--admin-border, #d8dee7);
  }

  .hr-time-benefits-ledger .admin-table td {
    min-height: 2.25rem;
    padding: 0.35rem 0;
    display: grid;
    grid-template-columns: minmax(7rem, 38%) minmax(0, 1fr);
    gap: 0.75rem;
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  .hr-time-benefits-ledger .admin-table td::before {
    content: attr(data-label);
    color: var(--admin-text-muted, #5f6b7a);
    font-weight: 700;
  }

  .hr-time-benefit-reversal,
  .hr-time-benefit-reversal > summary {
    width: 100%;
  }

  .hr-time-benefit-reversal > form {
    position: static;
    width: 100%;
    margin-top: 0.5rem;
    box-shadow: none;
  }
}

.hr-provider-activation-page > .admin-filter-bar {
  display: grid;
  grid-template-columns: minmax(12rem, 16rem) minmax(12rem, 16rem) auto;
  align-items: end;
}

@media (max-width: 767.98px) {
  .hr-provider-activation-page > .admin-filter-bar {
    grid-template-columns: 1fr;
  }
}
/* Job document allocation workspace */
.job-allocation-page {
  display: grid;
  gap: 1.25rem;
  min-width: 0;
}

.job-allocation-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-block: 1px solid var(--admin-border);
  background: var(--admin-surface);
}

.job-allocation-summary > div {
  display: grid;
  align-content: start;
  gap: 0.2rem;
  min-width: 0;
  padding: 1rem;
}

.job-allocation-summary > div + div {
  border-inline-start: 1px solid var(--admin-border);
}

.job-allocation-summary span,
.job-allocation-total span {
  color: var(--admin-muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.job-allocation-summary strong,
.job-allocation-total strong {
  color: var(--admin-text);
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

.job-allocation-summary small {
  color: var(--admin-muted);
  overflow-wrap: anywhere;
}

.job-allocation-form,
.job-allocation-lines {
  display: grid;
  gap: 1rem;
  min-width: 0;
}

.job-allocation-line {
  display: grid;
  gap: 1rem;
  min-width: 0;
  padding: 1rem;
  border: 1px solid var(--admin-border);
  border-radius: 8px;
  background: var(--admin-surface);
}

.job-allocation-line-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: start;
  min-width: 0;
}

.job-allocation-line-head h2 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.job-allocation-line-head h2 span {
  display: block;
  margin-block-end: 0.15rem;
  color: var(--admin-muted);
  font-size: 0.76rem;
  font-weight: 650;
}

.job-allocation-line-head p {
  margin: 0.3rem 0 0;
  color: var(--admin-muted);
  font-size: 0.86rem;
  font-variant-numeric: tabular-nums;
}

.job-allocation-total {
  display: grid;
  justify-items: end;
  gap: 0.1rem;
  min-width: 8rem;
}

.job-allocation-total.is-balanced strong {
  color: var(--admin-success);
}

.job-allocation-total.is-unbalanced strong {
  color: var(--admin-danger);
}

.job-allocation-effective {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  min-width: 0;
}

.job-allocation-effective > span {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  align-items: baseline;
  min-width: 0;
  padding: 0.45rem 0.6rem;
  border-radius: 6px;
  background: var(--admin-surface-subtle);
  color: var(--admin-text);
  font-size: 0.84rem;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

.job-allocation-effective small {
  color: var(--admin-muted);
}

.job-allocation-editor {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
  padding-block-start: 0.85rem;
  border-block-start: 1px solid var(--admin-border);
}

.job-allocation-shares {
  display: grid;
  gap: 0.65rem;
  min-width: 0;
}

.job-allocation-share {
  display: grid;
  grid-template-columns: minmax(14rem, 1fr) minmax(9rem, 12rem) auto;
  gap: 0.75rem;
  align-items: end;
  min-width: 0;
}

.job-allocation-share label {
  display: grid;
  gap: 0.3rem;
  min-width: 0;
  color: var(--admin-text);
  font-size: 0.82rem;
  font-weight: 650;
}

.job-allocation-share select,
.job-allocation-share input {
  min-width: 0;
  font-size: 1rem;
}

.job-allocation-remove {
  min-height: 2.75rem;
}

.job-allocation-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1rem;
  align-items: center;
}

.job-allocation-actions small {
  flex: 1 1 24rem;
  color: var(--admin-muted);
  line-height: 1.45;
}

.job-allocation-submit {
  position: sticky;
  z-index: 20;
  inset-block-end: 0;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  padding: 0.85rem 1rem;
  border-block-start: 1px solid var(--admin-border);
  background: color-mix(in srgb, var(--admin-surface) 96%, transparent);
  box-shadow: 0 -0.4rem 1rem rgba(17, 24, 39, 0.08);
}

.job-allocation-submit > div {
  display: grid;
  min-width: 0;
}

.job-allocation-submit span {
  color: var(--admin-muted);
  font-size: 0.84rem;
  overflow-wrap: anywhere;
}

@media (max-width: 900px) {
  .job-allocation-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .job-allocation-summary > div + div {
    border-inline-start: 0;
  }

  .job-allocation-summary > div:nth-child(even) {
    border-inline-start: 1px solid var(--admin-border);
  }

  .job-allocation-summary > div:nth-child(n + 3) {
    border-block-start: 1px solid var(--admin-border);
  }

  .job-allocation-share {
    grid-template-columns: minmax(0, 1fr) minmax(8rem, 10rem);
  }

  .job-allocation-remove {
    grid-column: 1 / -1;
    justify-self: start;
  }
}

@media (max-width: 575.98px) {
  .purchase-invoices-page {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow-x: hidden;
  }

  .purchase-invoices-import-control {
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    contain: inline-size;
  }

  .purchase-invoices-import-control > *,
  .purchase-invoices-import-state,
  .purchase-invoices-import-state > div,
  .purchase-invoices-import-metrics,
  .purchase-invoices-import-actions {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .purchase-invoices-import-metrics {
    grid-template-columns: minmax(0, 1fr);
  }

  .purchase-invoices-import-actions {
    flex-direction: column;
  }

  .purchase-invoices-import-actions .btn {
    width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .purchase-invoices-table-shell {
    width: 100%;
    min-width: 0;
    overflow-x: clip;
  }

  .purchase-invoices-table {
    min-width: 0;
  }

  .purchase-invoices-table thead {
    display: none;
  }

  .purchase-invoices-table,
  .purchase-invoices-table tbody,
  .purchase-invoices-table tr,
  .purchase-invoices-table td {
    display: block;
    width: 100%;
  }

  .purchase-invoices-table tr {
    padding: 0.7rem;
    border-bottom: 1px solid var(--admin-border);
  }

  .purchase-invoices-table tr:last-child {
    border-bottom: 0;
  }

  .purchase-invoices-table td {
    display: grid;
    grid-template-columns: minmax(6.8rem, 0.42fr) minmax(0, 1fr);
    gap: 0.5rem;
    padding: 0.42rem 0;
    border: 0;
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  .purchase-invoices-table td::before {
    content: attr(data-label);
    color: var(--admin-muted);
    font-size: 0.78rem;
    font-weight: 650;
  }

  .purchase-invoices-table td[data-label="Azioni"] .admin-actions {
    justify-content: flex-start;
  }

  .purchase-invoices-payment-control,
  .purchase-invoices-payment-head > * {
    min-width: 0;
  }

  .purchase-invoices-payment-control {
    overflow: hidden;
  }

  .purchase-invoices-payment-grid {
    grid-template-columns: minmax(0, 1fr);
    min-width: 0;
  }

  .purchase-invoices-payment-grid small {
    overflow-wrap: anywhere;
  }

  .job-allocation-summary {
    grid-template-columns: 1fr;
  }

  .job-allocation-summary > div:nth-child(even) {
    border-inline-start: 0;
  }

  .job-allocation-summary > div + div {
    border-block-start: 1px solid var(--admin-border);
  }

  .job-allocation-line {
    padding: 0.85rem;
  }

  .job-allocation-line-head,
  .job-allocation-share {
    grid-template-columns: 1fr;
  }

  .job-allocation-total {
    justify-items: start;
    min-width: 0;
  }

  .job-allocation-remove {
    grid-column: auto;
    width: 100%;
  }

  .job-allocation-actions .btn,
  .job-allocation-submit .btn {
    width: 100%;
  }

  .job-allocation-submit {
    align-items: stretch;
    flex-direction: column;
  }
}

@media (max-width: 991.98px) {
  .cashflow-history-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .cashflow-history-metrics > div:nth-child(3) {
    border-inline-end: 0;
  }

  .cashflow-history-metrics > div:nth-child(-n + 3) {
    border-block-end: 1px solid var(--admin-border);
  }

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

  .cashflow-history-comparison {
    padding-block-start: 0.9rem;
    padding-inline-start: 0;
    border-block-start: 1px solid var(--admin-border);
    border-inline-start: 0;
  }
}

@media (max-width: 575.98px) {
  .cashflow-history-head,
  .cashflow-history-quality {
    align-items: stretch;
    flex-direction: column;
  }

  .cashflow-history-head .btn,
  .cashflow-history-empty .btn {
    width: 100%;
    margin-inline-start: 0;
  }

  .cashflow-history-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cashflow-history-metrics > div,
  .cashflow-history-metrics > div:nth-child(3) {
    border-inline-end: 1px solid var(--admin-border);
  }

  .cashflow-history-metrics > div:nth-child(even) {
    border-inline-end: 0;
  }

  .cashflow-history-metrics > div:nth-child(-n + 4) {
    border-block-end: 1px solid var(--admin-border);
  }

  .cashflow-history-chart-frame {
    height: 10.5rem;
    padding-inline-start: 4rem;
  }

  .cashflow-history-axis {
    max-width: 3.45rem;
    font-size: 0.64rem;
  }

  .cashflow-history-dates {
    padding-inline-start: 4rem;
  }

  .cashflow-history-quality span {
    padding: 0;
    border: 0;
  }
}

/* Signori Tecnica: application roles mapped to the approved kit.
   Bootstrap 5.1 has hardcoded component colors, so tokens alone are insufficient. */
:root {
  --bs-font-sans-serif: var(--st-font);
  --bs-body-font-family: var(--st-font);
  --bs-body-color: var(--st-text);
  --bs-body-bg: var(--st-background);
  --bs-primary: var(--st-primary);
  --bs-primary-rgb: 22, 50, 79;
  --bs-success: var(--admin-success);
  --bs-success-rgb: 39, 99, 69;
}

html { font-size: 16px; }
body { font-family: var(--st-font); font-synthesis: none; line-height: 1.55; }
::selection { color: var(--st-text); background: var(--st-surface); }
input, textarea { caret-color: var(--st-primary); }
* { scrollbar-color: var(--admin-muted) var(--st-surface); }
h1, h2, h3, h4, h5, h6 { font-weight: 600; }
h1, .auth-card-header h1 { font-size: 1.5rem; line-height: 1.25; }
a, .btn-link, .page-link { color: var(--st-primary); }
a:hover, .btn-link:hover, .page-link:hover { color: var(--st-text); }
a { text-underline-offset: .2em; }
table, .tabular-nums { font-variant-numeric: tabular-nums; }
.text-muted, .form-text { color: var(--admin-muted) !important; }

.btn, .form-control, .form-select, .input-group-text, .dropdown-menu {
  border-radius: var(--st-radius-control);
}
.btn, .form-control, .form-select { min-height: 44px; }
.btn { font-weight: 500; }
.form-control, .form-select { border-color: var(--admin-border); }
.btn-primary, .btn-primary:focus, .btn-primary:disabled,
.btn-primary.disabled, .btn-check:checked + .btn-primary,
.btn-check:active + .btn-primary, .btn-primary.active,
.show > .btn-primary.dropdown-toggle,
.nav-pills .nav-link.active, .nav-pills .show > .nav-link,
.page-item.active .page-link, .list-group-item.active,
.dropdown-item.active, .dropdown-item:active,
.form-check-input:checked {
  color: var(--st-inverse);
  background-color: var(--st-primary);
  border-color: var(--st-primary);
}
.btn-primary:hover, .btn-primary:active {
  color: var(--st-inverse);
  background-color: var(--st-text);
  border-color: var(--st-text);
}
.btn-outline-primary, .btn-outline-primary:disabled {
  color: var(--st-primary);
  border-color: var(--st-primary);
}
.btn-outline-primary:hover, .btn-outline-primary:active,
.btn-outline-primary.active, .btn-check:checked + .btn-outline-primary,
.btn-check:active + .btn-outline-primary, .show > .btn-outline-primary.dropdown-toggle {
  color: var(--st-inverse);
  background-color: var(--st-primary);
  border-color: var(--st-primary);
}
.btn-primary:disabled, .btn-primary.disabled {
  color: var(--st-text);
  background-color: var(--st-surface);
  border-color: var(--admin-border);
  opacity: 1;
}
.btn-success { background-color: var(--admin-success); border-color: var(--admin-success); }
.btn-outline-success { color: var(--admin-success); border-color: var(--admin-success); }
.form-control:focus, .form-select:focus, .form-check-input:focus { border-color: var(--st-primary); }
.btn:focus, .btn:active:focus, .btn-check:focus + .btn,
.form-control:focus, .form-select:focus, .form-check-input:focus { box-shadow: none; }
:focus-visible, .form-control:focus, .form-select:focus {
  outline: 2px solid var(--st-primary);
  outline-offset: 3px;
}
.skip-link, .skip-link:hover { color: var(--st-inverse); }
.progress-bar { background-color: var(--st-primary); }
.alert-primary { color: var(--st-primary); background-color: var(--st-surface); border-color: var(--admin-border); }

.admin-brand-logo {
  display: block;
  width: 260px;
  max-width: 100%;
  height: auto;
  flex-shrink: 0;
}
.auth-card, .card, .admin-panel { border-radius: var(--st-radius-panel); }
.auth-card { background: var(--st-background); box-shadow: none; }
body:has(.auth-shell) { background: var(--st-surface); }
.auth-card-header { margin-bottom: 1.5rem; }
.auth-subtitle { margin-top: .5rem; }
.external-action-body, .hr-kiosk-body { color: var(--st-text); background: var(--st-background); }
.external-action-brand { color: var(--st-primary); background: var(--st-background); }
.external-signoff-panel { border-color: var(--admin-border); box-shadow: none; }
.external-signoff-head { background: var(--st-surface); }
.hr-kiosk-header { background: var(--st-background); }
.app-footer { line-height: 1.5; padding-block: 1rem; }
.app-footer .container { padding-inline: 20px; }

@media (max-width: 575.98px) {
  .admin-brand-logo { width: 220px; }
  .auth-shell { padding-inline: 4px; }
  .auth-card { padding: 1.25rem; }
  .app-footer { font-size: .75rem; white-space: normal; }
}
/* Operate mode: navigation recedes and the work occupies the first viewport. */
body:has(.app-header-authenticated) .app-content-shell,
body:has(.app-header-authenticated) .app-footer > .container {
  width: 100%;
  max-width: none;
  padding-inline: clamp(1rem, 2.5vw, 3rem);
}
body:has(.app-header-authenticated) .app-content-shell { padding-top: 24px; }
body:has(.app-header-authenticated) .app-main { padding-top: 0; }
.admin-summary-label, .admin-summary-value, .admin-summary-value-small { display: block; }
.admin-filter-grid > [class*="col-"] { width: auto; min-width: 0; max-width: none; }
.admin-page-tools { align-items: center; }
.admin-page-tools > .btn-primary { order: -1; }
.admin-more-tools { min-width: 0; }
.admin-more-tools > summary {
  display: list-item;
  cursor: pointer;
  padding: 0.6rem 0.8rem;
  min-height: 44px;
  color: var(--admin-primary);
  font-size: 0.9375rem;
}
.admin-more-tools[open] { flex-basis: 100%; width: 100%; }
.admin-more-tools-content { display: flex; flex-wrap: wrap; gap: 0.5rem; padding: 0.5rem 0; }
.admin-more-tools-content > a { text-align: left; }
.admin-disclosure {
  border-top: 1px solid var(--admin-border);
  margin-top: 1rem;
  padding: 0.25rem 0;
}
.admin-disclosure > summary {
  cursor: pointer;
  padding: 0.8rem 0;
  min-height: 44px;
  font-weight: 600;
}
.admin-disclosure > summary span { font-weight: 400; color: var(--admin-muted); margin-left: 0.75rem; }
.admin-disclosure[open] > summary { margin-bottom: 0.75rem; }
.admin-disclosure:focus-within, .admin-more-tools > summary:focus-visible {
  outline-color: var(--admin-focus);
}
.admin-restore-filters { align-self: flex-start; margin-bottom: 0.75rem; }
.admin-filter-disclosure { margin-bottom: 1rem; border-bottom: 1px solid var(--admin-border); }
.admin-filter-disclosure > summary { cursor: pointer; min-height: 44px; padding: 0.65rem 0; font-weight: 600; }
.admin-filter-disclosure[open] > summary { margin-bottom: 0.5rem; }
.home-work-priorities { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; align-items: start; margin-bottom: 1rem; }
.home-work-priorities > section { min-width: 0; margin: 0; }
.home-work-priorities .home-section { margin: 0; }
.home-work-priorities .home-section-header p { margin-bottom: 0; }
.home-work-priorities .home-today-actions-list,
.home-work-priorities .home-operational-todo-list { grid-template-columns: minmax(0, 1fr); }
.home-work-priorities .home-today-action strong,
.home-work-priorities .home-today-action small,
.home-work-priorities .home-operational-todo-main strong,
.home-work-priorities .home-operational-todo-main small { white-space: normal; overflow-wrap: anywhere; }
.home-today-action-context { flex-shrink: 0; }
.home-dashboard .home-kpi-label, .home-dashboard .home-kpi-hint { color: var(--admin-muted); }
.text-danger, .field-validation-error { color: var(--admin-danger) !important; }
.btn-outline-danger { color: var(--admin-danger); border-color: var(--admin-danger); }
.btn-danger, .btn-outline-danger:hover, .btn-outline-danger:active {
  color: var(--st-inverse); background-color: var(--admin-danger); border-color: var(--admin-danger);
}
.home-dashboard .home-quick-actions { margin-bottom: 1rem; }
.home-dashboard .home-area-filter { margin-top: 0.5rem; }
.home-dashboard .home-dashboard-header { margin-bottom: 0.75rem; }
.home-calendar-panel, .home-analysis-panel, .home-start-panel { clear: both; }
.home-dashboard .home-preferences-panel { margin-top: 1rem; }
.home-dashboard [id], .hr-portal-page [id] { scroll-margin-top: calc(var(--admin-nav-auth-height) + 1rem); }
.admin-index-page .admin-page-title-sub { max-width: 75ch; }
@media (max-width: 1199.98px) {
  body:has(.app-header-authenticated) .app-content-shell { padding-top: 20px; }
  body:has(.app-header-authenticated) .app-content-shell,
  body:has(.app-header-authenticated) .app-footer > .container { padding-inline: 16px; }
}
@media (max-width: 767.98px) {
  .home-work-priorities { grid-template-columns: 1fr; }
  .admin-index-page .admin-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.5rem; }
  .admin-index-page .admin-summary-card { min-width: 0; padding: 0.75rem; }
  .admin-index-page .admin-summary-value { font-size: 1.25rem; overflow-wrap: anywhere; }
  .admin-index-page .admin-summary-label { font-size: 0.875rem; }
  .admin-page-tools { gap: 0.4rem; }
  .admin-page-tools > .btn, .admin-more-tools { flex: 0 1 auto; }
  .admin-index-page .admin-page-tools { display: flex; flex-wrap: wrap; }
  .admin-index-page .admin-page-tools > a.btn-outline-secondary { width: auto; flex: 1 1 auto; }
  .home-dashboard .home-quick-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; }
  .home-dashboard .home-quick-actions > a { flex: 1 1 auto; width: auto; }
  .admin-more-tools-content { display: grid; grid-template-columns: 1fr; }
  .admin-disclosure > summary span { display: block; margin: 0.25rem 0 0; font-size: 0.875rem; }
  .home-dashboard-roles { display: none; }
}
/* Database identifiers can be longer than the available mobile column. */
#backup-database-pane .col-md-3 > strong {
    overflow-wrap: anywhere;
}

/* Page navigation separates independent workflows while preserving every form. */
.page-sections-layout { display: grid; grid-template-columns: 13rem minmax(0, 1fr); gap: 1.5rem; align-items: start; scroll-margin-top: calc(var(--admin-nav-auth-height) + 1rem); }
.page-sections-nav { position: sticky; top: calc(var(--admin-nav-auth-height) + 1rem); max-height: calc(100dvh - var(--admin-nav-auth-height) - 2rem); overflow-y: auto; padding: 0.5rem 0; }
.page-sections-title { display: block; margin: 0 0 0.75rem 0.75rem; font-size: 0.875rem; color: var(--admin-muted); }
.page-sections-links { display: grid; gap: 0.25rem; }
.page-sections-links a { display: flex; align-items: center; min-height: 44px; padding: 0.625rem 0.75rem; border-radius: 6px; text-decoration: none; font-size: 0.9375rem; line-height: 1.4; }
.page-sections-links a:hover, .page-sections-links a[aria-current] { background: var(--admin-primary-soft); color: var(--admin-primary-dark); }
.page-sections-links a[aria-current] { font-weight: 600; }
.page-sections-links a:focus-visible { outline: 2px solid var(--admin-focus); outline-offset: -2px; }
.page-sections-select { display: none; }
.page-sections-body, .page-section-panel { min-width: 0; }
.page-section-panel { scroll-margin-top: calc(var(--admin-nav-auth-height) + 1rem); }
.page-section-panel[hidden] { display: none !important; }
.page-section-panel > :first-child { margin-top: 0; }
.page-section-panel > * + * { margin-top: 1rem; }
.page-section-panel:focus { outline: none; }
.tenant-editor { margin: 0; }
.tenant-editor > summary { min-height: 44px; padding: 0.625rem 0; color: var(--admin-primary); cursor: pointer; font-weight: 600; }
.tenant-editor fieldset { min-width: 0; margin: 1rem 0; padding: 0; border: 0; }
.tenant-editor legend { float: none; width: auto; margin-bottom: 0.5rem; font-size: 1rem; font-weight: 600; }
.tenant-editor .form-label { display: block; margin-bottom: 0.375rem; font-size: 0.875rem; }
.tenant-editor .form-text { font-size: 0.8125rem; line-height: 1.5; }
.tenant-editor-group-help { margin: 0 0 0.75rem; max-width: 75ch; color: var(--admin-muted); font-size: 0.875rem; }
.tenant-admin-export-disclosure { margin-bottom: 1rem; }
.tenant-admin-export-disclosure > summary { min-height: 44px; padding: 0.625rem 0; cursor: pointer; }
@media (max-width: 1199.98px) {
  .page-sections-layout { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
  .page-sections-nav { position: static; max-height: none; padding: 0; overflow: visible; }
  .page-sections-title { margin-left: 0; margin-bottom: 0.5rem; }
  .page-sections-links { display: none; }
  .page-sections-select { display: block; }
}
@media print {
  .page-sections-layout { display: block; }
  .page-sections-nav { display: none; }
  .page-section-panel[hidden] { display: block !important; }
}
.tenant-record { padding: 1rem 0; border-bottom: 1px solid var(--admin-border); }
.tenant-record-head { display: flex; justify-content: space-between; align-items: start; gap: 1rem; }
.tenant-record-head h3 { font-size: 1.125rem; margin-bottom: 0.375rem; }
.tenant-record-head p { color: var(--admin-muted); margin: 0; font-size: 0.875rem; }
.tenant-record-head > a { flex-shrink: 0; }
@media (max-width: 575.98px) { .tenant-record-head { flex-direction: column; } }
