:root {
  color-scheme: light;
  --ink: #172026;
  --muted: #64727d;
  --line: #d9e1e7;
  --panel: #ffffff;
  --paper: #f5f7f9;
  --navy: #172b3a;
  --teal: #1b7f79;
  --blue: #346fb4;
  --green: #4f8f5b;
  --amber: #c98320;
  --red: #b84d4a;
  --violet: #7965a8;
  --shadow: 0 14px 35px rgba(23, 32, 38, 0.08);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  min-height: 100%;
  background: var(--paper);
  color: var(--ink);
}

button,
input,
select,
textarea {
  font: inherit;
}

button {
  border: 0;
}

.loading-shell {
  min-height: 100vh;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 18px;
  color: var(--muted);
}

.loading-shell img {
  width: min(280px, 70vw);
  height: 160px;
  object-fit: contain;
}

.loading-progress {
  width: min(340px, 72vw);
  height: 12px;
  overflow: hidden;
  border: 1px solid #d7dee5;
  border-radius: 999px;
  background: #edf1f4;
}

.loading-progress-bar {
  display: block;
  width: 4%;
  height: 100%;
  border-radius: inherit;
  background: #f28a24;
  transition: width 240ms ease;
}

.app-shell {
  min-height: 100vh;
  display: grid;
  grid-template-rows: auto auto 1fr;
}

.app-shell.read-only-shell {
  grid-template-rows: 1fr;
}

.read-only-shell .content {
  padding: 0;
}

.app-shell.theme-applied .topbar,
.app-shell.theme-applied .main-tab-button.active,
.app-shell.theme-applied .nav-dropdown-item.active {
  background: #163047;
}

/* Form Management */
.form-management-page .band-inner {
  display: grid;
  gap: 18px;
}

.form-management-header {
  align-items: flex-start;
  gap: 20px;
}

.form-management-header h2,
.form-preview-heading h3,
.public-form-intro h1,
.public-form-success h2 {
  margin: 0;
  letter-spacing: 0;
}

.form-management-header p,
.form-preview-heading p,
.public-form-intro p {
  margin: 6px 0 0;
  color: var(--muted);
}

.form-management-actions,
.form-builder-actions,
.form-question-tools,
.form-builder-toggles {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.form-management-actions {
  justify-content: flex-end;
}

.uniform-form-switcher {
  flex: 0 0 auto;
}

.uniform-form-toolbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}

.uniform-form-toolbar h3,
.uniform-form-toolbar p {
  margin: 0;
}

.uniform-form-toolbar p {
  margin-top: 5px;
  color: var(--muted);
}

.button-count {
  min-width: 22px;
  padding: 1px 6px;
  border-radius: 999px;
  background: rgba(23, 32, 38, 0.1);
  font-size: 12px;
  text-align: center;
}

.form-preview {
  border-top: 1px solid var(--line);
}

.form-preview-heading {
  padding: 20px 0 16px;
  max-width: 850px;
}

.form-preview-questions,
.form-builder-questions {
  border-top: 1px solid var(--line);
}

.form-question-preview {
  display: grid;
  grid-template-columns: minmax(270px, 0.85fr) minmax(320px, 1.15fr);
  gap: 24px;
  align-items: start;
  padding: 17px 0;
  border-bottom: 1px solid var(--line);
}

.form-question-heading {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 8px;
}

.form-question-heading > span {
  color: var(--muted);
  font-weight: 700;
}

.form-question-heading strong,
.form-question-heading small {
  display: block;
}

.form-question-heading small {
  margin-top: 4px;
  color: var(--muted);
}

.form-preview-options {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.form-preview-options span,
.form-preview-options em {
  padding: 5px 8px;
  border: 1px solid var(--line);
  border-radius: 5px;
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
}

.form-preview-answer {
  width: min(100%, 420px);
  height: 34px;
  border-bottom: 1px solid var(--line);
}

.form-preview-answer.long {
  height: 66px;
  border: 1px solid var(--line);
  border-radius: 5px;
}

.form-preview-checkbox {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--muted);
  font-size: 13px;
}

.form-preview-checkbox span {
  width: 18px;
  height: 18px;
  border: 1px solid var(--line);
  border-radius: 3px;
}

.form-question-description,
.form-condition-note {
  grid-column: 1 / -1;
  margin: -12px 0 0 36px;
  color: var(--muted);
  font-size: 13px;
}

.form-condition-note {
  color: var(--teal-strong);
}

.form-information-preview {
  grid-template-columns: minmax(260px, 1fr) minmax(320px, 1fr);
  align-items: center;
}

.form-information-preview p {
  margin: 8px 0 0;
  color: var(--muted);
  line-height: 1.5;
}

.form-information-preview img {
  display: block;
  width: min(100%, 520px);
  max-height: 290px;
  object-fit: contain;
}

.form-confirmation-copy {
  margin: 16px 0 0;
  color: var(--muted);
}

.form-builder {
  display: grid;
  gap: 20px;
  padding-top: 2px;
}

.form-builder-details,
.form-builder-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.form-builder-wide,
.form-builder-label,
.form-data-source-note {
  grid-column: 1 / -1;
}

.form-builder-question {
  padding: 18px 0;
  border-bottom: 1px solid var(--line);
}

.form-builder-question-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.form-question-tools .icon-button:nth-child(1) svg,
.form-question-tools .icon-button:nth-child(2) svg {
  transform: rotate(90deg);
}

.form-builder-toggles {
  margin-top: 12px;
}

.form-data-source-note {
  align-self: end;
  margin: 0;
  padding: 9px 10px;
  border-left: 3px solid var(--teal);
  color: var(--muted);
  font-size: 13px;
}

.form-builder-actions {
  position: sticky;
  bottom: 0;
  z-index: 4;
  padding: 12px 0;
  border-top: 1px solid var(--line);
  background: var(--panel);
}

.form-builder-action-spacer {
  flex: 1;
}

.form-responses-wrap {
  overflow: auto;
  max-height: calc(100vh - 270px);
  border: 1px solid var(--line);
  border-radius: 6px;
}

.form-responses-table {
  width: max-content;
  min-width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.form-responses-table th,
.form-responses-table td {
  min-width: 170px;
  max-width: 360px;
  padding: 10px 12px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
  white-space: pre-wrap;
}

.form-responses-table th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #edf3f4;
}

.form-responses-table td:first-child,
.form-responses-table th:first-child {
  min-width: 145px;
}

.form-responses-table code,
.public-form-success code {
  font-size: 11px;
  overflow-wrap: anywhere;
}

.public-form-shell {
  min-height: 100vh;
  padding: 0 20px 48px;
  background: #edf2f4;
  color: var(--ink);
}

.public-form-header {
  width: min(100%, 880px);
  min-height: 76px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 12px;
  color: #263842;
  font-size: 14px;
  font-weight: 700;
}

.public-form-header img {
  width: 112px;
  height: 42px;
  object-fit: contain;
  object-position: left center;
}

.public-form-card {
  width: min(100%, 880px);
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid #cfdadd;
  border-top: 6px solid var(--teal);
  border-radius: 7px;
  background: #ffffff;
  box-shadow: 0 12px 30px rgba(25, 43, 52, 0.08);
}

.public-form-intro {
  padding: 28px 34px 24px;
  border-bottom: 1px solid var(--line);
}

.public-form-intro h1 {
  margin-top: 4px;
  font-size: clamp(28px, 4vw, 38px);
}

.public-form-intro small {
  display: block;
  margin-top: 15px;
  color: var(--muted);
}

.public-form-intro em,
.public-form-question legend em {
  color: var(--red);
  font-style: normal;
}

.public-form {
  padding: 4px 34px 32px;
}

.public-form-question {
  min-width: 0;
  margin: 0;
  padding: 24px 0;
  border: 0;
  border-bottom: 1px solid var(--line);
}

.public-form-question[hidden] {
  display: none;
}

.public-form-question legend {
  width: 100%;
  margin-bottom: 12px;
  padding: 0;
  font-weight: 700;
  line-height: 1.45;
}

.public-form-question legend > span {
  color: var(--muted);
}

.public-form-question .input {
  width: min(100%, 620px);
}

.public-form-question textarea.input {
  width: 100%;
  resize: vertical;
}

.public-form-options {
  display: grid;
  gap: 9px;
}

.public-form-options > label {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 30px;
}

.public-form-options input[type="radio"] {
  width: 18px;
  height: 18px;
  accent-color: var(--teal);
}

.public-form-question-description {
  margin: -4px 0 12px;
  color: var(--muted);
  line-height: 1.5;
}

.public-form-question.is-checkbox {
  padding: 20px 0;
}

.public-form-checkbox {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  font-weight: 650;
  line-height: 1.45;
}

.public-form-checkbox input {
  flex: 0 0 auto;
  width: 19px;
  height: 19px;
  margin-top: 1px;
  accent-color: var(--teal);
}

.public-form-information {
  padding: 24px 0;
  border-bottom: 1px solid var(--line);
}

.public-form-information h2,
.public-form-information p {
  margin: 0;
}

.public-form-information h2 {
  font-size: 20px;
}

.public-form-information p {
  margin-top: 9px;
  color: var(--muted);
  line-height: 1.55;
}

.public-form-information img {
  display: block;
  width: min(100%, 720px);
  margin-top: 18px;
}

.public-form-other .input {
  flex: 1;
  max-width: 420px;
}

.public-form-question.has-error {
  border-left: 3px solid var(--red);
  padding-left: 14px;
}

.field-error {
  margin: 8px 0 0;
  color: var(--red);
  font-size: 13px;
}

.public-form-submit {
  margin-top: 24px;
  min-width: 130px;
}

.form-honeypot {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.public-form-success {
  display: grid;
  justify-items: center;
  gap: 12px;
  padding: 64px 32px 72px;
  text-align: center;
}

.public-form-success > .icon {
  width: 44px;
  height: 44px;
  color: var(--green);
}

.public-form-success p {
  margin: 0;
  color: var(--muted);
}

@media screen {
  html.dark-mode .form-builder-actions,
  html.dark-mode .public-form-card {
    background: var(--panel);
  }

  html.dark-mode .form-responses-table th {
    background: #29363d;
  }
}

@media (max-width: 760px) {
  .form-management-header,
  .uniform-form-toolbar,
  .form-builder-question-header {
    align-items: stretch;
    flex-direction: column;
  }

  .form-management-actions,
  .form-question-tools {
    justify-content: flex-start;
  }

  .form-management-actions .command {
    flex: 1 1 210px;
  }

  .form-question-preview,
  .form-information-preview,
  .form-builder-details,
  .form-builder-grid {
    grid-template-columns: 1fr;
  }

  .form-builder-wide,
  .form-builder-label,
  .form-data-source-note {
    grid-column: auto;
  }

  .form-builder-actions {
    align-items: stretch;
  }

  .form-builder-action-spacer {
    display: none;
  }

  .form-builder-actions .command {
    flex: 1 1 140px;
  }

  .public-form-shell {
    padding: 0 10px 24px;
  }

  .public-form-header {
    min-height: 64px;
  }

  .public-form-header img {
    width: 96px;
  }

  .public-form-intro,
  .public-form {
    padding-left: 20px;
    padding-right: 20px;
  }

  .public-form-other {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .public-form-other .input {
    flex-basis: calc(100% - 28px);
    margin-left: 27px;
  }
}

/* ZL Scorecard */
.scorecard-inner {
  display: grid;
  gap: 14px;
}

.scorecard-page-header {
  margin-bottom: 0;
}

.scorecard-page-actions select {
  min-width: 190px;
}

.scorecard-tabs {
  width: fit-content;
}

.scorecard-tabs button {
  min-width: 116px;
}

.scorecard-message {
  margin: 0;
}

.scorecard-message.success {
  border-color: rgba(31, 111, 103, 0.3);
  background: #f1fbf9;
  color: #1f6f67;
}

.scorecard-message.error {
  border-color: rgba(190, 68, 55, 0.35);
  background: #fff4f3;
  color: var(--red);
}

.scorecard-summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(110px, 1fr));
  border: 1px solid var(--line);
  background: #f7fafb;
}

.scorecard-summary > div {
  min-width: 0;
  padding: 10px 14px;
  display: flex;
  align-items: baseline;
  gap: 8px;
}

.scorecard-summary > div + div {
  border-left: 1px solid var(--line);
}

.scorecard-summary strong {
  color: var(--ink);
  font-size: 20px;
}

.scorecard-summary span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}

.scorecard-summary .scorecard-tier-elite { border-top: 3px solid #248463; }
.scorecard-summary .scorecard-tier-fantastic { border-top: 3px solid #3577a8; }
.scorecard-summary .scorecard-tier-great { border-top: 3px solid #c98320; }
.scorecard-summary .scorecard-tier-poor { border-top: 3px solid #bd4b42; }

.scorecard-view,
.scorecard-import-panel,
.scorecard-dotm-block,
.scorecard-rules-layout > section {
  min-width: 0;
}

.scorecard-view-toolbar,
.scorecard-block-heading {
  min-height: 48px;
  padding: 9px 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid var(--line);
  border-bottom: 0;
  background: #f3f7f8;
}

.scorecard-view-toolbar h3,
.scorecard-block-heading h3,
.scorecard-block-heading h4 {
  margin: 0;
  color: var(--ink);
  font-size: 15px;
  letter-spacing: 0;
}

.scorecard-view-toolbar p,
.scorecard-block-heading p {
  margin: 3px 0 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.scorecard-count {
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}

.scorecard-filters {
  display: flex;
  align-items: center;
  gap: 8px;
}

.scorecard-filters select {
  min-width: 132px;
}

.scorecard-search {
  position: relative;
  display: block;
}

.scorecard-search .icon {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 1;
  width: 16px;
  height: 16px;
  color: var(--muted);
}

.scorecard-search .input {
  width: 220px;
  padding-left: 34px;
}

.scorecard-table-wrap,
.scorecard-coaching-wrap,
.scorecard-dotm-block .table-wrap,
.scorecard-rules-layout .table-wrap {
  border-radius: 0;
}

.scorecard-table {
  min-width: 1420px;
}

.scorecard-table th,
.scorecard-table td {
  padding: 6px 7px;
  text-align: center;
  white-space: nowrap;
}

.scorecard-table th:nth-child(2),
.scorecard-table td:nth-child(2) {
  position: sticky;
  left: 47px;
  z-index: 3;
  min-width: 185px;
  text-align: left;
  background: #ffffff;
}

.scorecard-table th:first-child,
.scorecard-table td:first-child {
  position: sticky;
  left: 0;
  z-index: 4;
  width: 47px;
  min-width: 47px;
  background: #ffffff;
}

.scorecard-table thead th:first-child,
.scorecard-table thead th:nth-child(2) {
  z-index: 8;
  background: #f3f7f8;
}

.scorecard-table .scorecard-group-row th {
  position: sticky;
  left: auto;
  z-index: 7;
  border-right-color: #9eb0ba;
  background: #263844;
  color: #ffffff;
  text-align: center;
}

.scorecard-table .scorecard-group-row th:first-child { background: #263844; }
.scorecard-table .scorecard-group-row th:nth-child(2) { background: #1f6f67; }
.scorecard-table .scorecard-group-row th:nth-child(3) { background: #42657c; }

.scorecard-driver strong,
.scorecard-driver small,
.scorecard-coaching-table td:first-child strong,
.scorecard-coaching-table td:first-child small {
  display: block;
}

.scorecard-driver small,
.scorecard-coaching-table td:first-child small {
  margin-top: 2px;
  color: var(--muted);
  font-size: 10px;
}

.scorecard-rank {
  color: var(--navy);
  font-weight: 900;
}

.scorecard-tier {
  min-width: 76px;
  min-height: 24px;
  padding: 3px 8px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 900;
}

.scorecard-tier-elite { background: #e4f5ed; color: #17664b; }
.scorecard-tier-fantastic { background: #e7f1f8; color: #275f87; }
.scorecard-tier-great { background: #fff2dc; color: #85520b; }
.scorecard-tier-poor { background: #fde8e6; color: #9a312b; }
.scorecard-pass { color: #1f6f67; font-weight: 900; }
.scorecard-fail { color: var(--red); font-weight: 900; }

.scorecard-import-panel {
  border-bottom: 1px solid var(--line);
}

.scorecard-import-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--line);
  border-top: 0;
}

.scorecard-import-option {
  min-width: 0;
  min-height: 78px;
  padding: 11px;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: start;
  gap: 9px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #ffffff;
  cursor: pointer;
}

.scorecard-import-option:hover,
.scorecard-import-option:focus-within {
  border-color: var(--teal);
  background: #f4fbfa;
}

.scorecard-import-option.is-busy {
  opacity: 0.65;
}

.scorecard-import-icon {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 7px;
  background: #e7f1f3;
  color: var(--navy);
}

.scorecard-import-option strong,
.scorecard-import-option em,
.scorecard-import-option small {
  display: block;
}

.scorecard-import-option em,
.scorecard-import-option small {
  margin-top: 3px;
  overflow: hidden;
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.scorecard-import-option input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
}

.scorecard-coaching-table {
  min-width: 1050px;
}

.scorecard-coaching-table th:nth-child(1) { width: 190px; }
.scorecard-coaching-table th:nth-child(2) { width: 120px; }
.scorecard-coaching-table th:nth-child(3) { width: 250px; }
.scorecard-coaching-table th:nth-child(4) { width: 140px; }
.scorecard-coaching-table td:last-child { min-width: 340px; }

.scorecard-review-layout {
  margin-top: 12px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.scorecard-review-layout > section {
  min-width: 0;
}

.scorecard-review-table {
  min-width: 650px;
}

.scorecard-review-table th,
.scorecard-review-table td {
  padding: 6px;
}

.scorecard-dotm-layout {
  display: grid;
  grid-template-columns: minmax(380px, 0.8fr) minmax(700px, 1.5fr);
  gap: 12px;
}

.scorecard-dotm-block:last-child {
  grid-column: 1 / -1;
}

.scorecard-record-table { min-width: 470px; }
.scorecard-contender-table { min-width: 760px; }
.scorecard-record-table th,
.scorecard-record-table td,
.scorecard-contender-table th,
.scorecard-contender-table td { padding: 5px; }
.scorecard-record-table select,
.scorecard-contender-table select { min-width: 130px; }

.scorecard-rules-layout {
  display: grid;
  grid-template-columns: minmax(340px, 0.8fr) minmax(500px, 1.2fr);
  gap: 12px;
}

.scorecard-rules-layout table {
  min-width: 0;
}

.scorecard-rules-layout td:last-child {
  width: 180px;
}

@media screen {
  html.dark-mode .scorecard-summary,
  html.dark-mode .scorecard-view-toolbar,
  html.dark-mode .scorecard-block-heading,
  html.dark-mode .scorecard-import-grid,
  html.dark-mode .scorecard-import-option,
  html.dark-mode .scorecard-table th:first-child,
  html.dark-mode .scorecard-table td:first-child,
  html.dark-mode .scorecard-table th:nth-child(2),
  html.dark-mode .scorecard-table td:nth-child(2) {
    border-color: var(--line);
    background: #202a30;
  }

  html.dark-mode .scorecard-table thead th:first-child,
  html.dark-mode .scorecard-table thead th:nth-child(2) {
    background: #2a373e;
  }

  html.dark-mode .scorecard-import-option:hover,
  html.dark-mode .scorecard-import-option:focus-within {
    border-color: var(--teal);
    background: #203633;
  }

  html.dark-mode .scorecard-message.success {
    background: #1d3b30;
    color: #9fd4ba;
  }

  html.dark-mode .scorecard-message.error {
    background: #4a2929;
    color: #f2a09c;
  }

  html.dark-mode .scorecard-tier-elite { background: #1d3b30; color: #9fd4ba; }
  html.dark-mode .scorecard-tier-fantastic { background: #203548; color: #a9cae8; }
  html.dark-mode .scorecard-tier-great { background: #493e20; color: #f1d987; }
  html.dark-mode .scorecard-tier-poor { background: #4a2929; color: #f2a09c; }
}

@media (max-width: 900px) {
  .scorecard-page-header,
  .scorecard-view-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .scorecard-page-actions,
  .scorecard-filters {
    width: 100%;
  }

  .scorecard-week-select,
  .scorecard-week-select select,
  .scorecard-search,
  .scorecard-search .input {
    width: 100%;
  }

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

  .scorecard-summary > div + div {
    border-left: 0;
  }

  .scorecard-import-grid,
  .scorecard-review-layout,
  .scorecard-dotm-layout,
  .scorecard-rules-layout {
    grid-template-columns: 1fr;
  }

  .scorecard-dotm-block:last-child {
    grid-column: auto;
  }
}

@media (max-width: 620px) {
  .scorecard-tabs {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .scorecard-tabs button {
    min-width: 0;
  }

  .scorecard-page-actions .command:not(.icon-button),
  .scorecard-filters select {
    flex: 1;
  }
}

@media print {
  .scorecard-page .scorecard-tabs,
  .scorecard-page .scorecard-message,
  .scorecard-page .scorecard-import-panel,
  .scorecard-page .scorecard-summary,
  .scorecard-page .scorecard-view-toolbar {
    display: none !important;
  }

  .scorecard-page-header {
    display: block !important;
  }

  .scorecard-page-header > div:first-child {
    display: block;
  }

  .scorecard-table-wrap {
    overflow: visible;
    border: 0;
  }

  .scorecard-table {
    min-width: 100%;
  }

  .scorecard-table th,
  .scorecard-table td {
    position: static !important;
    padding: 3px 4px;
    font-size: 7px;
  }

  .scorecard-tier {
    min-width: 0;
    min-height: 0;
    padding: 2px 4px;
    font-size: 7px;
  }

  .scorecard-driver small {
    display: none;
  }
}

.app-shell.theme-applied th {
  background: #e7f0f0;
  color: #163047;
}

.topbar {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) auto;
  align-items: center;
  gap: 18px;
  padding: 14px 22px;
  background: #ffffff;
  border-bottom: 1px solid var(--line);
  position: sticky;
  top: 0;
  z-index: 40;
}

.brand {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

.brand img {
  width: 152px;
  height: 58px;
  object-fit: contain;
}

.brand-copy {
  min-width: 0;
}

.brand-copy h1 {
  font-size: 18px;
  line-height: 1.1;
  margin: 0;
  overflow-wrap: anywhere;
}

.brand-copy p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 13px;
}

.brand-copy .topbar-date {
  margin-top: 5px;
  color: var(--ink);
  font-size: 16px;
  font-weight: 850;
}

.top-actions,
.action-row,
.subnav,
.toolbar,
.field-row,
.inline-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.top-actions {
  justify-content: flex-end;
}

.sync-status,
.session-status {
  min-height: 32px;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  color: var(--muted);
  background: #ffffff;
  font-size: 12px;
  font-weight: 800;
}

.session-status {
  gap: 6px;
  color: #31414d;
  background: #f7fafc;
  border-color: #cfdae3;
}

.session-status .icon {
  width: 15px;
  height: 15px;
}

.account-actions {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.user-menu-wrap {
  position: relative;
  display: inline-flex;
}

.user-badge {
  min-height: 32px;
  max-width: 280px;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #fbfcfd;
  color: #31414d;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
}

.user-badge span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.user-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 70;
  width: min(360px, calc(100vw - 32px));
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 22px 60px rgba(23, 32, 38, 0.18);
}

.user-menu-header {
  display: grid;
  gap: 3px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line);
}

.user-menu-header strong {
  color: var(--ink);
  font-size: 14px;
}

.user-menu-header span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
}

.user-menu-actions {
  display: grid;
  gap: 8px;
}

.user-menu-actions .command {
  width: 100%;
  justify-content: center;
}

.auth-shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 420px));
  place-content: center;
  align-items: start;
  gap: 18px;
  padding: 28px;
  background: #eef3f5;
}

.auth-card {
  display: grid;
  gap: 16px;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: var(--shadow);
}

.auth-card img {
  width: 168px;
  height: 76px;
  object-fit: contain;
}

.auth-card h1,
.auth-card h2 {
  margin: 0;
}

.auth-copy {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  font-weight: 750;
  line-height: 1.45;
}

.auth-form {
  display: grid;
  gap: 12px;
}

.auth-submit {
  width: 100%;
}

.auth-alert {
  margin: 0;
}

.sync-status.saving {
  color: #5f3b00;
  background: #fff8ec;
  border-color: #d18b22;
}

.sync-status.issue {
  color: var(--red);
  background: #fff4f3;
  border-color: rgba(190, 68, 55, 0.36);
}

.sync-status.saved {
  color: #1f6f67;
  background: #f1fbf9;
  border-color: rgba(39, 134, 123, 0.28);
}

.nav-band {
  background: #edf2f5;
  border-bottom: 1px solid var(--line);
  padding: 9px 22px;
  position: relative;
  z-index: 30;
}

.main-tabs {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}

.nav-menu {
  position: relative;
}

.main-tab-button,
.segmented button {
  min-height: 36px;
  border: 1px solid var(--line);
  background: #ffffff;
  color: var(--ink);
  border-radius: 7px;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}

.main-tab-button.active,
.segmented button.active {
  background: var(--navy);
  color: #ffffff;
  border-color: var(--navy);
}

.main-tab-button .icon:last-child {
  width: 14px;
  height: 14px;
  margin-left: 2px;
  transition: transform 150ms ease;
}

.nav-menu.open > .main-tab-button .icon:last-child {
  transform: rotate(180deg);
}

.nav-dropdown {
  position: absolute;
  top: calc(100% + 7px);
  left: 0;
  width: max-content;
  min-width: 232px;
  max-width: min(300px, calc(100vw - 24px));
  max-height: min(68vh, 520px);
  overflow-y: auto;
  padding: 6px;
  display: grid;
  gap: 2px;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 7px;
  box-shadow: 0 12px 28px rgba(18, 42, 56, 0.18);
  z-index: 100;
}

.nav-menu:nth-last-child(-n + 2) .nav-dropdown {
  right: 0;
  left: auto;
}

.nav-dropdown-item {
  width: 100%;
  min-height: 36px;
  border: 0;
  border-radius: 5px;
  padding: 7px 9px;
  display: flex;
  align-items: center;
  gap: 9px;
  background: transparent;
  color: var(--ink);
  text-align: left;
}

.nav-dropdown-item:hover,
.nav-dropdown-item:focus-visible {
  background: #edf4f5;
}

.nav-dropdown-item.active {
  background: var(--navy);
  color: #ffffff;
}

.nav-dropdown-parent .icon:last-child {
  width: 15px;
  height: 15px;
  margin-left: auto;
}

.nav-dropdown-group {
  margin: 1px 0 3px 16px;
  padding-left: 8px;
  display: grid;
  gap: 2px;
  border-left: 2px solid #d9e3e7;
}

.nav-dropdown-group .nav-dropdown-item {
  min-height: 34px;
}

.nav-dropdown-divider {
  height: 1px;
  margin: 4px 5px;
  background: var(--line);
}

.nav-dropdown-empty {
  margin: 0;
  padding: 9px;
  color: var(--muted);
  font-size: 13px;
}

.icon {
  width: 17px;
  height: 17px;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
  flex: 0 0 auto;
}

.content {
  min-width: 0;
  padding: 18px 22px 38px;
  display: grid;
  gap: 18px;
}

.band {
  background: #ffffff;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  box-shadow: var(--shadow);
}

.assignment-summary-band {
  background: #343a40;
  border-top-color: #4b535c;
  border-bottom-color: #4b535c;
  color: #f6f8fa;
}

.assignment-summary-band .metric,
.assignment-summary-band .signal {
  border-color: #5b646e;
  background: #424951;
  color: #f6f8fa;
}

.assignment-summary-band .section-header p,
.assignment-summary-band .metric span,
.assignment-summary-band .signal span,
.assignment-summary-band .field span {
  color: #d7dde4;
}

.coming-soon-band {
  min-height: 420px;
  background: linear-gradient(135deg, #f3f7fb 0%, #eef6f1 100%);
  border-color: #d3dee7;
}

.coming-soon-panel {
  min-height: 360px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 12px;
  text-align: center;
  color: #15324a;
}

.coming-soon-panel h2 {
  margin: 0;
  font-size: clamp(28px, 4vw, 52px);
  line-height: 1;
}

.coming-soon-panel p {
  margin: 0;
  color: #607080;
  font-size: clamp(15px, 1.8vw, 22px);
  font-weight: 800;
}

.band-inner {
  width: min(1480px, 100%);
  margin: 0 auto;
  padding: 16px;
}

.section-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
}

.section-header h2 {
  margin: 0;
  font-size: 20px;
}

.section-header p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 13px;
}

.grid-2 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 16px;
  align-items: start;
}

.grid-3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.metric-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(150px, 1fr));
  gap: 10px;
}

.panel-body .metric-grid {
  grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
}

.metric {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px;
}

.metric strong {
  display: block;
  font-size: 24px;
  line-height: 1;
}

.metric span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  margin-top: 6px;
}

.signal-grid,
.mini-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 8px;
  margin-top: 10px;
}

.signal,
.mini-list > div {
  border: 1px solid var(--line);
  background: #fbfcfd;
  border-radius: 8px;
  padding: 9px 10px;
}

.signal strong,
.mini-list strong {
  display: block;
  font-size: 18px;
  line-height: 1;
}

.signal span,
.mini-list span {
  color: var(--muted);
  display: block;
  font-size: 12px;
  margin-top: 4px;
}

.panel {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
}

.core-dashboard-hero {
  background: linear-gradient(135deg, #f4f8fc 0%, #f6fbf7 100%);
  border-color: #d6e1e8;
}

.core-dashboard-header {
  align-items: center;
}

.segmented-control {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 4px;
  border: 1px solid #cfdbe3;
  border-radius: 8px;
  background: #ffffff;
}

.segmented-control button {
  min-height: 34px;
  border-radius: 6px;
  padding: 0 14px;
  color: #40515d;
  background: transparent;
  font-size: 13px;
  font-weight: 850;
  cursor: pointer;
}

.segmented-control button.active {
  color: #ffffff;
  background: #2367a6;
  box-shadow: 0 6px 14px rgba(35, 103, 166, 0.22);
}

.core-dashboard-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.core-dashboard-metric {
  min-height: 112px;
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  padding: 14px;
  border: 1px solid #d6e1e8;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 10px 24px rgba(23, 32, 38, 0.06);
}

.core-dashboard-metric-icon {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: #edf2f5;
  color: #31414d;
}

.core-dashboard-metric-icon .icon {
  width: 24px;
  height: 24px;
}

.core-dashboard-metric strong {
  display: block;
  font-size: 30px;
  line-height: 1;
}

.core-dashboard-metric span,
.core-dashboard-metric small {
  display: block;
  margin-top: 5px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.core-dashboard-metric.metric-blue .core-dashboard-metric-icon {
  background: #dceaff;
  color: #173d72;
}

.core-dashboard-metric.metric-green .core-dashboard-metric-icon {
  background: #d9efd8;
  color: #25552f;
}

.core-dashboard-metric.metric-amber .core-dashboard-metric-icon,
.core-dashboard-metric.metric-orange .core-dashboard-metric-icon {
  background: #ffe3bd;
  color: #6b4211;
}

.core-dashboard-grid {
  width: min(1480px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  align-items: stretch;
}

.core-dashboard-panel {
  min-height: 320px;
}

.core-dashboard-panel .panel-header {
  background: #fbfcfd;
}

.core-dashboard-panel .panel-header p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 12px;
}

.core-dashboard-bars {
  display: grid;
  gap: 13px;
}

.dashboard-bar-row {
  display: grid;
  gap: 7px;
}

.dashboard-bar-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: #31414d;
  font-size: 13px;
  font-weight: 850;
}

.dashboard-bar-label strong {
  color: var(--ink);
}

.dashboard-bar-track {
  height: 11px;
  overflow: hidden;
  border-radius: 999px;
  background: #edf1f4;
}

.dashboard-bar-track span {
  display: block;
  width: var(--bar);
  height: 100%;
  border-radius: inherit;
  background: #1b7f79;
}

.dashboard-bar-row.bar-orange .dashboard-bar-track span {
  background: #f2ad6d;
}

.dashboard-bar-row.bar-blue .dashboard-bar-track span {
  background: #4f83c4;
}

.dashboard-bar-row.bar-sky .dashboard-bar-track span {
  background: #8cc7f2;
}

.dashboard-bar-row.bar-green .dashboard-bar-track span {
  background: #79bd86;
}

.dashboard-bar-row.bar-violet .dashboard-bar-track span {
  background: #9080bd;
}

.dashboard-bar-row.bar-gray .dashboard-bar-track span {
  background: #87939c;
}

.core-dashboard-health-body {
  display: grid;
  grid-template-columns: minmax(150px, 190px) minmax(0, 1fr);
  align-items: center;
  gap: 18px;
}

.dashboard-donut {
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background:
    radial-gradient(circle at center, #ffffff 0 58%, transparent 59%),
    conic-gradient(#4f8f5b 0 var(--ready-end), #c98320 var(--ready-end) var(--attention-end), #b84d4a var(--attention-end) 100%);
  box-shadow: inset 0 0 0 1px rgba(23, 32, 38, 0.06);
}

.dashboard-donut.is-empty {
  background:
    radial-gradient(circle at center, #ffffff 0 58%, transparent 59%),
    conic-gradient(#d9e1e7 0 100%);
}

.dashboard-donut div {
  display: grid;
  place-items: center;
  gap: 3px;
}

.dashboard-donut strong {
  font-size: 28px;
  line-height: 1;
}

.dashboard-donut span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}

.dashboard-legend {
  display: grid;
  gap: 10px;
}

.dashboard-legend div {
  min-height: 54px;
  display: grid;
  grid-template-columns: 12px auto 1fr;
  align-items: center;
  gap: 8px;
  padding: 9px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfcfd;
}

.dashboard-legend strong {
  font-size: 20px;
}

.dashboard-legend small {
  color: var(--muted);
  font-weight: 800;
}

.legend-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

.legend-ready {
  background: #4f8f5b;
}

.legend-attention {
  background: #c98320;
}

.legend-down {
  background: #b84d4a;
}

.dashboard-watch-row,
.station-comparison-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid #edf1f4;
}

.dashboard-watch-row:last-child,
.station-comparison-row:last-child {
  border-bottom: 0;
}

.dashboard-watch-row strong,
.station-comparison-row strong {
  display: block;
  color: var(--ink);
}

.dashboard-watch-row span:not(.status-pill),
.station-comparison-row span {
  display: block;
  min-width: 0;
  margin-top: 3px;
  color: var(--muted);
  font-size: 12px;
}

.station-comparison-row.active {
  margin: 0 -8px;
  padding: 10px 8px;
  border-radius: 8px;
  background: #eef6fb;
}

.station-ready-meter {
  width: 150px;
  display: grid;
  gap: 5px;
}

.station-ready-meter small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  text-align: right;
}

.assignment-board-panel {
  overflow: visible;
  background: #343a40;
  border-color: #4b535c;
}

.assignment-board-panel > .panel-header {
  background: #2367a6;
  border-bottom-color: #1c558b;
  color: #ffffff;
}

.assignment-board-panel > .panel-header h3 {
  color: #ffffff;
}

.assignment-board-panel > .add-da-panel,
.assignment-board-panel > .edit-pools-sticky,
.assignment-board-panel > .table-wrap {
  width: calc(100% - 24px);
  margin: 12px;
}

.assignment-board-panel > .add-da-panel,
.assignment-board-panel > .edit-pools-sticky {
  border: 1px solid #5b646e;
  border-radius: 8px;
}

.assignment-board-panel > .edit-pools-sticky {
  margin-bottom: 0;
}

.assignment-board-panel > .table-wrap {
  border-color: #5b646e;
  box-shadow: 0 10px 24px rgba(23, 32, 38, 0.12);
}

.no-route-lists-panel {
  background: #343a40;
  border-color: #4b535c;
}

.no-route-lists-panel > .panel-header {
  background: #2367a6;
  border-bottom-color: #1c558b;
  color: #ffffff;
}

.no-route-lists-panel > .panel-header h3 {
  color: #ffffff;
}

.no-route-lists-panel > .panel-body {
  background: #343a40;
}

.panel-header {
  min-height: 48px;
  padding: 12px 14px;
  background: #f9fbfc;
  border-bottom: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.panel-header h3 {
  margin: 0;
  font-size: 15px;
}

.panel-body {
  padding: 12px;
}

.published-display .published-grid {
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  align-items: stretch;
}

@media (min-width: 1180px) {
  .published-display .published-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.published-display .panel {
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.published-display .published-vehicle-header {
  color: #ffffff;
}

.published-display .published-vehicle-cdv .published-vehicle-header {
  background: #ffd4ad;
  color: #65320b;
}

.published-display .published-vehicle-ford .published-vehicle-header {
  background: #2368a6;
}

.published-display .published-vehicle-mercedes .published-vehicle-header {
  background: #a9d9ff;
  color: #0f3157;
}

.published-display .published-vehicle-ev .published-vehicle-header {
  background: #bfe9c9;
  color: #245b32;
}

.published-display .published-vehicle-rental .published-vehicle-header {
  background: #5f6680;
}

.published-vehicle-total {
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}

.published-display .table-wrap {
  flex: 1;
  overflow: hidden;
}

.published-compact-columns,
.published-assignment-list {
  display: none;
}

.published-compact-header {
  display: none;
}

.published-display table {
  min-width: 0;
  table-layout: fixed;
}

.published-display th,
.published-display td {
  padding: 6px 7px;
  font-size: 12px;
  line-height: 1.18;
}

.published-display th {
  font-size: 10px;
}

.published-display .published-vehicle-panel tbody tr:nth-child(odd) td {
  background: #ffffff;
}

.published-display .published-vehicle-panel tbody tr:nth-child(even) td {
  background: #f1f5f8;
}

.published-display th:nth-child(1),
.published-display td:nth-child(1) {
  width: 54%;
}

.published-display th:nth-child(2),
.published-display td:nth-child(2) {
  width: 29%;
}

.published-display th:nth-child(3),
.published-display td:nth-child(3) {
  width: 17%;
}

.published-display .pill-list {
  gap: 5px;
}

.published-display .category-pill,
.published-display .pad-pill {
  min-height: 21px;
  padding: 2px 7px;
  font-size: 11px;
}

.published-extra-pill {
  border: 1px solid transparent;
}

.published-extra-type {
  font-weight: 900;
  opacity: 0.78;
}

.published-extra-pill[data-extra-key="light-duty"] {
  background: #ffe3bd;
  border-color: rgba(201, 131, 32, 0.28);
  color: #6b4211;
}

.published-extra-pill[data-extra-key="xl"] {
  background: #d9efd8;
  border-color: rgba(79, 143, 91, 0.3);
  color: #25552f;
}

.published-extra-pill[data-extra-key="helper"] {
  background: #d6eeeb;
  border-color: rgba(27, 127, 121, 0.28);
  color: #17524e;
}

.published-extra-pill[data-extra-key="stay-home"] {
  background: #f7d7d6;
  border-color: rgba(184, 77, 74, 0.28);
  color: #7b2524;
}

.published-extra-pill[data-extra-key="standard"] {
  background: #dceaff;
  border-color: rgba(52, 111, 180, 0.28);
  color: #173d72;
}

.published-extra-pill[data-extra-key="5th-day"],
.published-extra-pill[data-extra-key="uncategorized"] {
  background: #ded8ee;
  border-color: rgba(121, 101, 168, 0.28);
  color: #4b3e75;
}

.published-display:is(:fullscreen, .is-published-fullscreen) {
  position: fixed;
  inset: 0;
  z-index: 5000;
  width: 100vw;
  height: 100vh;
  min-height: 0;
  overflow: hidden;
  border: 0;
  box-shadow: none;
  background: #f4f7f8;
}

.published-display:is(:fullscreen, .is-published-fullscreen) .band-inner {
  width: 100%;
  max-width: none;
  height: 100%;
  padding: 10px;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
}

.published-display:is(:fullscreen, .is-published-fullscreen) .section-header {
  align-items: center;
  margin-bottom: 8px;
}

.published-display:is(:fullscreen, .is-published-fullscreen) .section-header h2 {
  font-size: clamp(18px, 1.8vw, 30px);
}

.published-display:is(:fullscreen, .is-published-fullscreen) .section-header p {
  font-size: clamp(11px, 0.9vw, 15px);
}

.published-display:is(:fullscreen, .is-published-fullscreen) .command {
  min-height: 30px;
  padding: 0 9px;
  font-size: 12px;
}

.published-display:is(:fullscreen, .is-published-fullscreen) .grid-3 {
  height: 100%;
  min-height: 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: minmax(0, 1fr);
  gap: 8px;
}

.published-display:is(:fullscreen, .is-published-fullscreen) .published-grid.has-tall-published-panel {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  grid-template-rows: repeat(4, minmax(0, 1fr));
  grid-auto-flow: dense;
}

.published-display:is(:fullscreen, .is-published-fullscreen) .panel {
  min-height: 0;
  overflow: hidden;
}

.published-display:is(:fullscreen, .is-published-fullscreen) .published-vehicle-panel.published-vehicle-tall {
  grid-row: span 2;
}

.published-display:is(:fullscreen, .is-published-fullscreen) .published-grid.has-tall-published-panel .published-vehicle-cdv {
  grid-column: 1 / span 2;
  grid-row: 1;
}

.published-display:is(:fullscreen, .is-published-fullscreen) .published-grid.has-tall-published-panel .published-vehicle-ford {
  grid-column: 1 / span 2;
  grid-row: 2 / span 2;
}

.published-display:is(:fullscreen, .is-published-fullscreen) .published-grid.has-tall-published-panel .published-vehicle-mercedes {
  grid-column: 3 / span 2;
  grid-row: 1 / span 2;
}

.published-display:is(:fullscreen, .is-published-fullscreen) .published-grid.has-tall-published-panel .published-vehicle-ev.published-vehicle-tall {
  grid-column: 5 / span 2;
  grid-row: 1 / span 4;
}

.published-display:is(:fullscreen, .is-published-fullscreen) .published-grid.has-tall-published-panel .published-vehicle-rental {
  grid-column: 1 / span 2;
  grid-row: 4;
}

.published-display:is(:fullscreen, .is-published-fullscreen) .published-grid.has-tall-published-panel .published-people-call-outs {
  grid-column: 3;
  grid-row: 3;
}

.published-display:is(:fullscreen, .is-published-fullscreen) .published-grid.has-tall-published-panel .published-people-anchors {
  grid-column: 4;
  grid-row: 3;
}

.published-display:is(:fullscreen, .is-published-fullscreen) .published-grid.has-tall-published-panel .published-people-extras {
  grid-column: 3 / span 2;
  grid-row: 4;
}

.published-display:is(:fullscreen, .is-published-fullscreen) .panel-header {
  min-height: 0;
  padding: 5px 8px;
}

.published-display:is(:fullscreen, .is-published-fullscreen) .panel-header h3 {
  font-size: clamp(12px, 1vw, 17px);
}

.published-display:is(:fullscreen, .is-published-fullscreen) .panel-body,
.published-display:is(:fullscreen, .is-published-fullscreen) .table-wrap {
  min-height: 0;
  padding: 7px;
  overflow: hidden;
}

.published-display:is(:fullscreen, .is-published-fullscreen) .published-vehicle-panel .table-wrap {
  display: none;
}

.published-display:is(:fullscreen, .is-published-fullscreen) .published-vehicle-panel .published-compact-columns {
  display: grid;
  grid-template-columns: repeat(var(--published-list-columns), minmax(0, 1fr));
  gap: 5px;
  flex: 1;
  min-height: 0;
  padding: 5px;
  overflow: hidden;
}

.published-display:is(:fullscreen, .is-published-fullscreen) .published-compact-column {
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.published-display:is(:fullscreen, .is-published-fullscreen) .published-compact-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(78px, 6.8vw, 108px) clamp(34px, 2.5vw, 46px);
  gap: 3px 5px;
  padding: 4px 9px 3px;
  border-bottom: 1px solid #cfdbe3;
  background: #e7f0f0;
  color: #163047;
  font-size: 12px;
  font-weight: 950;
  line-height: 1.05;
  text-transform: uppercase;
}

.published-display:is(:fullscreen, .is-published-fullscreen) .published-compact-header span:nth-child(2),
.published-display:is(:fullscreen, .is-published-fullscreen) .published-compact-header span:nth-child(3) {
  white-space: nowrap;
}

.published-display:is(:fullscreen, .is-published-fullscreen) .published-vehicle-panel .published-assignment-list {
  display: block;
  flex: 1;
  min-height: 0;
  padding: 0;
  overflow: hidden;
}

.published-display:is(:fullscreen, .is-published-fullscreen) .published-compact-row {
  break-inside: avoid;
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(78px, 6.8vw, 108px) clamp(34px, 2.5vw, 46px);
  align-items: center;
  gap: 3px 5px;
  min-height: 22px;
  padding: 2px 5px;
  border-bottom: 1px solid #e2e8ed;
  background: #ffffff;
  font-size: 15px;
  line-height: 1;
}

.published-display:is(:fullscreen, .is-published-fullscreen) .published-compact-row:nth-child(even) {
  background: #f1f5f8;
}

.published-display:is(:fullscreen, .is-published-fullscreen) .published-compact-driver {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 950;
}

.published-display:is(:fullscreen, .is-published-fullscreen) .published-compact-van {
  color: #31414d;
  font-weight: 900;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.published-display:is(:fullscreen, .is-published-fullscreen) .published-compact-pad {
  min-width: 0;
}

.published-display:is(:fullscreen, .is-published-fullscreen) .published-compact-pad .pad-pill {
  min-height: 16px;
  padding: 0 4px;
  font-size: inherit;
}

.published-display:is(:fullscreen, .is-published-fullscreen) th,
.published-display:is(:fullscreen, .is-published-fullscreen) td {
  padding: 3px 5px;
  font-size: clamp(9px, 0.78vw, 13px);
  line-height: 1.05;
}

.published-display:is(:fullscreen, .is-published-fullscreen) th {
  font-size: clamp(8px, 0.65vw, 11px);
}

.published-display:is(:fullscreen, .is-published-fullscreen) .category-pill,
.published-display:is(:fullscreen, .is-published-fullscreen) .pad-pill {
  min-height: 18px;
  padding: 1px 6px;
  font-size: clamp(8px, 0.72vw, 12px);
}

.published-display:is(:fullscreen, .is-published-fullscreen) .pill-list {
  gap: 4px;
}

.published-display:is(:fullscreen, .is-published-fullscreen) .empty {
  padding: 8px;
}

.command {
  min-height: 36px;
  border-radius: 7px;
  padding: 0 12px;
  background: var(--navy);
  color: #ffffff;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  justify-content: center;
  cursor: pointer;
}

.command.secondary {
  background: #ffffff;
  color: var(--ink);
  border: 1px solid var(--line);
}

.command.warn {
  background: var(--amber);
}

.command.danger {
  background: var(--red);
}

.command.success {
  background: var(--teal);
}

.command:disabled {
  cursor: wait;
  opacity: 0.62;
}

.command.is-disabled {
  background: #eef2f5;
  color: var(--muted);
  border: 1px solid var(--line);
  cursor: not-allowed;
  opacity: 0.78;
}

.icon-button {
  width: 36px;
  height: 36px;
  padding: 0;
  border-radius: 7px;
}

.fleet-type-cell {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.fleet-identity-with-details {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: start;
  gap: 8px;
}

.fleet-identity-with-details-edit {
  align-items: start;
}

.fleet-identity-text {
  min-width: 0;
}

.fleet-details-button {
  width: 28px;
  height: 28px;
  min-height: 28px;
  border-color: rgba(27, 127, 121, 0.22);
  background: #f2fbf9;
  color: var(--teal);
}

.modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 60;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(17, 24, 28, 0.42);
}

.modal-card {
  width: min(560px, 100%);
  max-height: min(720px, calc(100vh - 36px));
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 26px 70px rgba(17, 24, 28, 0.28);
}

.modal-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 18px 18px 12px;
  border-bottom: 1px solid var(--line);
}

.modal-header h3 {
  margin: 0;
  font-size: 19px;
}

.modal-header p {
  margin: 3px 0 0;
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.modal-actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.modal-footer-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

.rental-details-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 16px 18px 18px;
}

.rental-details-grid.is-editing {
  align-items: start;
}

.rental-detail {
  min-height: 58px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 9px 10px;
  background: #fbfcfd;
}

.rental-detail span,
.rental-detail strong {
  display: block;
}

.rental-detail span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.rental-detail strong {
  margin-top: 4px;
  color: var(--ink);
  font-size: 14px;
}

.rental-detail-input {
  margin-top: 5px;
  min-height: 34px;
}

.fleet-type-radio {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 7px;
}

.fleet-type-option {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 34px;
  padding: 6px 9px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #ffffff;
  color: var(--ink);
  cursor: pointer;
}

.fleet-type-option input {
  width: auto;
  min-height: 0;
  margin: 0;
}

.fleet-current-issue {
  display: grid;
  gap: 3px;
  min-width: 190px;
  padding: 9px 10px;
  border: 1px solid rgba(201, 131, 32, 0.34);
  border-left: 5px solid var(--amber);
  border-radius: 8px;
  background: #fff8ec;
  color: #5f3b00;
}

.fleet-current-issue.in-modal {
  min-width: 0;
}

.fleet-current-issue strong,
.fleet-current-issue span,
.fleet-current-issue small {
  display: block;
}

.fleet-current-issue strong {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #402600;
  font-size: 13px;
}

.fleet-issue-info {
  width: 22px;
  height: 22px;
  min-height: 22px;
  padding: 0;
  border-color: rgba(201, 131, 32, 0.34);
  background: #ffffff;
  color: #8a5a15;
}

.fleet-issue-info .icon {
  width: 14px;
  height: 14px;
}

.fleet-current-issue span,
.fleet-current-issue small {
  font-size: 12px;
}

.fleet-current-issue small {
  color: #715129;
}

.fleet-no-issue {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.fleet-issue-modal {
  width: min(760px, 100%);
}

.fleet-issue-modal-body,
.fleet-issue-history-list,
.issue-next-steps-log {
  display: grid;
  gap: 12px;
  padding: 16px 18px 18px;
}

.fleet-issue-history-list {
  max-height: min(640px, calc(100vh - 160px));
  overflow: auto;
}

.fleet-issue-history-card {
  display: grid;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfcfd;
}

.fleet-issue-history-card.is-open {
  border-color: rgba(201, 131, 32, 0.38);
  background: #fffaf1;
}

.fleet-issue-history-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.fleet-issue-history-head strong {
  color: var(--ink);
}

.issue-detail-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

.issue-detail-list div {
  min-height: 52px;
  padding: 8px 9px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
}

.issue-detail-list dt {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.issue-detail-list dd {
  margin: 4px 0 0;
  color: var(--ink);
  font-size: 13px;
  font-weight: 750;
}

.issue-next-steps-log {
  padding: 0;
}

.issue-next-steps-log h4 {
  margin: 0;
  color: var(--ink);
  font-size: 14px;
}

.issue-next-step-entry {
  display: grid;
  gap: 4px;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
}

.issue-next-step-entry strong {
  color: var(--muted);
  font-size: 11px;
  text-transform: uppercase;
}

.issue-next-step-entry span {
  color: var(--ink);
  font-size: 13px;
  font-weight: 750;
}

.maintenance-dashboard {
  padding: 0;
  overflow: hidden;
}

.maintenance-dashboard-header {
  padding: 18px 20px;
  border-bottom: 1px solid var(--line);
}

.maintenance-dashboard-header h2 {
  margin: 2px 0 0;
  color: var(--ink);
  font-size: 22px;
}

.maintenance-dashboard-header p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 13px;
}

.maintenance-issue-list {
  display: grid;
  gap: 12px;
  padding: 14px;
}

.maintenance-issue-card {
  display: grid;
  gap: 14px;
  padding: 15px;
  border: 1px solid var(--line);
  border-left: 5px solid var(--amber);
  border-radius: 8px;
  background: #ffffff;
}

.maintenance-issue-summary {
  display: grid;
  grid-template-columns: minmax(110px, 0.45fr) minmax(180px, 0.9fr) minmax(260px, 2fr);
  gap: 18px;
}

.maintenance-summary-field {
  min-width: 0;
}

.maintenance-summary-field > span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.maintenance-summary-field h3 {
  margin: 3px 0 0;
  color: var(--ink);
  font-size: 18px;
}

.maintenance-summary-field p {
  margin: 5px 0 0;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.45;
}

.maintenance-vehicle-number strong {
  display: block;
  margin: 3px 0 0;
  overflow-wrap: anywhere;
  color: var(--ink);
  font-size: 22px;
  font-weight: 900;
}

.maintenance-additional-information textarea {
  min-height: 88px;
}

.maintenance-issue-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.maintenance-history-wrap {
  max-height: calc(100vh - 245px);
  border: 0;
  border-radius: 0;
}

.maintenance-history-table {
  min-width: 1100px;
}

.maintenance-history-table th,
.maintenance-history-table td {
  vertical-align: top;
}

.maintenance-history-table td:nth-child(4),
.maintenance-history-table td:nth-child(6) {
  max-width: 330px;
  white-space: pre-wrap;
}

@media (max-width: 900px) {
  .maintenance-issue-summary {
    grid-template-columns: minmax(100px, 0.4fr) minmax(180px, 1fr);
  }

  .maintenance-issue-summary .maintenance-summary-field:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 720px) {
  .maintenance-dashboard-header {
    align-items: stretch;
    flex-direction: column;
  }

  .maintenance-dashboard-header .command,
  .maintenance-issue-actions,
  .maintenance-issue-actions .command {
    width: 100%;
  }

  .maintenance-issue-summary {
    grid-template-columns: 1fr;
  }

  .maintenance-issue-summary .maintenance-summary-field:last-child {
    grid-column: auto;
  }
}

.command.needs-shop-command {
  border-color: rgba(201, 131, 32, 0.58);
  background: #fff4df;
  color: #704600;
}

.shop-plan-ron-notes {
  display: grid;
  gap: 4px;
  padding: 10px 11px;
  border: 1px solid rgba(201, 131, 32, 0.42);
  border-radius: 7px;
  background: #fff8ec;
}

.shop-plan-ron-notes span {
  color: #74501c;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.shop-plan-ron-notes p {
  margin: 0;
  color: #402600;
  font-size: 13px;
  font-weight: 750;
  white-space: pre-wrap;
}

.rental-detail .fleet-type-option span {
  display: inline;
  color: var(--ink);
  font-size: 13px;
  font-weight: 800;
  text-transform: none;
}

.input,
select,
textarea {
  width: 100%;
  min-height: 36px;
  border: 1px solid var(--line);
  background: #ffffff;
  color: var(--ink);
  border-radius: 7px;
  padding: 7px 9px;
}

textarea {
  min-height: 128px;
  resize: vertical;
}

label.field {
  display: grid;
  gap: 5px;
  color: var(--muted);
  font-size: 12px;
}

label.field > span {
  font-weight: 700;
}

.field-row {
  align-items: end;
}

.field-row .field {
  flex: 1 1 150px;
}

.table-wrap {
  width: 100%;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
}

table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  min-width: 760px;
}

th,
td {
  border-bottom: 1px solid var(--line);
  border-right: 1px solid #eef2f5;
  padding: 8px;
  text-align: left;
  font-size: 13px;
  vertical-align: middle;
}

.associate-input + .associate-input {
  margin-top: 6px;
}

th {
  position: sticky;
  top: 0;
  z-index: 5;
  background: #f3f7f8;
  color: #31414d;
  font-size: 12px;
  text-transform: uppercase;
  font-weight: 800;
}

tr:last-child td {
  border-bottom: 0;
}

td:last-child,
th:last-child {
  border-right: 0;
}

td.numeric,
th.numeric {
  text-align: right;
}

.board-table {
  min-width: 820px;
}

.board-table td:nth-child(1),
.board-table th:nth-child(1) {
  width: 86px;
}

.board-table td:nth-child(2),
.board-table th:nth-child(2),
.board-table td:nth-child(3),
.board-table th:nth-child(3) {
  width: 128px;
}

.board-table td:nth-child(4),
.board-table th:nth-child(4),
.board-table td:nth-child(5),
.board-table th:nth-child(5) {
  width: 180px;
}

.board-table td:nth-child(6),
.board-table th:nth-child(6) {
  width: 90px;
}

.assignment-mode-toggle {
  flex: 0 0 auto;
  background: #e8eef3;
  border-color: #c7d4de;
}

.assignment-mode-toggle button {
  min-height: 32px;
  padding: 0 10px;
  font-size: 12px;
}

.assignment-dropdown-cell {
  min-width: 0;
}

.assignment-dropdown-input {
  min-height: 32px;
  font-size: 13px;
  font-weight: 800;
}

.assignment-dropdown-input.invalid-entry {
  border-color: var(--red);
  background: #fff4f3;
  box-shadow: 0 0 0 3px rgba(190, 68, 55, 0.12);
}

.drag-pool {
  padding: 12px 14px;
  border-bottom: 1px solid var(--line);
  background: #f5f9f9;
  display: grid;
  gap: 10px;
}

.edit-pools-sticky {
  position: sticky;
  top: 76px;
  z-index: 16;
  max-height: min(48vh, 420px);
  overflow: auto;
  border-bottom: 1px solid var(--line);
  box-shadow: 0 8px 14px rgba(23, 53, 67, 0.08);
  overscroll-behavior: contain;
}

.edit-pools-sticky .drag-pool:last-child {
  border-bottom: 0;
}

.drag-pool.drag-over,
.drag-chip-row.drag-over {
  background: #edf8f7;
}

.drag-pool-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: var(--ink);
  font-size: 13px;
}

.drag-pool-header span,
.empty-note {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.add-da-panel {
  padding: 12px 14px;
  border-bottom: 1px solid var(--line);
  background: #f8fbfc;
  display: grid;
  gap: 10px;
}

.add-da-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.add-da-panel-header strong,
.add-da-option strong {
  display: block;
}

.add-da-panel-header span,
.add-da-option span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.add-da-list {
  max-height: 260px;
  overflow: auto;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 7px;
}

.add-da-option {
  min-height: 52px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #ffffff;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}

.add-da-option:hover {
  border-color: #b8cbd4;
  background: #fbfdfd;
}

.add-da-option.selected {
  border-color: var(--teal);
  background: #eaf6f4;
  box-shadow: inset 0 0 0 1px rgba(27, 127, 121, 0.18);
}

.drag-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.name-chip {
  max-width: 100%;
  min-height: 30px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #ffffff;
  color: var(--ink);
  padding: 4px 10px;
  display: inline-flex;
  align-items: center;
  font-size: 12px;
  font-weight: 800;
  cursor: grab;
  white-space: nowrap;
  user-select: none;
  -webkit-user-select: none;
}

.name-chip,
.name-chip * {
  cursor: grab;
}

.name-chip:active,
.name-chip:active * {
  cursor: grabbing;
}

.name-chip.assigned {
  background: #eaf6f4;
  border-color: #a8ceca;
}

.route-chip {
  background: #f4f0ff;
  border-color: #c8b8f2;
  color: #2f255f;
}

.route-chip.assigned,
.route-chip.static-route {
  background: #eef3ff;
  border-color: #b8c8f2;
  color: #24345f;
}

.route-pool {
  background: #f7f5fd;
}

.route-pool.drag-over,
.route-pool .drag-chip-row.drag-over,
.route-drop-cell.drag-over {
  background: #f1edfb;
}

.editable-chip {
  gap: 6px;
  padding-right: 4px;
}

.editable-chip > span {
  overflow: hidden;
  text-overflow: ellipsis;
}

.chip-remove {
  width: 20px;
  height: 20px;
  min-width: 20px;
  border: 0;
  border-radius: 999px;
  background: rgba(23, 53, 67, 0.1);
  color: var(--ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  cursor: pointer;
}

.chip-remove,
.chip-remove * {
  cursor: pointer;
}

.chip-remove:hover {
  background: rgba(190, 68, 55, 0.16);
  color: var(--red);
}

.chip-remove .icon {
  width: 12px;
  height: 12px;
}

.assignment-chip,
.assignment-empty {
  min-height: 30px;
  border-radius: 999px;
  padding: 5px 10px;
  display: inline-flex;
  align-items: center;
  font-size: 12px;
  font-weight: 800;
}

.assignment-chip {
  background: #eef6f8;
  color: #173543;
  border: 1px solid #c9dce3;
}

.assignment-empty {
  color: var(--muted);
  border: 1px dashed var(--line);
}

.drop-cell {
  min-height: 36px;
  border: 1px dashed #aebdc4;
  border-radius: 7px;
  padding: 3px;
  display: flex;
  align-items: center;
  background: #fbfdfd;
}

.drop-cell.filled {
  border-style: solid;
  background: #ffffff;
}

.drop-cell.drag-over {
  border-color: var(--teal);
  background: #edf8f7;
}

.route-missing-cell {
  background: #fff1f1;
}

.route-missing-chip,
.route-missing-drop {
  border-color: var(--red);
  background: #fff4f3;
  color: var(--red);
}

.route-missing-drop {
  box-shadow: inset 0 0 0 1px rgba(190, 68, 55, 0.16);
}

.drop-placeholder {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  padding: 0 7px;
}

.drag-list-drop {
  min-height: 48px;
  border: 1px dashed #aebdc4;
  border-radius: 7px;
  background: #fbfdfd;
  padding: 8px;
  display: grid;
  gap: 7px;
}

.drag-list-drop.drag-over {
  border-color: var(--teal);
  background: #edf8f7;
}

.extras-category-stack {
  display: grid;
  gap: 10px;
}

.extras-category {
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #fbfcfd;
  overflow: hidden;
}

.extras-category-header {
  min-height: 34px;
  padding: 7px 9px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  background: #d6eeeb;
  color: #17524e;
}

.extras-category-header strong,
.extras-category-header span {
  font-size: 12px;
  font-weight: 900;
}

.extras-category-header span {
  min-width: 28px;
  padding: 2px 7px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.48);
  color: inherit;
  text-align: center;
}

.extras-category[data-extra-key="standard"] .extras-category-header {
  background: #dceaff;
  color: #173d72;
}

.extras-category[data-extra-key="5th-day"] .extras-category-header {
  background: #ded8ee;
  color: #4b3e75;
}

.extras-category[data-extra-key="light-duty"] .extras-category-header {
  background: #ffe3bd;
  color: #6b4211;
}

.extras-category[data-extra-key="xl"] .extras-category-header {
  background: #d9efd8;
  color: #25552f;
}

.extras-category[data-extra-key="helper"] .extras-category-header {
  background: #d6eeeb;
  color: #17524e;
}

.extras-category[data-extra-key="stay-home"] .extras-category-header {
  background: #f7d7d6;
  color: #7b2524;
}

.extras-category[data-extra-key="uncategorized"] .extras-category-header {
  background: #ded8ee;
  color: #4b3e75;
}

.extras-category-drop {
  min-height: 42px;
  border: 0;
  border-top: 1px dashed #bfd0d8;
  border-radius: 0;
}

.extras-category-drop.drag-over {
  background: #eef8f7;
}

.extras-static-items {
  display: grid;
  gap: 6px;
  padding: 8px;
}

.drag-list-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 6px;
  position: relative;
  border-radius: 7px;
  padding: 2px 0;
  transition: background 0.12s ease;
  cursor: grab;
  user-select: none;
  -webkit-user-select: none;
  -webkit-user-drag: element;
}

.drag-list-item,
.drag-list-item * {
  cursor: grab;
}

.drag-list-item:active {
  cursor: grabbing;
}

.drag-list-item:active,
.drag-list-item:active * {
  cursor: grabbing;
}

.drag-list-item.drag-over,
.drag-list-item.drop-before,
.drag-list-item.drop-after {
  background: #f6fbfa;
}

.drag-list-item.drop-before::before,
.drag-list-item.drop-after::after {
  content: "";
  position: absolute;
  left: 2px;
  right: 2px;
  z-index: 2;
  height: 5px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--teal), #5fb7ad);
  box-shadow: 0 0 0 3px rgba(27, 127, 121, 0.13), 0 8px 18px rgba(27, 127, 121, 0.16);
}

.drag-list-item.drop-before::before {
  top: -7px;
}

.drag-list-item.drop-after::after {
  bottom: -7px;
}

.drag-list-item.drop-before .name-chip,
.drag-list-item.drop-after .name-chip {
  border-color: var(--teal);
  box-shadow: 0 6px 14px rgba(23, 32, 38, 0.08);
}

.list-chip {
  justify-self: start;
  overflow: hidden;
  text-overflow: ellipsis;
  pointer-events: none;
}

.list-chip-meta {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
  pointer-events: none;
}

.drag-list-item .chip-remove {
  pointer-events: auto;
  -webkit-user-drag: none;
  cursor: pointer;
}

.drag-list-item .chip-remove * {
  cursor: pointer;
}

.fleet-table-editing .fleet-edit-row {
  cursor: grab;
  user-select: none;
  -webkit-user-select: none;
  -webkit-user-drag: element;
  position: relative;
  height: 78px;
}

.fleet-table-editing .fleet-edit-row:active {
  cursor: grabbing;
}

.fleet-table-editing .fleet-edit-row td {
  height: 78px;
  padding-top: 7px;
  padding-bottom: 7px;
  transition: background 0.12s ease, box-shadow 0.12s ease;
}

.fleet-table-editing .fleet-edit-row.is-dragging td {
  background: #ecfbf8 !important;
  box-shadow: inset 0 0 0 2px rgba(27, 127, 121, 0.55);
}

.fleet-table-editing .fleet-edit-row.drag-over,
.fleet-table-editing .fleet-edit-row.drop-before,
.fleet-table-editing .fleet-edit-row.drop-after {
  outline: none;
}

.fleet-table-editing .fleet-edit-row.drag-over td {
  background: #f2fbf9 !important;
}

.fleet-table-editing .fleet-edit-row.drop-before td {
  box-shadow: inset 0 6px 0 var(--teal);
}

.fleet-table-editing .fleet-edit-row.drop-after td {
  box-shadow: inset 0 -6px 0 var(--teal);
}

.fleet-table-editing .fleet-edit-name-cell {
  min-width: 230px;
  position: relative;
}

.fleet-table-editing .fleet-edit-row.drop-before .fleet-edit-name-cell::before,
.fleet-table-editing .fleet-edit-row.drop-after .fleet-edit-name-cell::after {
  content: "";
  position: absolute;
  left: 0;
  right: -120px;
  z-index: 2;
  height: 6px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--teal), #5fb7ad);
  box-shadow: 0 0 0 4px rgba(27, 127, 121, 0.14), 0 8px 18px rgba(27, 127, 121, 0.16);
}

.fleet-table-editing .fleet-edit-row.drop-before .fleet-edit-name-cell::before {
  top: -10px;
}

.fleet-table-editing .fleet-edit-row.drop-after .fleet-edit-name-cell::after {
  bottom: -10px;
}

.fleet-table-editing .fleet-edit-blank,
.fleet-table-editing .fleet-edit-blank-heading {
  background: transparent;
}

.fleet-table-editing .fleet-input {
  width: 100%;
  min-height: 20px;
  border-color: transparent;
  background: transparent;
  box-shadow: none;
  padding: 0;
}

.fleet-table-editing .fleet-input:hover,
.fleet-table-editing .fleet-input:focus {
  background: #ffffff;
  outline: 1px solid var(--line);
  outline-offset: 3px;
}

.fleet-table-editing .fleet-input[data-fleet-field="name"] {
  color: var(--ink);
  font-weight: 800;
}

.fleet-table-editing .fleet-input[data-fleet-field="vin"] {
  color: var(--muted);
  font-size: 13px;
}

.fleet-plate-edit-row {
  display: grid;
  grid-template-columns: 54px minmax(94px, 1fr);
  gap: 8px;
  max-width: 230px;
  margin-top: 4px;
}

.fleet-plate-edit-row label {
  display: grid;
  gap: 2px;
}

.fleet-plate-edit-row label span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
}

.fleet-table-editing .fleet-plate-edit-row .fleet-input {
  min-height: 18px;
  color: #556671;
  font-size: 13px;
  font-weight: 800;
}

.fleet-vin-line,
.fleet-plate-line {
  color: var(--muted);
  font-size: 13px;
}

.fleet-plate-line {
  color: #556671;
  font-weight: 800;
}

.fleet-drag-cell {
  width: 34px;
  text-align: center;
}

.drag-handle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #ffffff;
  color: var(--muted);
  font-weight: 900;
  line-height: 1;
}

.fleet-input + .fleet-input {
  margin-top: 5px;
}

.fleet-drag-preview {
  position: fixed;
  top: -1000px;
  left: -1000px;
  z-index: 9999;
  min-width: 220px;
  padding: 10px 12px;
  border: 1px solid rgba(27, 127, 121, 0.36);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 16px 34px rgba(23, 32, 38, 0.2);
  color: var(--ink);
  pointer-events: none;
}

.fleet-drag-preview strong,
.fleet-drag-preview span {
  display: block;
}

.fleet-drag-preview span {
  margin-top: 2px;
  color: var(--muted);
  font-size: 13px;
}

.icon-button.danger {
  background: #fff4f3;
  border: 1px solid rgba(190, 68, 55, 0.34);
  color: var(--red);
}

tr.fleet-inoperable td,
tr.fleet-grounded td,
.fleet-row-grounded td {
  background: #fff6f4;
}

tr.fleet-operable td,
tr.fleet-functional td,
.fleet-row-active td,
.fleet-row-functional td,
.fleet-row-operable td {
  background: #fbfffc;
}

.category-pill,
.status-pill,
.pad-pill {
  min-height: 24px;
  border-radius: 999px;
  padding: 3px 9px;
  display: inline-flex;
  align-items: center;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

.cat-cdv,
.pad-1 {
  background: #ffd1a6;
  color: #60320a;
}

.cat-ford,
.pad-2 {
  background: #cfe0ff;
  color: #183d77;
}

.cat-mercedes,
.pad-3 {
  background: #d8e7d0;
  color: #274d2e;
}

.pad-2 {
  background: #b9d4ff;
  color: #12366f;
}

.pad-3 {
  background: #bfe7bd;
  color: #1f5528;
}

.cat-ev {
  background: #d2ead8;
  color: #2f633a;
}

.cat-rental,
.pad-star {
  background: #ded8ee;
  color: #4b3e75;
}

.pad-rec {
  background: #f3d6ec;
  color: #76305f;
}

.status-active,
.status-functional,
.status-operable {
  background: #d9efe0;
  color: #25552f;
}

.status-inactive,
.status-offboard,
.status-inoperable,
.status-grounded {
  background: #f4d4d3;
  color: #7b2524;
}

.status-open {
  background: #f9e4c4;
  color: #6b4211;
}

.cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 10px;
}

.assignment-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px;
  background: #ffffff;
  display: grid;
  gap: 8px;
}

.assignment-card header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}

.assignment-card strong {
  overflow-wrap: anywhere;
}

.checklist-page .assignment-card header strong {
  min-width: 0;
}

.checklist-van-pill {
  flex: 0 0 auto;
  justify-content: center;
  min-width: 56px;
  min-height: 30px;
  padding: 4px 10px;
  border: 1px solid transparent;
  font-size: 16px;
  font-weight: 950;
  line-height: 1;
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.08);
}

.checklist-van-pill.cat-cdv {
  background: #ffe0c2;
  border-color: #f0b173;
  color: #613006;
}

.checklist-van-pill.cat-ford {
  background: #b9d8ff;
  border-color: #74a9e8;
  color: #123a6c;
}

.checklist-van-pill.cat-mercedes {
  background: #cdeaff;
  border-color: #8fc9f0;
  color: #123f63;
}

.checklist-van-pill.cat-ev {
  background: #d5f3dc;
  border-color: #93d8a4;
  color: #245b32;
}

.checklist-van-pill.cat-rental {
  background: #ead4ff;
  border-color: #c79aef;
  color: #4a226d;
}

.checklist-lists {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.checklist-list-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 7px 0;
  border-bottom: 1px solid var(--line);
}

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

.checklist-list-row strong {
  overflow-wrap: anywhere;
}

.checklist-list-row small {
  color: var(--muted);
  font-weight: 800;
  text-align: right;
}

.audit-section-stack {
  display: grid;
  gap: 14px;
}

.audit-section-toggle {
  flex-wrap: wrap;
  justify-content: flex-end;
}

.audit-panel .panel-header {
  align-items: center;
}

.audit-panel .panel-header p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 12px;
}

.audit-phone-filter {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}

.audit-phone-filter select {
  min-width: 104px;
}

.audit-blank-body {
  min-height: 92px;
  background: #fbfcfd;
}

.audit-phone-table {
  min-width: 1240px;
}

.audit-phone-table th:nth-child(1),
.audit-phone-table td:nth-child(1) {
  width: 100px;
}

.audit-phone-table th:nth-child(2),
.audit-phone-table td:nth-child(2) {
  width: 110px;
}

.audit-phone-table th:nth-child(3),
.audit-phone-table td:nth-child(3) {
  width: 180px;
}

.audit-phone-table th:nth-child(6),
.audit-phone-table td:nth-child(6) {
  width: 190px;
}

.audit-phone-table th:last-child,
.audit-phone-table td:last-child {
  width: 60px;
  text-align: center;
}

.audit-phone-table.is-readonly th:last-child,
.audit-phone-table.is-readonly td:last-child {
  width: 330px;
  text-align: left;
}

.audit-phone-status-cell,
.audit-phone-actions {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
}

.audit-phone-actions .command {
  min-height: 30px;
  padding: 0 9px;
  font-size: 12px;
}

.audit-phone-info {
  width: 24px;
  height: 24px;
  min-height: 24px;
  padding: 0;
  border-color: rgba(201, 131, 32, 0.34);
  color: #8a5a15;
  background: #ffffff;
}

.audit-current-issue {
  display: grid;
  gap: 3px;
  min-width: 180px;
  padding: 8px 9px;
  border: 1px solid rgba(201, 131, 32, 0.34);
  border-left: 5px solid var(--amber);
  border-radius: 8px;
  background: #fff8ec;
  color: #5f3b00;
}

.audit-current-issue strong,
.audit-current-issue span,
.audit-current-issue small {
  display: block;
}

.audit-current-issue strong {
  color: #402600;
  font-size: 13px;
}

.audit-current-issue span,
.audit-current-issue small {
  font-size: 12px;
}

.audit-gas-card-table {
  min-width: 720px;
}

.audit-input {
  min-height: 32px;
  padding: 5px 7px;
  font-size: 13px;
}

.schedule-layout {
  grid-template-columns: minmax(0, 1fr) 340px;
}

.schedule-days {
  padding: 12px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 12px;
}

.schedule-day {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  overflow: hidden;
}

.schedule-day header {
  min-height: 52px;
  padding: 10px 12px;
  background: #f7fafb;
  border-bottom: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.schedule-day header strong,
.schedule-side-title strong,
.schedule-entry strong,
.schedule-side-rows strong {
  display: block;
  overflow-wrap: anywhere;
}

.schedule-day header span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  margin-top: 3px;
}

.schedule-day-badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 5px;
}

.schedule-day-summary {
  padding: 8px 12px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  border-bottom: 1px solid var(--line);
}

.schedule-entry-list {
  max-height: 420px;
  overflow: auto;
  display: grid;
  gap: 1px;
  background: #eef2f5;
}

.schedule-entry {
  min-height: 54px;
  padding: 9px 10px;
  background: #ffffff;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(88px, auto) 62px;
  align-items: center;
  gap: 8px;
  border-left: 4px solid transparent;
}

.schedule-entry.board-eligible {
  border-left-color: var(--teal);
}

.schedule-entry.lead-ops {
  border-left-color: var(--violet);
}

.schedule-entry span,
.schedule-entry em,
.schedule-entry small,
.schedule-side-rows span {
  color: var(--muted);
  font-size: 12px;
}

.schedule-entry em {
  font-style: normal;
  font-weight: 800;
}

.schedule-entry small {
  justify-self: end;
  font-weight: 800;
}

.schedule-side {
  display: grid;
  gap: 14px;
}

.schedule-side-list {
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
}

.schedule-side-title {
  padding: 9px 10px;
  background: #f7fafb;
  border-bottom: 1px solid var(--line);
  display: flex;
  justify-content: space-between;
  gap: 10px;
}

.schedule-side-title span {
  color: var(--muted);
  font-weight: 800;
}

.schedule-side-rows {
  max-height: 260px;
  overflow: auto;
  display: grid;
}

.schedule-side-rows > div {
  padding: 8px 10px;
  border-bottom: 1px solid #eef2f5;
}

.schedule-side-rows > div:last-child {
  border-bottom: 0;
}

.check-row {
  display: flex;
  align-items: center;
  gap: 10px;
}

.check-row label {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  color: var(--muted);
}

.list-editor {
  display: grid;
  gap: 8px;
}

.static-list-item {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  padding: 9px 10px;
  display: grid;
  gap: 3px;
}

.static-list-item strong {
  overflow-wrap: anywhere;
}

.static-list-item span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.list-editor-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(90px, 130px) 36px;
  gap: 6px;
}

.anchor-editor {
  gap: 10px;
}

.anchor-pair-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 36px;
  gap: 6px;
  align-items: stretch;
}

.anchor-drop-slot {
  min-height: 58px;
  border: 1px dashed #aebdc4;
  border-radius: 7px;
  padding: 7px;
  background: #fbfdfd;
  display: grid;
  align-content: center;
  gap: 5px;
}

.anchor-drop-slot.filled {
  border-style: solid;
  background: #ffffff;
}

.anchor-drop-slot.drag-over {
  border-color: var(--teal);
  background: #edf8f7;
}

.anchor-slot-label {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.log {
  display: grid;
  gap: 6px;
  max-height: 240px;
  overflow: auto;
  color: var(--muted);
  font-size: 12px;
}

.log-entry {
  border-left: 3px solid var(--teal);
  background: #f8fbfb;
  padding: 7px 9px;
}

.empty {
  color: var(--muted);
  padding: 14px;
  border: 1px dashed var(--line);
  border-radius: 8px;
  background: #fbfcfd;
}

.announcement {
  display: grid;
  gap: 10px;
}

.announcement-custom-field {
  margin-top: 12px;
}

.announcement-custom-field textarea {
  min-height: 220px;
}

.message-block {
  border-left: 4px solid var(--teal);
  background: #f8fbfb;
  padding: 11px;
  border-radius: 7px;
  line-height: 1.45;
}

.sync-alert {
  margin-bottom: 12px;
  padding: 11px 12px;
  border: 1px solid #d18b22;
  border-radius: 7px;
  background: #fff8ec;
  color: #5f3b00;
  font-size: 13px;
  font-weight: 800;
}

.settings-alert {
  margin-bottom: 12px;
  padding: 12px;
  border: 1px solid rgba(190, 68, 55, 0.32);
  border-radius: 7px;
  background: #fff4f3;
  color: var(--ink);
  display: grid;
  gap: 6px;
  font-size: 13px;
}

.settings-alert strong,
.settings-alert a {
  color: var(--red);
  font-weight: 900;
}

.users-admin-panel {
  display: grid;
  gap: 14px;
  margin-bottom: 16px;
}

.users-admin-panel h3 {
  margin: 0;
}

.application-settings-inner {
  max-width: 1240px;
}

.application-settings-panel {
  display: grid;
  gap: 0;
  padding: 0;
  overflow: hidden;
}

.application-settings-panel > .settings-category:not(:first-child) {
  border-top: 1px solid var(--line);
}

.settings-category-body {
  border-top: 1px solid var(--line);
  background: #f4f7f8;
}

.settings-category-body > .nested-settings-toggle {
  min-height: 58px;
  padding-left: 38px;
  background: #f8fafb;
}

.settings-category-body > .nested-settings-toggle:not(:first-child) {
  border-top: 1px solid var(--line);
}

.settings-category-body > .application-settings-section-body {
  padding-left: 44px;
  background: #ffffff;
}

.settings-category-toggle {
  min-height: 72px;
}

.settings-category-toggle strong {
  font-size: 16px;
}

.settings-empty-category {
  padding: 20px;
  background: #ffffff;
}

.application-settings-section-body {
  padding: 20px;
  border-top: 1px solid var(--line);
}

.application-settings-section-body > .settings-subsection {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.zl-application-settings-body {
  display: grid;
  gap: 12px;
}

.branding-settings-body {
  display: grid;
  gap: 18px;
}

.branding-company-field {
  width: min(100%, 480px);
}

.branding-logo-list {
  border-top: 1px solid var(--line);
}

.branding-logo-row {
  min-height: 132px;
  padding: 16px 0;
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  align-items: center;
  gap: 20px;
  border-bottom: 1px solid var(--line);
}

.branding-logo-preview {
  width: 190px;
  height: 100px;
  padding: 10px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #f5f7f8;
}

.branding-logo-preview img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.branding-logo-preview.favicon img {
  width: 64px;
  height: 64px;
}

.branding-logo-copy,
.branding-logo-copy > span {
  display: grid;
  gap: 6px;
}

.branding-logo-copy strong {
  color: var(--ink);
  font-size: 14px;
}

.branding-logo-copy em {
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 750;
}

.branding-logo-actions {
  margin-top: 8px;
}

.branding-upload-button {
  cursor: pointer;
}

.branding-upload-button input {
  display: none;
}

.branding-save-row {
  justify-content: flex-end;
}

.sling-integration-settings-body {
  display: grid;
  gap: 16px;
}

.sling-connection-status {
  display: flex;
  align-items: center;
  gap: 10px;
}

.sling-connection-status > span:last-child {
  display: grid;
  gap: 3px;
}

.sling-connection-status strong {
  color: var(--ink);
  font-size: 14px;
}

.sling-connection-status em {
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 750;
}

.sling-connection-indicator {
  width: 11px;
  height: 11px;
  flex: 0 0 11px;
  border-radius: 50%;
  background: #87939a;
  box-shadow: 0 0 0 3px rgb(135 147 154 / 15%);
}

.sling-connection-indicator.connected {
  background: var(--teal);
  box-shadow: 0 0 0 3px rgb(30 137 126 / 15%);
}

.sling-connection-indicator.warning {
  background: #d58b1b;
  box-shadow: 0 0 0 3px rgb(213 139 27 / 17%);
}

.sling-connection-indicator.disconnected {
  background: #b84b4b;
  box-shadow: 0 0 0 3px rgb(184 75 75 / 15%);
}

.sling-session-source {
  display: flex;
  align-items: center;
  min-height: 52px;
  width: min(100%, 620px);
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--panel-soft);
}

.sling-session-source > span {
  display: grid;
  gap: 3px;
}

.sling-session-source strong {
  color: var(--ink);
  font-size: 14px;
}

.sling-session-source em {
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 750;
}

.sling-account-setting {
  width: min(100%, 620px);
}

.sling-account-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
}

.sling-account-row .input[readonly] {
  background: var(--panel-soft);
  color: var(--muted);
}

.sling-account-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.sling-integration-actions {
  justify-content: flex-start;
}

.sling-integration-message {
  width: fit-content;
  max-width: 100%;
}

.manage-users-settings-body {
  display: grid;
  gap: 16px;
}

.manage-users-heading {
  margin: 0;
}

.manage-users-heading h3,
.manage-users-heading p {
  margin: 0;
}

.user-settings-inner {
  max-width: 760px;
}

.user-settings-panel {
  display: grid;
  gap: 0;
  max-width: 520px;
  padding: 0;
  overflow: hidden;
}

.settings-section-toggle {
  width: 100%;
  min-height: 64px;
  padding: 14px 16px;
  border: 0;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 10px;
  background: #ffffff;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}

.settings-section-toggle:hover {
  background: #f7fafc;
}

.user-settings-panel > .settings-section-toggle:not(:first-child) {
  border-top: 1px solid var(--line);
}

.settings-section-toggle .icon {
  width: 18px;
  height: 18px;
  color: var(--teal);
}

.settings-section-toggle span {
  display: grid;
  gap: 3px;
}

.settings-section-toggle strong {
  font-size: 15px;
  font-weight: 900;
}

.settings-section-toggle em {
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 750;
}

.settings-section-body {
  padding: 0 16px 16px 44px;
  border-top: 1px solid var(--line);
}

.appearance-settings-body {
  display: grid;
  gap: 12px;
  padding-top: 16px;
}

.appearance-settings-body .message-block {
  font-size: 13px;
  font-weight: 800;
}

.appearance-setting-row {
  min-height: 52px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
}

.appearance-setting-row > span {
  display: grid;
  gap: 3px;
}

.appearance-setting-row strong {
  color: var(--ink);
  font-size: 14px;
}

.appearance-setting-row em {
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 750;
}

.appearance-switch {
  width: 48px;
  height: 28px;
  padding: 3px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #dbe2e7;
  cursor: pointer;
  transition: background 160ms ease, border-color 160ms ease;
}

.appearance-switch-thumb {
  display: block;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #ffffff;
  box-shadow: 0 2px 6px rgba(23, 32, 38, 0.25);
  transition: transform 160ms ease;
}

.appearance-switch.is-on {
  border-color: var(--teal);
  background: var(--teal);
}

.appearance-switch.is-on .appearance-switch-thumb {
  transform: translateX(20px);
}

.default-home-page-body {
  display: grid;
  gap: 12px;
  padding-top: 16px;
}

.default-home-page-body .message-block {
  font-size: 13px;
  font-weight: 800;
}

.visible-pages-body {
  display: grid;
  gap: 14px;
  padding-top: 16px;
}

.visible-pages-body .message-block {
  font-size: 13px;
  font-weight: 800;
}

.visible-page-groups {
  display: grid;
  gap: 18px;
}

.visible-page-group {
  display: grid;
  gap: 7px;
}

.visible-page-group h3 {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.visible-page-list {
  display: grid;
  border-top: 1px solid var(--line);
}

.visible-page-row {
  min-height: 44px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 36px;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid var(--line);
  color: var(--ink);
  font-size: 14px;
  font-weight: 850;
}

.visible-page-row.child > span {
  padding-left: 22px;
  color: var(--muted);
}

.visible-page-row.is-hidden > span {
  color: var(--muted);
}

.visible-page-toggle {
  width: 36px;
  height: 36px;
  color: var(--teal);
}

.visible-page-row.is-hidden .visible-page-toggle {
  color: var(--muted);
  background: #f3f6f8;
}

.settings-section-grid {
  display: grid;
  gap: 14px;
}

.settings-section-panel {
  display: grid;
  gap: 0;
  padding: 0;
  overflow: hidden;
}

.zl-settings-panel .settings-section-body {
  display: grid;
  gap: 12px;
  padding: 16px;
}

.zl-settings-panel .message-block {
  margin-top: 2px;
}

.user-form-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  gap: 10px;
}

.password-status {
  display: block;
  margin-top: 6px;
  color: #8a5a00;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.access-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  min-width: 260px;
}

.check-pill {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 6px 9px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #ffffff;
  color: var(--ink);
  font-size: 12px;
  font-weight: 850;
}

.check-pill.disabled {
  color: var(--muted);
  background: #f3f6f8;
}

.check-pill input {
  width: auto;
  min-height: 0;
  margin: 0;
}

.check-pill span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.check-pill .icon {
  width: 15px;
  height: 15px;
}

.users-table-wrap table {
  min-width: 1120px;
}

.user-cell {
  display: grid;
  gap: 6px;
  min-width: 220px;
}

.user-cell span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
}

.user-row-actions {
  flex-wrap: nowrap;
}

.settings-subsection {
  display: grid;
  gap: 8px;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}

.settings-subsection h4 {
  margin: 0;
  color: var(--ink);
  font-size: 14px;
}

.settings-subsection-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.settings-repair-shop-table {
  overflow: auto;
}

.settings-repair-shop-table th:last-child,
.settings-repair-shop-table td:last-child {
  width: 52px;
  text-align: center;
}

.settings-fleet-lists {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.settings-list-directory {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.settings-list-card {
  min-height: 170px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfcfd;
}

.settings-list-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.settings-list-card-header strong {
  color: var(--ink);
  font-size: 14px;
}

.settings-list-card-header span {
  min-width: 28px;
  min-height: 24px;
  padding: 3px 8px;
  border-radius: 999px;
  background: #eef5f5;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-align: center;
}

.settings-list-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.settings-list-chip-row span {
  padding: 5px 8px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #ffffff;
  color: var(--ink);
  font-size: 12px;
  font-weight: 800;
}

.settings-list-chip-row em {
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
}

.repair-shop-directory {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 10px;
}

.repair-shop-card {
  display: grid;
  gap: 8px;
  min-height: 112px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfcfd;
}

.repair-shop-card strong,
.repair-shop-card span {
  display: block;
}

.repair-shop-card strong {
  color: var(--ink);
  font-size: 14px;
}

.repair-shop-card span {
  margin-top: 3px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
}

.repair-shop-contact {
  align-self: end;
}

.settings-list-panel {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.settings-list-field {
  align-content: start;
}

.settings-list-input {
  min-height: 220px;
  line-height: 1.35;
}

@media (max-width: 900px) {
  .settings-list-directory,
  .settings-list-panel,
  .user-form-grid {
    grid-template-columns: 1fr;
  }
}

.pad-time-row {
  align-items: end;
}

.pad-time-field {
  flex: 0 0 135px;
}

.setting-missing-field span {
  color: var(--red);
}

.setting-missing-field .input {
  border-color: var(--red);
  background: #fff4f3;
  box-shadow: 0 0 0 3px rgba(190, 68, 55, 0.12);
}

.lookup-result {
  display: grid;
  gap: 10px;
}

.lookup-card {
  display: grid;
  gap: 4px;
  padding: 11px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfcfd;
}

.lookup-card strong {
  color: var(--ink);
}

.lookup-card span,
.lookup-card small {
  color: var(--muted);
}

.lookup-card span {
  font-size: 13px;
  font-weight: 800;
}

.lookup-card small {
  font-size: 12px;
}

.pill-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.route-counts-inner {
  width: min(1800px, 100%);
}

.route-counts-header {
  align-items: center;
}

.route-counts-actions,
.route-count-range-controls,
.route-count-legend {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.route-count-range-controls {
  min-height: 38px;
  padding: 3px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f5f8fa;
}

.route-count-range-controls .command {
  min-height: 32px;
}

.route-count-range-label {
  min-width: 190px;
  padding: 0 8px;
  color: var(--ink);
  text-align: center;
  font-size: 13px;
  font-weight: 850;
  white-space: nowrap;
}

.route-count-refresh-control {
  min-width: 180px;
  display: grid;
  gap: 4px;
}

.route-count-refresh-control .command {
  width: 100%;
}

.route-count-last-update {
  color: var(--muted);
  font-size: 11px;
  font-weight: 750;
  line-height: 1.3;
  text-align: center;
}

.route-count-last-update.is-disconnected {
  color: var(--red);
}

.route-count-legend {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.route-count-legend > span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.route-count-legend-swatch {
  width: 12px;
  height: 12px;
  border: 1px solid rgba(23, 32, 38, 0.14);
  border-radius: 3px;
}

.route-count-legend-swatch.danger {
  background: #f4cccc;
}

.route-count-legend-swatch.warning {
  background: #ffe599;
}

.route-count-legend-swatch.good {
  background: #b7e1cd;
}

.route-counts-message {
  width: fit-content;
  margin-bottom: 12px;
}

.route-counts-sections {
  display: grid;
  gap: 16px;
}

.route-count-section {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
}

.route-count-section-header {
  min-height: 64px;
  padding: 12px 14px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 14px;
  border-bottom: 1px solid var(--line);
  background: #f7fafb;
}

.route-count-section-header.is-collapsed {
  border-bottom: 0;
}

.route-count-section-toggle {
  min-width: 150px;
  padding: 4px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}

.route-count-section-toggle:hover,
.route-count-section-toggle:focus-visible {
  background: #eaf0f3;
}

.route-count-section-toggle svg {
  flex: 0 0 auto;
}

.route-count-section-toggle span {
  display: grid;
  gap: 3px;
}

.route-count-section-toggle strong {
  font-size: 17px;
}

.route-count-section-toggle em {
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
  font-style: normal;
}

.route-count-expanded-tools {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 10px 18px;
}

.route-count-expanded-toolbar {
  min-height: 52px;
  padding: 10px 14px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  border-bottom: 1px solid var(--line);
  background: #fcfdfe;
}

.route-count-updated-through {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.route-count-updated-through .input {
  width: 154px;
  min-height: 34px;
}

.route-count-screenshot-upload {
  padding: 12px 14px;
  display: grid;
  gap: 10px;
  border-bottom: 1px solid var(--line);
  background: #fcfdfe;
}

.route-count-screenshot-upload-heading,
.route-count-screenshot-review-heading {
  display: flex;
  align-items: center;
  gap: 12px;
}

.route-count-screenshot-upload-heading {
  flex-wrap: wrap;
  justify-content: space-between;
}

.route-count-screenshot-review-heading {
  justify-content: space-between;
}

.route-count-screenshot-upload-heading > span,
.route-count-screenshot-review-heading {
  min-width: 0;
}

.route-count-screenshot-upload-heading > span {
  display: grid;
  gap: 3px;
  max-width: 600px;
  text-align: left;
}

.route-count-screenshot-upload-heading strong,
.route-count-screenshot-review-heading strong {
  color: var(--ink);
  font-size: 13px;
}

.route-count-screenshot-upload-heading em,
.route-count-screenshot-review-heading span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  font-style: normal;
}

.route-count-screenshot-message {
  width: fit-content;
}

.route-count-screenshot-review {
  display: grid;
  gap: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--line);
}

.route-count-screenshot-table-wrap {
  border-radius: 6px;
}

.route-count-screenshot-table {
  width: 100%;
  min-width: 560px;
}

.route-count-screenshot-table th,
.route-count-screenshot-table td {
  padding: 7px 9px;
  text-align: left;
}

.route-count-screenshot-table .input {
  width: 100%;
  min-width: 120px;
}

.route-count-screenshot-review-actions {
  justify-content: flex-end;
}

.route-count-screenshot-modal {
  width: min(1040px, 100%);
}

.route-count-screenshot-modal-body {
  padding: 16px 18px 18px;
  display: grid;
  gap: 14px;
}

.route-count-screenshot-modal-body > p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
}

.route-count-screenshot-example {
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #f7fafb;
}

.route-count-screenshot-example img {
  display: block;
  width: 100%;
  min-width: 840px;
  height: auto;
}

.route-count-screenshot-file-button {
  position: relative;
  overflow: hidden;
}

.route-count-screenshot-file-button input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.route-count-table-wrap {
  border: 0;
  border-radius: 0;
  overscroll-behavior-inline: contain;
}

.route-count-table {
  min-width: 2620px;
  table-layout: fixed;
}

.route-count-table th,
.route-count-table td {
  height: 42px;
  padding: 5px 6px;
  text-align: center;
}

.route-count-table .route-count-metric-heading,
.route-count-table tbody th {
  position: sticky;
  left: 0;
  width: 184px;
  min-width: 184px;
  max-width: 184px;
  text-align: left;
  border-right: 2px solid #cbd6dd;
}

.route-count-table .route-count-metric-heading {
  z-index: 9;
}

.route-count-table tbody th {
  z-index: 4;
  background: #f7fafb;
  color: #31414d;
  font-size: 12px;
  font-weight: 850;
}

.route-count-date-heading {
  width: 87px;
  min-width: 87px;
  max-width: 87px;
  padding: 5px 3px;
  text-align: center;
  text-transform: none;
}

.route-count-date-heading span,
.route-count-date-heading strong {
  display: block;
}

.route-count-date-heading span {
  color: var(--muted);
  font-size: 10px;
  text-transform: uppercase;
}

.route-count-date-heading strong {
  margin-top: 2px;
  color: inherit;
  font-size: 12px;
}

.route-count-date-heading.is-today {
  background: #dcebf3;
  box-shadow: inset 0 -3px 0 var(--blue);
}

.route-count-table .week-start {
  border-left: 3px solid #8798a3;
}

.route-count-row-staffing td {
  background: #f8fafb;
  color: #334550;
  font-weight: 800;
}

.route-count-input-cell {
  background: #f3f8fb;
}

.route-count-readonly-cell {
  color: #334550;
  font-weight: 800;
}

.route-count-readonly-cell span {
  display: inline-block;
  min-width: 36px;
}

.route-count-manual-staffing-cell {
  background: #fff8e8 !important;
}

.route-count-input {
  width: 62px;
  min-height: 31px;
  padding: 3px 4px;
  border: 1px solid #aebfca;
  border-radius: 6px;
  background: #ffffff;
  color: var(--ink);
  text-align: center;
  font-size: 13px;
  font-weight: 850;
}

.route-count-manual-staffing-input {
  border-color: #b77b16;
  border-style: dashed;
}

.route-count-input:focus {
  outline: 3px solid rgba(52, 111, 180, 0.18);
  border-color: var(--blue);
}

.route-count-row-calculated td,
.route-count-row-total td {
  font-weight: 850;
}

.route-count-row-total th,
.route-count-row-total td {
  border-top: 2px solid #a9b7c0;
}

.route-count-status-danger {
  background: #f4cccc !important;
  color: #7a2424 !important;
}

.route-count-status-warning {
  background: #ffe599 !important;
  color: #6e4c00 !important;
}

.route-count-status-good {
  background: #b7e1cd !important;
  color: #1b5c43 !important;
}

.route-count-weekly-row th,
.route-count-weekly-row td {
  border-top: 2px solid #8ba4a5;
  background: #edf5f4;
}

.route-count-weekly-row td strong,
.route-count-weekly-row td span {
  display: block;
}

.route-count-weekly-row td strong {
  color: #195b58;
  font-size: 16px;
}

.route-count-weekly-row td span {
  margin-top: 2px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 750;
}

.admin-uniform-requests-inner {
  width: min(1500px, 100%);
}

.admin-uniform-requests-header,
.admin-uniform-requests-actions {
  align-items: center;
}

.admin-uniform-requests-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

.admin-uniform-table {
  min-width: 1040px;
}

.admin-uniform-table th:first-child,
.admin-uniform-table td:first-child {
  width: 82px;
  text-align: center;
}

.admin-uniform-table th:nth-child(2) {
  width: 150px;
}

.admin-uniform-table th:nth-child(3) {
  width: 118px;
}

.admin-uniform-table th:nth-child(4) {
  width: 180px;
}

.admin-uniform-table th:nth-child(5) {
  width: 170px;
}

.admin-uniform-table th:last-child {
  width: 185px;
}

.admin-uniform-checkbox {
  width: 20px;
  height: 20px;
  margin: 0;
  accent-color: var(--green);
  cursor: pointer;
}

.admin-uniform-checkbox:disabled {
  cursor: wait;
}

.admin-uniform-request-content {
  transition: opacity 160ms ease;
}

.admin-uniform-request-row.fulfilled .admin-uniform-request-content {
  text-decoration: line-through;
  opacity: 0.52;
}

.admin-uniform-type {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 3px 8px;
  border: 1px solid #b8d7ca;
  border-radius: 6px;
  background: #edf8f2;
  color: #256448;
  font-size: 11px;
  font-weight: 850;
  white-space: nowrap;
}

.admin-uniform-type.existing-da {
  border-color: #bed1e5;
  background: #eef5fb;
  color: #315f8b;
}

.admin-uniform-request-details {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 14px;
}

.admin-uniform-request-details span {
  white-space: nowrap;
}

.admin-uniform-status {
  display: flex;
  flex-direction: column;
  gap: 2px;
  color: #2f6d48;
  font-size: 12px;
  font-weight: 800;
}

.admin-uniform-status.open {
  color: #8a5913;
}

.admin-uniform-status small {
  color: var(--muted);
  font-size: 10px;
  font-weight: 650;
}

.weekly-recap-inner {
  width: min(1640px, 100%);
}

.weekly-recap-page-header {
  align-items: center;
}

.weekly-recap-actions {
  justify-content: flex-end;
}

.weekly-recap-week-control {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.weekly-recap-week-control select {
  width: 230px;
}

.weekly-recap-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 210px;
  border: 1px solid #444c53;
  background: #343a40;
  color: #ffffff;
}

.weekly-recap-summary > div {
  min-height: 48px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 3px;
  padding: 7px 12px;
}

.weekly-recap-summary > div + div {
  border-left: 1px solid #59636b;
}

.weekly-recap-summary strong {
  font-size: 16px;
  line-height: 1;
}

.weekly-recap-summary span {
  color: #dce2e6;
  font-size: 12px;
  font-weight: 750;
}

.weekly-recap-helpers,
.weekly-recap-block {
  border: 1px solid var(--line);
  background: #ffffff;
}

.weekly-recap-helpers {
  margin-top: 10px;
}

.weekly-recap-section-title,
.weekly-recap-block-heading {
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 6px 10px;
  background: #343a40;
  color: #ffffff;
}

.weekly-recap-section-title h3,
.weekly-recap-block-heading h3,
.weekly-recap-site-heading h3 {
  margin: 0;
  font-size: 12px;
  letter-spacing: 0;
  text-transform: uppercase;
}

.weekly-recap-site + .weekly-recap-site {
  border-top: 2px solid #5c6870;
}

.weekly-recap-site-heading {
  min-height: 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 5px 10px;
  background: #2f6fa6;
  color: #ffffff;
}

.weekly-recap-site-xl .weekly-recap-site-heading {
  background: #27766f;
}

.weekly-recap-site-heading span {
  font-size: 11px;
  font-weight: 800;
}

.weekly-recap-site-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 220px;
  min-width: 0;
}

.weekly-recap-day-table-wrap,
.weekly-recap-disqualifier-table-wrap {
  border: 0;
  border-radius: 0;
}

.weekly-recap-day-table {
  min-width: 805px;
  table-layout: fixed;
}

.weekly-recap-day-table th,
.weekly-recap-disqualifier-table th {
  height: 28px;
  padding: 4px 5px;
  background: #e4eff8;
  color: #254f71;
  font-size: 10px;
  letter-spacing: 0;
  text-align: center;
  white-space: nowrap;
}

.weekly-recap-site-xl .weekly-recap-day-table th {
  background: #e2f0ed;
  color: #245b56;
}

.weekly-recap-day-table td,
.weekly-recap-disqualifier-table td {
  height: 28px;
  padding: 0;
}

.weekly-recap-name-input {
  width: 100%;
  min-height: 27px;
  border: 0;
  border-radius: 0;
  padding: 3px 6px;
  background: #ffffff;
  color: var(--ink);
  font-size: 11px;
  line-height: 1.2;
}

.weekly-recap-name-input:focus {
  position: relative;
  z-index: 2;
  outline: 2px solid var(--blue);
  outline-offset: -2px;
}

.weekly-recap-name-input.invalid-entry {
  background: #fff4f3;
  color: var(--red);
  outline: 2px solid var(--red);
  outline-offset: -2px;
}

.weekly-recap-totals {
  min-width: 0;
  border-left: 1px solid var(--line);
  background: #f8fafb;
  overflow: auto;
}

.weekly-recap-site-zl .weekly-recap-totals {
  max-height: 300px;
}

.weekly-recap-site-xl .weekly-recap-totals {
  max-height: 500px;
}

.weekly-recap-totals-heading,
.weekly-recap-total-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 42px;
  align-items: center;
}

.weekly-recap-totals-heading {
  min-height: 28px;
  background: #e9eef2;
  color: #31414d;
  font-size: 10px;
  font-weight: 850;
  text-transform: uppercase;
}

.weekly-recap-totals-heading > *,
.weekly-recap-total-row > * {
  padding: 4px 7px;
}

.weekly-recap-totals-heading > :last-child,
.weekly-recap-total-row > :last-child {
  border-left: 1px solid var(--line);
  text-align: center;
}

.weekly-recap-total-row {
  min-height: 26px;
  border-top: 1px dotted #c8d1d8;
  font-size: 11px;
}

.weekly-recap-total-row span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.weekly-recap-total-row strong {
  color: #244f70;
}

.weekly-recap-empty {
  margin: 0;
  padding: 14px 10px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
}

.weekly-recap-lower-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(380px, 0.45fr);
  gap: 10px;
  margin-top: 10px;
  align-items: start;
}

.weekly-recap-heading-yellow {
  background: #d9ab2d;
  color: #172026;
}

.weekly-recap-heading-orange {
  background: #d67a2f;
  color: #172026;
}

.weekly-recap-heading-orange .icon-button {
  border-color: rgba(23, 32, 38, 0.35);
  background: rgba(255, 255, 255, 0.48);
  color: #172026;
}

.weekly-recap-disqualifier-table-wrap {
  max-height: 470px;
}

.weekly-recap-disqualifier-table {
  min-width: calc(var(--recap-columns) * 145px);
  table-layout: fixed;
}

.weekly-recap-disqualifier-table th {
  background: #fbf0bf;
  color: #5e4a12;
}

.weekly-recap-anchor-table-wrap {
  border: 0;
  border-radius: 0;
}

.weekly-recap-anchor-table {
  min-width: 380px;
  table-layout: fixed;
}

.weekly-recap-anchor-table th:nth-child(1),
.weekly-recap-anchor-table td:nth-child(1) {
  width: 29%;
}

.weekly-recap-anchor-table th:nth-child(2),
.weekly-recap-anchor-table td:nth-child(2) {
  width: auto;
}

.weekly-recap-anchor-table th {
  background: #f8e0d0;
  color: #663a1a;
}

.weekly-recap-anchor-table th:nth-child(3),
.weekly-recap-anchor-table td:nth-child(3) {
  width: 94px;
}

.weekly-recap-anchor-table th:last-child,
.weekly-recap-anchor-table td:last-child {
  width: 48px;
  text-align: center;
}

.weekly-recap-anchor-table .input {
  min-height: 27px;
  padding: 3px 6px;
  font-size: 11px;
}

@media screen {
  html.dark-mode {
    color-scheme: dark;
    --ink: #edf3f6;
    --muted: #a8b6bf;
    --line: #3b4a53;
    --panel: #202a30;
    --paper: #12191d;
    --navy: #234852;
    --teal: #55b9b1;
    --blue: #72a5df;
    --green: #79ba85;
    --amber: #e1a34c;
    --red: #df7773;
    --violet: #aa98d0;
    --shadow: 0 14px 35px rgba(0, 0, 0, 0.3);
    background: var(--paper);
  }

  html.dark-mode body,
  html.dark-mode .app-shell,
  html.dark-mode .auth-shell {
    background: var(--paper);
    color: var(--ink);
  }

  html.dark-mode .topbar,
  html.dark-mode .user-menu,
  html.dark-mode .auth-card,
  html.dark-mode .band:not(.assignment-summary-band):not(.coming-soon-band),
  html.dark-mode .metric,
  html.dark-mode .panel,
  html.dark-mode .segmented-control,
  html.dark-mode .modal-card,
  html.dark-mode .table-wrap,
  html.dark-mode .rental-detail,
  html.dark-mode .fleet-type-option,
  html.dark-mode .issue-detail-list div,
  html.dark-mode .issue-next-step-entry,
  html.dark-mode .maintenance-issue-card,
  html.dark-mode .shop-plan-ron-notes,
  html.dark-mode .add-da-option,
  html.dark-mode .name-chip,
  html.dark-mode .drop-cell.filled,
  html.dark-mode .anchor-drop-slot.filled,
  html.dark-mode .assignment-card,
  html.dark-mode .audit-phone-info,
  html.dark-mode .schedule-day,
  html.dark-mode .schedule-entry,
  html.dark-mode .static-list-item,
  html.dark-mode .settings-section-toggle,
  html.dark-mode .check-pill,
  html.dark-mode .settings-list-chip-row span,
  html.dark-mode .fleet-issue-info,
  html.dark-mode .drag-handle,
  html.dark-mode .fleet-drag-preview,
  html.dark-mode .command.secondary,
  html.dark-mode .input,
  html.dark-mode select,
  html.dark-mode textarea {
    border-color: var(--line);
    background: #202a30;
    color: var(--ink);
  }

  html.dark-mode .settings-category-body {
    border-color: var(--line);
    background: #182126;
  }

  html.dark-mode .application-settings-section-body,
  html.dark-mode .settings-empty-category {
    background: #202a30;
  }

  html.dark-mode .command.needs-shop-command {
    border-color: #9b7134;
    background: #3a2f1f;
    color: #f0c985;
  }

  html.dark-mode .shop-plan-ron-notes span,
  html.dark-mode .shop-plan-ron-notes p {
    color: var(--ink);
  }

  html.dark-mode .nav-band {
    background: #172126;
    border-color: var(--line);
  }

  html.dark-mode .main-tab-button,
  html.dark-mode .segmented button {
    border-color: var(--line);
    background: #253138;
    color: var(--ink);
  }

  html.dark-mode .main-tab-button.active,
  html.dark-mode .nav-dropdown-item.active,
  html.dark-mode .segmented button.active,
  html.dark-mode .segmented-control button.active {
    border-color: #397b7a;
    background: #285f62;
    color: #ffffff;
  }

  html.dark-mode .nav-dropdown {
    border-color: var(--line);
    background: #202a30;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.34);
  }

  html.dark-mode .nav-dropdown-item {
    background: transparent;
    color: var(--ink);
  }

  html.dark-mode .nav-dropdown-item:hover,
  html.dark-mode .nav-dropdown-item:focus-visible {
    background: #2b3941;
  }

  html.dark-mode .nav-dropdown-item.active {
    background: #285f62;
    color: #ffffff;
  }

  html.dark-mode .nav-dropdown-group {
    border-left-color: #3b4a52;
  }

  html.dark-mode .session-status,
  html.dark-mode .user-badge,
  html.dark-mode .sync-status {
    border-color: var(--line);
    background: #263239;
    color: var(--ink);
  }

  html.dark-mode .sync-status.saved {
    border-color: #396f68;
    background: #19332f;
    color: #8ed3c9;
  }

  html.dark-mode .sync-status.saving,
  html.dark-mode .sync-alert,
  html.dark-mode .fleet-current-issue,
  html.dark-mode .audit-current-issue {
    border-color: #7f653b;
    background: #362c1d;
    color: #f0c77e;
  }

  html.dark-mode .fleet-current-issue strong,
  html.dark-mode .audit-current-issue strong,
  html.dark-mode .fleet-current-issue small {
    color: #f0c77e;
  }

  html.dark-mode .sync-status.issue,
  html.dark-mode .settings-alert,
  html.dark-mode .route-missing-cell,
  html.dark-mode .route-missing-chip,
  html.dark-mode .route-missing-drop,
  html.dark-mode .setting-missing-field .input,
  html.dark-mode .assignment-dropdown-input.invalid-entry,
  html.dark-mode .icon-button.danger {
    border-color: #7c4545;
    background: #372222;
    color: #f09a96;
  }

  html.dark-mode .signal,
  html.dark-mode .mini-list > div,
  html.dark-mode .core-dashboard-panel .panel-header,
  html.dark-mode .dashboard-legend div,
  html.dark-mode .panel-header,
  html.dark-mode .rental-detail,
  html.dark-mode .fleet-issue-history-card,
  html.dark-mode .add-da-panel,
  html.dark-mode .drag-pool,
  html.dark-mode .drop-cell,
  html.dark-mode .drag-list-drop,
  html.dark-mode .anchor-drop-slot,
  html.dark-mode .extras-category,
  html.dark-mode .audit-blank-body,
  html.dark-mode .schedule-entry-list,
  html.dark-mode .schedule-day header,
  html.dark-mode .schedule-side-title,
  html.dark-mode .empty,
  html.dark-mode .log-entry,
  html.dark-mode .message-block,
  html.dark-mode .branding-logo-preview,
  html.dark-mode .settings-list-card,
  html.dark-mode .repair-shop-card,
  html.dark-mode .lookup-card {
    border-color: var(--line);
    background: #192228;
    color: var(--ink);
  }

  html.dark-mode .assignment-board-panel,
  html.dark-mode .no-route-lists-panel,
  html.dark-mode .no-route-lists-panel > .panel-body,
  html.dark-mode .assignment-summary-band {
    border-color: #4b5962;
    background: #1b2429;
    color: var(--ink);
  }

  html.dark-mode .assignment-board-panel > .panel-header,
  html.dark-mode .no-route-lists-panel > .panel-header {
    border-bottom-color: #315c80;
    background: #234f73;
    color: #ffffff;
  }

  html.dark-mode .assignment-summary-band .metric,
  html.dark-mode .assignment-summary-band .signal {
    border-color: #4b5962;
    background: #263239;
    color: var(--ink);
  }

  html.dark-mode .coming-soon-band,
  html.dark-mode .core-dashboard-hero {
    border-color: var(--line);
    background: #19242a;
  }

  html.dark-mode .coming-soon-panel,
  html.dark-mode .coming-soon-panel p,
  html.dark-mode .dashboard-bar-label,
  html.dark-mode .published-display:is(:fullscreen, .is-published-fullscreen) .published-compact-van {
    color: var(--ink);
  }

  html.dark-mode .core-dashboard-metric {
    border-color: var(--line);
    background: #202b31;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.2);
  }

  html.dark-mode .core-dashboard-metric-icon,
  html.dark-mode .dashboard-bar-track,
  html.dark-mode .assignment-mode-toggle,
  html.dark-mode .command.is-disabled,
  html.dark-mode .visible-page-row.is-hidden .visible-page-toggle,
  html.dark-mode .check-pill.disabled,
  html.dark-mode .settings-list-card-header span {
    border-color: var(--line);
    background: #2a363d;
    color: var(--muted);
  }

  html.dark-mode .dashboard-donut {
    background:
      radial-gradient(circle at center, #202a30 0 58%, transparent 59%),
      conic-gradient(var(--green) 0 var(--ready-end), var(--amber) var(--ready-end) var(--attention-end), var(--red) var(--attention-end) 100%);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
  }

  html.dark-mode .dashboard-donut.is-empty {
    background:
      radial-gradient(circle at center, #202a30 0 58%, transparent 59%),
      conic-gradient(#4a5962 0 100%);
  }

  html.dark-mode .station-comparison-row.active,
  html.dark-mode .add-da-option.selected,
  html.dark-mode .name-chip.assigned,
  html.dark-mode .drop-cell.drag-over,
  html.dark-mode .drag-list-drop.drag-over,
  html.dark-mode .anchor-drop-slot.drag-over,
  html.dark-mode .drag-pool.drag-over,
  html.dark-mode .drag-chip-row.drag-over,
  html.dark-mode .extras-category-drop.drag-over {
    border-color: #498b85;
    background: #1b3633;
  }

  html.dark-mode .route-chip,
  html.dark-mode .route-pool {
    border-color: #665c83;
    background: #29243a;
    color: #d8cdef;
  }

  html.dark-mode .route-chip.assigned,
  html.dark-mode .route-chip.static-route,
  html.dark-mode .route-pool.drag-over,
  html.dark-mode .route-pool .drag-chip-row.drag-over,
  html.dark-mode .route-drop-cell.drag-over {
    border-color: #6d79a1;
    background: #252e45;
    color: #d5def7;
  }

  html.dark-mode th,
  html.dark-mode .app-shell.theme-applied th,
  html.dark-mode .published-display:is(:fullscreen, .is-published-fullscreen) .published-compact-header {
    border-color: var(--line);
    background: #2a373e;
    color: var(--ink);
  }

  html.dark-mode td,
  html.dark-mode th,
  html.dark-mode .schedule-side-rows > div,
  html.dark-mode .dashboard-watch-row,
  html.dark-mode .station-comparison-row {
    border-color: var(--line);
  }

  html.dark-mode .published-display .published-vehicle-panel tbody tr:nth-child(odd) td,
  html.dark-mode .published-display:is(:fullscreen, .is-published-fullscreen) .published-compact-row {
    border-color: var(--line);
    background: #202a30;
  }

  html.dark-mode .published-display .published-vehicle-panel tbody tr:nth-child(even) td,
  html.dark-mode .published-display:is(:fullscreen, .is-published-fullscreen) .published-compact-row:nth-child(even) {
    border-color: var(--line);
    background: #263239;
  }

  html.dark-mode .published-display:is(:fullscreen, .is-published-fullscreen) {
    background: var(--paper);
  }

  html.dark-mode tr.fleet-inoperable td,
  html.dark-mode tr.fleet-grounded td,
  html.dark-mode .fleet-row-grounded td {
    background: #332323;
  }

  html.dark-mode tr.fleet-operable td,
  html.dark-mode tr.fleet-functional td,
  html.dark-mode .fleet-row-active td,
  html.dark-mode .fleet-row-functional td,
  html.dark-mode .fleet-row-operable td {
    background: #1c2e29;
  }

  html.dark-mode .fleet-table-editing .fleet-input:hover,
  html.dark-mode .fleet-table-editing .fleet-input:focus {
    background: #2a373e;
  }

  html.dark-mode .fleet-table-editing .fleet-edit-row.is-dragging td,
  html.dark-mode .fleet-table-editing .fleet-edit-row.drag-over td {
    background: #1b3834 !important;
  }

  html.dark-mode .settings-section-toggle:hover,
  html.dark-mode .add-da-option:hover {
    background: #29363d;
  }

  html.dark-mode .appearance-switch {
    border-color: var(--line);
    background: #46545c;
  }

  html.dark-mode .appearance-switch.is-on {
    border-color: var(--teal);
    background: var(--teal);
  }

  html.dark-mode .appearance-switch-thumb {
    background: #f7fafb;
  }

  html.dark-mode .route-count-range-controls,
  html.dark-mode .route-count-section,
  html.dark-mode .route-count-section-header,
  html.dark-mode .route-count-table tbody th,
  html.dark-mode .route-count-row-staffing td,
  html.dark-mode .route-count-input-cell,
  html.dark-mode .route-count-input {
    border-color: var(--line);
    background: #202a30;
    color: var(--ink);
  }

  html.dark-mode .route-count-section-header,
  html.dark-mode .route-count-screenshot-upload,
  html.dark-mode .route-count-expanded-toolbar,
  html.dark-mode .route-count-table tbody th,
  html.dark-mode .route-count-row-staffing td {
    background: #192228;
  }

  html.dark-mode .route-count-screenshot-example {
    background: #202a30;
  }

  html.dark-mode .route-count-section-toggle:hover,
  html.dark-mode .route-count-section-toggle:focus-visible {
    background: #29363d;
  }

  html.dark-mode .route-count-manual-staffing-cell {
    background: #2c281d !important;
  }

  html.dark-mode .route-count-manual-staffing-input {
    border-color: #d3a54b;
  }

  html.dark-mode .route-count-table .week-start {
    border-left-color: #61727c;
  }

  html.dark-mode .route-count-date-heading.is-today {
    background: #263f4e;
    box-shadow: inset 0 -3px 0 var(--blue);
  }

  html.dark-mode .route-count-weekly-row th,
  html.dark-mode .route-count-weekly-row td {
    border-color: #4d6a6b;
    background: #1b3332;
  }

  html.dark-mode .route-count-weekly-row td strong {
    color: #8dd1ca;
  }

  html.dark-mode .route-count-status-danger {
    background: #4a2929 !important;
    color: #f2a09c !important;
  }

  html.dark-mode .route-count-status-warning {
    background: #4a3b20 !important;
    color: #f0c979 !important;
  }

  html.dark-mode .route-count-status-good {
    background: #1f4035 !important;
    color: #92d2b7 !important;
  }

  html.dark-mode .admin-uniform-type {
    border-color: #416b59;
    background: #1d3b30;
    color: #9fd4ba;
  }

  html.dark-mode .admin-uniform-type.existing-da {
    border-color: #405e79;
    background: #203548;
    color: #a9cae8;
  }

  html.dark-mode .admin-uniform-status {
    color: #9fd4ba;
  }

  html.dark-mode .admin-uniform-status.open {
    color: #efc27d;
  }

  html.dark-mode .weekly-recap-helpers,
  html.dark-mode .weekly-recap-block,
  html.dark-mode .weekly-recap-name-input,
  html.dark-mode .weekly-recap-totals {
    border-color: var(--line);
    background: #202a30;
    color: var(--ink);
  }

  html.dark-mode .weekly-recap-day-table th,
  html.dark-mode .weekly-recap-day-table td,
  html.dark-mode .weekly-recap-disqualifier-table th,
  html.dark-mode .weekly-recap-disqualifier-table td,
  html.dark-mode .weekly-recap-totals-heading > :last-child,
  html.dark-mode .weekly-recap-total-row > :last-child,
  html.dark-mode .weekly-recap-total-row {
    border-color: var(--line);
  }

  html.dark-mode .weekly-recap-summary {
    border-color: #59666e;
    background: #252e33;
  }

  html.dark-mode .weekly-recap-day-table th {
    background: #243d50;
    color: #b8d8ef;
  }

  html.dark-mode .weekly-recap-site-xl .weekly-recap-day-table th {
    background: #203f3c;
    color: #b4dfd8;
  }

  html.dark-mode .weekly-recap-totals-heading {
    background: #2a373e;
    color: var(--ink);
  }

  html.dark-mode .weekly-recap-total-row strong {
    color: #9bc7e6;
  }

  html.dark-mode .weekly-recap-disqualifier-table th {
    background: #493e20;
    color: #f1d987;
  }

  html.dark-mode .weekly-recap-name-input.invalid-entry {
    background: #4a2929;
    color: #f2a09c;
  }

  html.dark-mode .weekly-recap-anchor-table th {
    background: #493223;
    color: #f1c6a7;
  }
}

@media print {
  @page {
    size: letter landscape;
    margin: 0.25in;
  }

  * {
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }

  body {
    background: #ffffff;
  }

  .topbar,
  .nav-band,
  .section-header .action-row,
  datalist {
    display: none !important;
  }

  .content {
    padding: 0;
  }

  .band {
    border: 0;
    box-shadow: none;
  }

  .band-inner {
    width: 100%;
    max-width: none;
    padding: 0;
  }

  .weekly-recap-page .section-header {
    display: none;
  }

  .weekly-recap-summary {
    grid-template-columns: minmax(0, 1fr) 180px;
  }

  .weekly-recap-helpers,
  .weekly-recap-lower-grid {
    margin-top: 8px;
  }

  .weekly-recap-day-table-wrap,
  .weekly-recap-disqualifier-table-wrap {
    overflow: visible;
  }

  .weekly-recap-day-table {
    min-width: 700px;
  }

  .weekly-recap-name-input {
    font-size: 8px;
    line-height: 1.25;
  }

  .weekly-recap-site-layout {
    grid-template-columns: minmax(0, 1fr) 175px;
  }

  .weekly-recap-lower-grid {
    grid-template-columns: minmax(0, 1.35fr) minmax(330px, 0.65fr);
    gap: 8px;
  }

  .weekly-recap-total-row,
  .weekly-recap-totals-heading {
    font-size: 8px;
  }

  .section-header {
    margin-bottom: 6px;
  }

  .section-header h2 {
    font-size: 15px;
    line-height: 1.1;
  }

  .section-header p {
    font-size: 9px;
    margin-top: 2px;
  }

  .assignment-card,
  .panel {
    box-shadow: none !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .cards-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 5px;
  }

  .assignment-card {
    border-radius: 4px;
    padding: 4px 5px;
    gap: 2px;
    font-size: 8.5px;
    line-height: 1.12;
  }

  .assignment-card header {
    gap: 4px;
  }

  .assignment-card strong {
    font-size: 9.5px;
    line-height: 1.08;
  }

  .checklist-page .assignment-card .checklist-van-pill {
    min-width: 42px;
    min-height: 20px;
    padding: 2px 6px;
    font-size: 12px;
  }

  .assignment-card .category-pill,
  .assignment-card .status-pill,
  .checklist-list-row .category-pill,
  .checklist-list-panel .panel-header .category-pill {
    min-height: 15px;
    padding: 1px 5px;
    font-size: 7.5px;
  }

  .checklist-lists {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    margin-top: 8px;
  }

  .checklist-list-panel .panel-header {
    min-height: 24px;
    padding: 4px 6px;
  }

  .checklist-list-panel .panel-header h3 {
    font-size: 10px;
  }

  .checklist-list-panel .panel-body {
    padding: 4px 6px;
  }

  .checklist-list-row {
    gap: 5px;
    padding: 2px 0;
    font-size: 8.5px;
    line-height: 1.12;
  }

  .checklist-list-row small {
    font-size: 7.5px;
  }

  .check-row {
    gap: 5px;
  }

  .check-row label {
    gap: 3px;
    font-size: 8px;
  }

  input[type="checkbox"] {
    width: 9px;
    height: 9px;
  }
}

@media (max-width: 1080px) {
  .grid-2 {
    grid-template-columns: 1fr;
  }

  .core-dashboard-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .core-dashboard-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .metric-grid {
    grid-template-columns: repeat(3, minmax(150px, 1fr));
  }

  .weekly-recap-lower-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .topbar {
    grid-template-columns: 1fr;
    padding: 12px;
  }

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

  .edit-pools-sticky {
    top: 120px;
    max-height: 42vh;
  }

  .nav-band,
  .content {
    padding-left: 12px;
    padding-right: 12px;
  }

  .nav-menu {
    position: static;
  }

  .nav-dropdown,
  .nav-menu:nth-last-child(-n + 2) .nav-dropdown {
    top: calc(100% + 1px);
    right: auto;
    left: 12px;
    width: calc(100vw - 24px);
    min-width: 0;
    max-width: calc(100vw - 24px);
  }

  .brand img {
    width: 132px;
    height: 50px;
  }

  .metric-grid,
  .core-dashboard-grid,
  .core-dashboard-metrics,
  .grid-3 {
    grid-template-columns: 1fr;
  }

  .section-header {
    display: grid;
  }

  .core-dashboard-header {
    align-items: start;
  }

  .core-dashboard-station-toggle {
    width: 100%;
  }

  .core-dashboard-station-toggle button {
    flex: 1;
  }

  .core-dashboard-health-body,
  .station-comparison-row,
  .issue-detail-list {
    grid-template-columns: 1fr;
  }

  .station-ready-meter {
    width: 100%;
  }

  .schedule-entry {
    grid-template-columns: 1fr;
  }

  .schedule-entry small {
    justify-self: start;
  }

  .anchor-pair-row {
    grid-template-columns: minmax(0, 1fr) 36px;
  }

  .anchor-drop-slot {
    grid-column: 1 / -1;
  }

  .anchor-pair-row .icon-button {
    grid-column: 2;
  }

  .application-settings-section-body {
    padding: 14px;
  }

  .settings-empty-category {
    padding: 14px;
  }

  .settings-category-body > .nested-settings-toggle {
    padding-left: 18px;
  }

  .sling-account-row {
    grid-template-columns: 1fr;
  }

  .sling-account-actions .command {
    flex: 1;
  }

  .branding-logo-row {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .branding-logo-preview {
    width: 100%;
    height: 116px;
  }

  .branding-logo-actions,
  .branding-save-row {
    justify-content: stretch;
  }

  .branding-logo-actions .command,
  .branding-save-row .command {
    width: 100%;
  }

  .route-counts-actions,
  .route-count-range-controls,
  .route-count-refresh-control {
    width: 100%;
  }

  .route-count-range-controls {
    flex-wrap: nowrap;
  }

  .route-count-range-label {
    min-width: 0;
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .route-count-section-header,
  .route-count-updated-through {
    align-items: stretch;
  }

  .route-count-section-header {
    display: grid;
  }

  .route-count-section-toggle {
    width: 100%;
  }

  .route-count-expanded-tools {
    display: grid;
    justify-content: stretch;
    width: 100%;
  }

  .route-count-expanded-toolbar {
    justify-content: flex-start;
  }

  .route-count-screenshot-upload-heading,
  .route-count-screenshot-review-heading,
  .route-count-screenshot-review-actions,
  .route-count-screenshot-modal .modal-footer-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .route-count-screenshot-upload-heading .command,
  .route-count-screenshot-review-actions .command,
  .route-count-screenshot-modal .modal-footer-actions .command {
    width: 100%;
  }

  .route-count-screenshot-upload-heading > span {
    max-width: none;
    text-align: left;
  }

  .route-count-expanded-tools .route-count-legend {
    justify-content: flex-start;
  }

  .route-count-updated-through {
    display: grid;
  }

  .route-count-updated-through .input {
    width: 100%;
  }

  .route-count-table {
    min-width: 2310px;
  }

  .route-count-table .route-count-metric-heading,
  .route-count-table tbody th {
    width: 148px;
    min-width: 148px;
    max-width: 148px;
  }

  .route-count-date-heading {
    width: 76px;
    min-width: 76px;
    max-width: 76px;
  }

  .weekly-recap-page-header,
  .weekly-recap-actions {
    align-items: stretch;
  }

  .admin-uniform-requests-header,
  .admin-uniform-requests-actions {
    align-items: stretch;
  }

  .admin-uniform-requests-actions {
    width: 100%;
    justify-content: space-between;
  }

  .weekly-recap-actions,
  .weekly-recap-week-control {
    width: 100%;
  }

  .weekly-recap-week-control select {
    min-width: 0;
    width: auto;
    flex: 1;
  }

  .weekly-recap-summary {
    grid-template-columns: 1fr;
  }

  .weekly-recap-summary > div + div {
    border-top: 1px solid #59636b;
    border-left: 0;
  }

  .weekly-recap-site-layout {
    grid-template-columns: 1fr;
  }

  .weekly-recap-totals {
    max-height: 260px;
    border-top: 1px solid var(--line);
    border-left: 0;
  }
}

/* Incoming Vehicle Issues */
.incoming-vehicle-issues-page {
  min-width: 0;
}

.incoming-vehicle-header {
  align-items: flex-start;
}

.incoming-vehicle-header h3 {
  margin: 3px 0 0;
  letter-spacing: 0;
}

.incoming-vehicle-header p {
  margin: 5px 0 0;
  color: var(--muted);
}

.incoming-vehicle-table-wrap,
.action-plan-log-wrap {
  max-height: calc(100vh - 245px);
  border: 0;
  border-radius: 0;
}

.incoming-vehicle-table,
.action-plan-log-table {
  min-width: 980px;
}

.incoming-vehicle-table th,
.incoming-vehicle-table td,
.action-plan-log-table th,
.action-plan-log-table td {
  vertical-align: top;
}

.incoming-vehicle-table th:first-child,
.incoming-vehicle-table td:first-child {
  width: 160px;
}

.incoming-vehicle-table th:nth-child(2),
.incoming-vehicle-table td:nth-child(2),
.incoming-vehicle-table th:nth-child(5),
.incoming-vehicle-table td:nth-child(5) {
  width: 105px;
}

.incoming-vehicle-table th:nth-child(3),
.incoming-vehicle-table td:nth-child(3) {
  width: 165px;
}

.incoming-vehicle-table th:last-child,
.incoming-vehicle-table td:last-child {
  width: 150px;
  text-align: right;
}

.incoming-vehicle-description {
  min-width: 260px;
  max-width: 440px;
  white-space: pre-wrap;
}

.action-plan-log-table {
  min-width: 1500px;
}

.action-plan-log-table td small {
  display: block;
  max-width: 280px;
  margin-top: 4px;
  color: var(--muted);
  white-space: normal;
}

.vehicle-action-plan-modal {
  width: min(720px, calc(100vw - 28px));
  max-height: min(860px, calc(100vh - 28px));
  overflow: auto;
}

.vehicle-action-plan-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 18px;
  padding: 16px 20px;
  border-bottom: 1px solid var(--line);
  background: #f4f7f8;
}

.vehicle-action-plan-summary div {
  display: grid;
  gap: 3px;
}

.vehicle-action-plan-summary span,
.vehicle-action-plan-fields .field > small {
  color: var(--muted);
  font-size: 12px;
}

.vehicle-action-plan-summary p {
  grid-column: 1 / -1;
  margin: 4px 0 0;
  line-height: 1.5;
  white-space: pre-wrap;
}

.vehicle-action-plan-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 20px;
}

.vehicle-action-plan-next-steps {
  grid-column: 1 / -1;
}

.vehicle-action-plan-next-steps textarea {
  resize: vertical;
}

.vehicle-action-plan-modal > .settings-alert {
  margin: 0 20px 16px;
}

.vehicle-action-plan-modal > .modal-footer-actions {
  padding: 0 20px 20px;
}

@media screen {
  html.dark-mode .vehicle-action-plan-summary {
    background: #253138;
  }
}

@media (max-width: 760px) {
  .incoming-vehicle-header {
    align-items: stretch;
    flex-direction: column;
  }

  .incoming-vehicle-header .toolbar,
  .incoming-vehicle-header .command {
    width: 100%;
  }

  .vehicle-action-plan-summary,
  .vehicle-action-plan-fields {
    grid-template-columns: 1fr;
  }

  .vehicle-action-plan-summary p,
  .vehicle-action-plan-next-steps {
    grid-column: auto;
  }
}

@media (max-width: 620px) {
  .segmented-control.scorecard-tabs {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .segmented-control.scorecard-tabs button {
    min-width: 0;
  }
}

/* Scorecard workbook layout */
.scorecard-inner {
  gap: 10px;
}

.scorecard-page-header {
  padding-bottom: 2px;
}

.scorecard-workbook-tabs {
  display: flex;
  align-items: end;
  gap: 2px;
  overflow-x: auto;
  border-bottom: 1px solid #aeb7bc;
}

.scorecard-workbook-tabs button {
  min-width: 122px;
  min-height: 34px;
  padding: 7px 14px 6px;
  border: 1px solid #c3c9cd;
  border-bottom: 0;
  border-radius: 0;
  background: #eceff1;
  color: #4b555b;
  font: inherit;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0;
  white-space: nowrap;
  cursor: pointer;
}

.scorecard-workbook-tabs button.active {
  min-height: 36px;
  background: #ffffff;
  color: #111820;
  box-shadow: inset 0 3px #1f6f67;
}

.scorecard-sheet {
  min-width: 0;
  background: #ffffff;
  color: #111820;
}

.scorecard-sheet-title {
  min-height: 34px;
  padding: 8px 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #434343;
  background: #434343;
  color: #ffffff;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: 0;
  text-align: center;
}

.scorecard-sheet-toolbar {
  min-height: 42px;
  padding: 5px 0 7px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.scorecard-sheet-meta,
.scorecard-filters {
  display: flex;
  align-items: center;
  gap: 7px;
}

.scorecard-sheet-meta strong {
  font-size: 12px;
}

.scorecard-sheet-meta span {
  padding: 2px 6px;
  border-left: 3px solid #aab3b8;
  color: #58636a;
  font-size: 10px;
  font-weight: 800;
  white-space: nowrap;
}

.scorecard-sheet-meta .scorecard-tier-elite { border-color: #6aa84f; }
.scorecard-sheet-meta .scorecard-tier-fantastic { border-color: #3d85c6; }
.scorecard-sheet-meta .scorecard-tier-great { border-color: #f1c232; }
.scorecard-sheet-meta .scorecard-tier-poor { border-color: #cc0000; }

.scorecard-filters select,
.scorecard-filters .input {
  min-height: 34px;
  border-radius: 0;
  font-size: 12px;
}

.scorecard-table-wrap,
.scorecard-dotm-wrap,
.scorecard-modifier-wrap,
.scorecard-tier-ranges-wrap,
.scorecard-followup-wrap,
.scorecard-proofing-main-wrap,
.scorecard-proofing-review-wrap {
  border-radius: 0;
  box-shadow: none;
}

.scorecard-page table {
  border-collapse: collapse;
}

.scorecard-page .scorecard-table {
  min-width: 1340px;
  border: 2px solid #707070;
}

.scorecard-page .scorecard-table th,
.scorecard-page .scorecard-table td {
  height: 27px;
  padding: 4px 7px;
  border-right: 1px dotted #b7b7b7;
  border-bottom: 1px dotted #b7b7b7;
  background: #ffffff;
  color: #111820;
  font-size: 11px;
  font-weight: 500;
  text-align: center;
  white-space: nowrap;
}

.scorecard-page .scorecard-table thead th {
  height: 28px;
  border-bottom: 1px solid #777777;
  font-size: 10px;
}

.scorecard-page .scorecard-table .scorecard-group-row th {
  position: static;
  border-right: 2px solid #777777;
  color: #111820;
  font-size: 12px;
  font-weight: 900;
  text-align: center;
}

.scorecard-page .scorecard-table .scorecard-group-row th:nth-child(1) { background: #d9d9d9; }
.scorecard-page .scorecard-table .scorecard-group-row th:nth-child(2) { background: #f9cb9c; }
.scorecard-page .scorecard-table .scorecard-group-row th:nth-child(3) { background: #a2c4c9; }
.scorecard-page .scorecard-table thead tr:nth-child(2) th:nth-child(-n+4) { background: #f3f3f3; }
.scorecard-page .scorecard-table thead tr:nth-child(2) th:nth-child(n+5):nth-child(-n+11) { background: #fce5cd; }
.scorecard-page .scorecard-table thead tr:nth-child(2) th:nth-child(n+12) { background: #d0e0e3; }

.scorecard-page .scorecard-table th:nth-child(4),
.scorecard-page .scorecard-table td:nth-child(4),
.scorecard-page .scorecard-table th:nth-child(11),
.scorecard-page .scorecard-table td:nth-child(11) {
  border-right: 2px solid #777777;
}

.scorecard-page .scorecard-table th:first-child,
.scorecard-page .scorecard-table td:first-child {
  position: sticky;
  left: 0;
  z-index: 3;
  width: 48px;
  min-width: 48px;
  background: #f3f3f3;
}

.scorecard-page .scorecard-table th:nth-child(2),
.scorecard-page .scorecard-table td:nth-child(2) {
  position: sticky;
  left: 48px;
  z-index: 2;
  min-width: 150px;
  background: #ffffff;
  text-align: left;
}

.scorecard-page .scorecard-table thead th:first-child,
.scorecard-page .scorecard-table thead th:nth-child(2) {
  z-index: 5;
}

.scorecard-rank {
  color: #111820;
  font-weight: 700;
}

.scorecard-tier-cell {
  font-weight: 800 !important;
}

.scorecard-tier-cell.scorecard-tier-elite { color: #38761d; }
.scorecard-tier-cell.scorecard-tier-fantastic { color: #1155cc; }
.scorecard-tier-cell.scorecard-tier-great { color: #bf9000; }
.scorecard-tier-cell.scorecard-tier-poor { color: #cc0000; }

.scorecard-proofing {
  overflow-x: auto;
}

.scorecard-proofing-grid {
  min-width: 1390px;
  display: grid;
  grid-template-columns: minmax(1020px, 1fr) 350px;
  gap: 20px;
  align-items: start;
}

.scorecard-proofing-table,
.scorecard-proofing-review,
.scorecard-followup-table {
  width: 100%;
  border: 2px solid #707070;
}

.scorecard-proofing-table,
.scorecard-proofing-review {
  table-layout: fixed;
}

.scorecard-page .scorecard-proofing-review {
  min-width: 0;
}

.scorecard-page .scorecard-proofing-table th,
.scorecard-page .scorecard-proofing-table td,
.scorecard-page .scorecard-proofing-review th,
.scorecard-page .scorecard-proofing-review td,
.scorecard-page .scorecard-followup-table th,
.scorecard-page .scorecard-followup-table td {
  height: 27px;
  padding: 4px 6px;
  border-right: 1px dotted #b7b7b7;
  border-bottom: 1px dotted #b7b7b7;
  background: #ffffff;
  color: #111820;
  font-size: 11px;
  text-align: center;
  white-space: nowrap;
}

.scorecard-page .scorecard-proofing-groups th {
  background: #d9d9d9;
  font-size: 12px;
  font-weight: 900;
}

.scorecard-page .scorecard-proofing-groups th:nth-child(1) { border-right: 2px solid #777777; }
.scorecard-page .scorecard-proofing-groups th:nth-child(2) { background: #f9cb9c; border-right: 2px solid #777777; }
.scorecard-page .scorecard-proofing-groups th:nth-child(3) { background: #a2c4c9; }
.scorecard-page .scorecard-proofing-table thead tr:nth-child(2) th { background: #f3f3f3; }
.scorecard-page .scorecard-proofing-table th:nth-child(3),
.scorecard-page .scorecard-proofing-table td:nth-child(3),
.scorecard-page .scorecard-proofing-table th:nth-child(9),
.scorecard-page .scorecard-proofing-table td:nth-child(9) { border-right: 2px solid #777777; }
.scorecard-page .scorecard-proofing-table th:first-child,
.scorecard-page .scorecard-proofing-table td:first-child { width: 150px; text-align: left; }

.scorecard-page .scorecard-proofing-table th:nth-child(2),
.scorecard-page .scorecard-proofing-table td:nth-child(2) { width: 74px; }
.scorecard-page .scorecard-proofing-table th:nth-child(3),
.scorecard-page .scorecard-proofing-table td:nth-child(3) { width: 62px; }

.scorecard-page .scorecard-proofing-incentive-groups th {
  background: #dd7e6b;
  color: #ffffff;
  font-size: 12px;
  font-weight: 900;
}

.scorecard-page .scorecard-proofing-review thead tr:nth-child(2) th {
  background: #e6b8af;
}

.scorecard-page .scorecard-proofing-review td:first-child,
.scorecard-page .scorecard-proofing-review td:last-child {
  text-align: left;
}

.scorecard-page .scorecard-proofing-review td {
  overflow: hidden;
  text-overflow: ellipsis;
}

.scorecard-page .scorecard-proofing-review th:first-child,
.scorecard-page .scorecard-proofing-review td:first-child { width: 130px; }
.scorecard-page .scorecard-proofing-review th:nth-child(2),
.scorecard-page .scorecard-proofing-review td:nth-child(2) { width: 88px; }
.scorecard-page .scorecard-proofing-review select { width: 100%; min-width: 0; }

.scorecard-page .scorecard-proofing-review select,
.scorecard-page .scorecard-followup-table select {
  min-height: 25px;
  padding: 2px 22px 2px 5px;
  border-radius: 0;
  font-size: 11px;
}

.scorecard-followup-wrap {
  width: min(900px, 100%);
  margin-top: 26px;
}

.scorecard-page .scorecard-followup-table thead th {
  background: #d9d9d9;
  font-weight: 900;
}

.scorecard-page .scorecard-followup-table td:first-child {
  min-width: 210px;
  text-align: left;
}

.scorecard-followup-table td:first-child strong,
.scorecard-followup-table td:first-child small {
  display: block;
}

.scorecard-followup-table td:first-child small {
  margin-top: 2px;
  color: #666666;
  font-size: 9px;
}

.scorecard-followup-table .input {
  min-height: 27px;
  border-radius: 0;
  font-size: 11px;
}

.scorecard-page .scorecard-dotm-table {
  min-width: 1415px;
  width: 100%;
  table-layout: fixed;
  border: 2px solid #707070;
}

.scorecard-page .scorecard-dotm-table th,
.scorecard-page .scorecard-dotm-table td {
  height: 28px;
  padding: 3px 6px;
  border-right: 1px dotted #b7b7b7;
  border-bottom: 1px dotted #b7b7b7;
  background: #ffffff;
  color: #111820;
  font-size: 11px;
  text-align: left;
  white-space: nowrap;
}

.scorecard-page .scorecard-dotm-groups th {
  background: #d9d9d9;
  font-size: 12px;
  font-weight: 900;
  text-align: center;
}

.scorecard-page .scorecard-dotm-table thead tr:nth-child(2) th {
  background: #f3f3f3;
  font-weight: 900;
  text-align: center;
}

.scorecard-page .scorecard-dotm-table tbody th,
.scorecard-page .scorecard-dotm-table tbody td:nth-child(3),
.scorecard-page .scorecard-dotm-table tbody td:nth-child(n+11) {
  background: #f3f3f3;
}

.scorecard-page .scorecard-dotm-table th:nth-child(3),
.scorecard-page .scorecard-dotm-table td:nth-child(3),
.scorecard-page .scorecard-dotm-table th:nth-child(9),
.scorecard-page .scorecard-dotm-table td:nth-child(9),
.scorecard-page .scorecard-dotm-table th:last-child,
.scorecard-page .scorecard-dotm-table td:last-child {
  border-right: 2px solid #707070;
}

.scorecard-page .scorecard-dotm-table .scorecard-arrow {
  width: 34px;
  min-width: 34px;
  padding: 0;
  background: #e69138;
  color: #ffffff;
  font-weight: 900;
  text-align: center;
}

.scorecard-page .scorecard-dotm-table th:nth-child(10).scorecard-arrow,
.scorecard-page .scorecard-dotm-table td:nth-child(10).scorecard-arrow {
  background: #3d85c6;
}

.scorecard-page .scorecard-dotm-table select {
  width: 100%;
  min-width: 126px;
  min-height: 23px;
  padding: 1px 22px 1px 4px;
  border: 0;
  border-radius: 0;
  background-color: transparent;
  font-size: 11px;
}

.scorecard-option-total {
  width: 64px;
  text-align: center !important;
}

.scorecard-motherboard {
  position: relative;
  min-height: 720px;
  padding: 18px 22px 40px;
  overflow-x: auto;
  border: 1px solid #d0d0d0;
}

.scorecard-motherboard-status {
  position: absolute;
  top: 12px;
  right: 16px;
  color: #666666;
  font-size: 10px;
  font-weight: 800;
}

.scorecard-tier-ranges-wrap {
  width: 430px;
  margin-left: 65px;
  overflow: visible;
}

.scorecard-tier-ranges {
  min-width: 0;
  width: 100%;
  border: 2px solid #707070;
}

.scorecard-page .scorecard-tier-ranges th,
.scorecard-page .scorecard-tier-ranges td {
  height: 28px;
  padding: 4px 7px;
  border-right: 1px dotted #b7b7b7;
  border-bottom: 1px dotted #b7b7b7;
  background: #ffffff;
  color: #111820;
  font-size: 11px;
}

.scorecard-page .scorecard-tier-ranges thead tr:first-child th {
  background: #434343;
  color: #ffffff;
  font-size: 12px;
  font-weight: 800;
  text-align: left;
}

.scorecard-page .scorecard-tier-ranges thead tr:last-child th {
  background: #d9d9d9;
  font-weight: 700;
  text-align: left;
}

.scorecard-page .scorecard-tier-ranges td:nth-child(2) {
  background: #f3f3f3;
  text-align: right;
}

.scorecard-motherboard-arrow {
  width: 430px;
  margin: 3px 0 3px 65px;
  color: #434343;
  font-weight: 900;
  text-align: center;
}

.scorecard-modifier-wrap {
  width: 1040px;
  overflow: visible;
}

.scorecard-modifier-table {
  width: 100%;
  border: 2px solid #707070;
}

.scorecard-page .scorecard-modifier-table th,
.scorecard-page .scorecard-modifier-table td {
  height: 28px;
  padding: 3px 7px;
  border-right: 1px dotted #b7b7b7;
  border-bottom: 1px dotted #b7b7b7;
  background: #ffffff;
  color: #111820;
  font-size: 11px;
  white-space: nowrap;
}

.scorecard-page .scorecard-modifier-table thead th:nth-child(2),
.scorecard-page .scorecard-modifier-table thead th:nth-child(4) {
  background: #9fc5e8;
  color: #ffffff;
  font-size: 12px;
  font-weight: 800;
  text-align: left;
}

.scorecard-page .scorecard-modifier-table td:nth-child(1),
.scorecard-page .scorecard-modifier-table td:nth-child(5),
.scorecard-page .scorecard-modifier-table td:nth-child(6),
.scorecard-page .scorecard-modifier-table td:nth-child(10) {
  text-align: center;
}

.scorecard-page .scorecard-modifier-table td:nth-child(2),
.scorecard-page .scorecard-modifier-table td:nth-child(3),
.scorecard-page .scorecard-modifier-table td:nth-child(5),
.scorecard-page .scorecard-modifier-table td:nth-child(7),
.scorecard-page .scorecard-modifier-table td:nth-child(8),
.scorecard-page .scorecard-modifier-table td:nth-child(10) {
  background: #f3f3f3;
}

.scorecard-page .scorecard-modifier-table td:nth-child(4),
.scorecard-page .scorecard-modifier-table td:nth-child(9) {
  width: 105px;
  border-right: 2px solid #707070;
  background: #ffffff;
  text-align: center;
}

.scorecard-page .scorecard-modifier-section td:nth-child(2),
.scorecard-page .scorecard-modifier-section td:nth-child(3),
.scorecard-page .scorecard-modifier-section td:nth-child(7),
.scorecard-page .scorecard-modifier-section td:nth-child(8) {
  background: #cfe2f3;
}

.scorecard-page .scorecard-modifier-section td:nth-child(4),
.scorecard-page .scorecard-modifier-section td:nth-child(9) {
  background: #f4cccc;
}

.scorecard-cell-input {
  width: 100%;
  min-width: 64px;
  min-height: 22px;
  padding: 1px 4px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: center;
}

.scorecard-cell-input:not([readonly]):focus {
  outline: 2px solid #1a73e8;
  outline-offset: -1px;
  background: #ffffff;
}

.scorecard-page .scorecard-modifier-total td:nth-child(3),
.scorecard-page .scorecard-modifier-total td:nth-child(4),
.scorecard-page .scorecard-modifier-total td:nth-child(5) {
  border-top: 2px solid #707070;
  font-weight: 900;
  text-align: center;
}

@media screen {
  html.dark-mode .scorecard-workbook-tabs button.active,
  html.dark-mode .scorecard-sheet,
  html.dark-mode .scorecard-motherboard {
    background: #20282e;
    color: #edf2f4;
  }

  html.dark-mode .scorecard-workbook-tabs button {
    border-color: #4b585f;
    background: #303b41;
    color: #c9d2d7;
  }

  html.dark-mode .scorecard-page .scorecard-table td,
  html.dark-mode .scorecard-page .scorecard-proofing-table td,
  html.dark-mode .scorecard-page .scorecard-proofing-review td,
  html.dark-mode .scorecard-page .scorecard-followup-table td,
  html.dark-mode .scorecard-page .scorecard-dotm-table td,
  html.dark-mode .scorecard-page .scorecard-dotm-table tbody th,
  html.dark-mode .scorecard-page .scorecard-tier-ranges td,
  html.dark-mode .scorecard-page .scorecard-modifier-table td {
    border-color: #4b585f;
    background: #20282e;
    color: #edf2f4;
  }

  html.dark-mode .scorecard-page .scorecard-table td:first-child,
  html.dark-mode .scorecard-page .scorecard-table td:nth-child(2),
  html.dark-mode .scorecard-page .scorecard-dotm-table tbody td:nth-child(3),
  html.dark-mode .scorecard-page .scorecard-dotm-table tbody td:nth-child(n+11),
  html.dark-mode .scorecard-page .scorecard-modifier-table td:nth-child(2),
  html.dark-mode .scorecard-page .scorecard-modifier-table td:nth-child(3),
  html.dark-mode .scorecard-page .scorecard-modifier-table td:nth-child(5),
  html.dark-mode .scorecard-page .scorecard-modifier-table td:nth-child(7),
  html.dark-mode .scorecard-page .scorecard-modifier-table td:nth-child(8),
  html.dark-mode .scorecard-page .scorecard-modifier-table td:nth-child(10) {
    background: #273238;
  }
}

@media (max-width: 900px) {
  .scorecard-sheet-toolbar,
  .scorecard-sheet-meta {
    align-items: stretch;
    flex-direction: column;
  }

  .scorecard-sheet-meta {
    gap: 4px;
  }

  .scorecard-sheet-meta span {
    border-left: 0;
    padding-left: 0;
  }

  .scorecard-proofing-grid {
    grid-template-columns: 1020px 350px;
  }
}

@media (max-width: 620px) {
  .scorecard-workbook-tabs button {
    min-width: 110px;
  }

  .scorecard-filters {
    width: 100%;
  }

  .scorecard-filters label,
  .scorecard-filters .input,
  .scorecard-filters select {
    width: 100%;
  }

  .scorecard-motherboard {
    padding-left: 10px;
    padding-right: 10px;
  }

  .scorecard-tier-ranges-wrap,
  .scorecard-motherboard-arrow {
    margin-left: 0;
  }
}

@media print {
  .scorecard-page .scorecard-workbook-tabs,
  .scorecard-page .scorecard-message,
  .scorecard-page .scorecard-import-panel,
  .scorecard-page .scorecard-sheet-toolbar {
    display: none !important;
  }
}
