.mmr-form,
.mmr-slip,
.mmr-catalog {
  --mmr-ink: #20292d;
  --mmr-muted: #667277;
  --mmr-line: #dce3e6;
  --mmr-accent: #16705f;
  --mmr-soft: #e4f4f0;
  color: var(--mmr-ink);
}

.mmr-section {
  border: 1px solid var(--mmr-line);
  border-radius: 8px;
  margin: 0 0 24px;
  padding: 22px;
}

.mmr-section h2 {
  margin: 0 0 8px;
}

.mmr-section p {
  color: var(--mmr-muted);
  margin: 0 0 18px;
}

.mmr-field-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.mmr-field-grid label,
.mmr-card label,
.mmr-qty {
  display: grid;
  gap: 7px;
}

.mmr-field-grid span,
.mmr-qty span {
  font-weight: 700;
}

.mmr-field-grid input,
.mmr-field-grid textarea,
.mmr-field-grid select,
.mmr-qty input {
  border: 1px solid #cbd5d9;
  border-radius: 7px;
  padding: 11px 12px;
  width: 100%;
}

.mmr-wide {
  grid-column: 1 / -1;
}

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

.mmr-card {
  border: 1px solid var(--mmr-line);
  border-radius: 8px;
  padding: 10px;
}

.mmr-card:has(input[type="checkbox"]:checked) {
  background: var(--mmr-soft);
  border-color: var(--mmr-accent);
  box-shadow: 0 0 0 3px rgba(22, 112, 95, 0.13);
}

.mmr-card label:first-child {
  position: relative;
}

.mmr-card input[type="checkbox"] {
  position: absolute;
  right: 12px;
  top: 12px;
  height: 20px;
  width: 20px;
}

.mmr-photo {
  aspect-ratio: 4 / 3;
  background: linear-gradient(135deg, #f4f7f8, #dde8e8);
  background-position: center;
  background-size: cover;
  border: 1px solid #e7ecee;
  border-radius: 6px;
  display: block;
}

.mmr-card-copy {
  display: grid;
  gap: 4px;
  min-height: 110px;
}

.mmr-card-copy strong {
  font-size: 1rem;
}

.mmr-card-copy small {
  color: var(--mmr-accent);
  font-weight: 800;
  text-transform: uppercase;
}

.mmr-card-copy span {
  color: var(--mmr-muted);
  line-height: 1.4;
}

.mmr-catalog-heading {
  align-items: flex-start;
  display: flex;
  justify-content: space-between;
  gap: 16px;
}

.mmr-catalog h3 {
  border-top: 1px solid var(--mmr-line);
  margin: 24px 0 14px;
  padding-top: 20px;
}

.mmr-catalog h3:first-of-type {
  margin-top: 8px;
}

.mmr-admin-panel {
  border: 1px solid var(--mmr-line);
  border-radius: 8px;
  margin: 14px 0;
  padding: 16px;
}

.mmr-admin-panel h3 {
  border-top: 0;
  margin: 0 0 12px;
  padding-top: 0;
}

.mmr-inline-form {
  align-items: end;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
}

.mmr-inline-form label {
  display: grid;
  gap: 6px;
}

.mmr-inline-form label span {
  color: var(--mmr-ink);
  font-weight: 700;
}

.mmr-inline-form input[type="email"] {
  border: 1px solid #cbd5d9;
  border-radius: 7px;
  padding: 10px 11px;
  width: 100%;
}

.mmr-request-list {
  overflow-x: auto;
}

.mmr-link-button {
  border: 1px solid var(--mmr-accent);
  border-radius: 7px;
  color: var(--mmr-accent);
  display: inline-block;
  font-weight: 800;
  padding: 7px 10px;
  text-decoration: none;
  white-space: nowrap;
}

.mmr-request-status-form {
  display: grid;
  gap: 8px;
  min-width: 220px;
}

.mmr-request-status-form label {
  display: grid;
  gap: 5px;
}

.mmr-request-status-form label span {
  font-size: 12px;
  font-weight: 700;
}

.mmr-request-status-form input[type="text"] {
  border: 1px solid #cbd5d9;
  border-radius: 7px;
  padding: 8px 9px;
  width: 100%;
}

.mmr-request-fulfilled-check {
  align-items: center;
  display: flex !important;
  gap: 7px !important;
}

.mmr-request-fulfilled-check input {
  height: 16px;
  width: 16px;
}

.mmr-request-fulfilled {
  background: #f7fbfa;
}

.mmr-catalog-grid {
  margin-bottom: 8px;
}

.mmr-catalog-card {
  display: grid;
  gap: 12px;
}

.mmr-card-inactive {
  opacity: .68;
}

.mmr-catalog-card .mmr-card-copy {
  min-height: 0;
}

.mmr-default-qty {
  color: var(--mmr-ink) !important;
  font-weight: 700;
}

.mmr-kit-includes {
  border-top: 1px solid var(--mmr-line);
  color: var(--mmr-muted);
  padding-top: 10px;
}

.mmr-kit-includes strong {
  color: var(--mmr-ink);
  display: block;
  margin-bottom: 6px;
}

.mmr-kit-includes ul {
  margin: 0;
  padding-left: 18px;
}

.mmr-edit-panel {
  border-top: 1px solid var(--mmr-line);
  padding-top: 10px;
}

.mmr-create-panel {
  border: 1px solid var(--mmr-line);
  border-radius: 8px;
  margin: 12px 0;
  padding: 14px;
}

.mmr-create-panel[open] {
  background: #fbfdfd;
}

.mmr-create-panel summary,
.mmr-edit-panel summary {
  color: var(--mmr-accent);
  cursor: pointer;
  font-weight: 800;
}

.mmr-create-form,
.mmr-edit-panel form {
  display: grid;
  gap: 12px;
  margin-top: 12px;
}

.mmr-create-form label,
.mmr-edit-panel label {
  display: grid;
  gap: 6px;
}

.mmr-create-form label span,
.mmr-edit-panel label span,
.mmr-kit-edit-list strong {
  color: var(--mmr-ink);
  font-weight: 700;
}

.mmr-create-form input[type="text"],
.mmr-create-form input[type="number"],
.mmr-create-form textarea,
.mmr-create-form select,
.mmr-edit-panel input[type="text"],
.mmr-edit-panel input[type="number"],
.mmr-edit-panel textarea,
.mmr-edit-panel select {
  border: 1px solid #cbd5d9;
  border-radius: 7px;
  padding: 10px 11px;
  width: 100%;
}

.mmr-edit-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.mmr-edit-check {
  align-items: center;
  display: flex !important;
  gap: 8px !important;
  padding-top: 25px;
}

.mmr-edit-check input {
  height: 18px;
  width: 18px;
}

.mmr-kit-edit-list {
  border: 1px solid var(--mmr-line);
  border-radius: 7px;
  display: grid;
  gap: 8px;
  padding: 10px;
}

.mmr-kit-edit-list label {
  align-items: center;
  grid-template-columns: minmax(0, 1fr) 80px;
}

.mmr-qty {
  margin-top: 10px;
}

.mmr-primary,
.mmr-secondary,
.mmr-slip-toolbar button {
  background: var(--mmr-accent);
  border: 0;
  border-radius: 7px;
  color: #fff;
  cursor: pointer;
  font-weight: 800;
  padding: 12px 16px;
}

.mmr-secondary {
  padding: 9px 11px;
}

.mmr-notice {
  background: var(--mmr-soft);
  border: 1px solid #b9ddd5;
  border-radius: 8px;
  margin: 0 0 18px;
  padding: 14px;
}

.mmr-login-panel {
  --mmr-ink: #20292d;
  --mmr-muted: #667277;
  --mmr-line: #dce3e6;
  --mmr-accent: #16705f;
  border: 1px solid var(--mmr-line);
  border-radius: 8px;
  color: var(--mmr-ink);
  margin: 24px auto;
  max-width: 520px;
  padding: 24px;
}

.mmr-login-panel h2 {
  margin: 0 0 8px;
}

.mmr-login-panel p {
  color: var(--mmr-muted);
}

.mmr-login-panel label {
  display: grid;
  gap: 6px;
  font-weight: 700;
}

.mmr-login-panel input[type="text"],
.mmr-login-panel input[type="password"] {
  border: 1px solid #cbd5d9;
  border-radius: 7px;
  padding: 11px 12px;
  width: 100%;
}

.mmr-login-panel input[type="submit"] {
  background: var(--mmr-accent);
  border: 0;
  border-radius: 7px;
  color: #fff;
  cursor: pointer;
  font-weight: 800;
  padding: 12px 16px;
}

.mmr-print-document {
  background: #f1f4f5;
  margin: 0;
}

.mmr-print-document-wrap {
  margin: 24px auto;
  max-width: 8in;
  padding: 0 16px;
}

.mmr-slip {
  background: #fff;
  border: 1px solid var(--mmr-line);
  border-radius: 8px;
  box-sizing: border-box;
  margin: 0 auto;
  max-width: 7.5in;
  padding: 24px;
  width: 100%;
}

.mmr-slip-toolbar {
  align-items: center;
  border-bottom: 1px solid var(--mmr-line);
  display: flex;
  justify-content: space-between;
  margin-bottom: 18px;
  padding-bottom: 14px;
}

.mmr-slip-toolbar p {
  color: var(--mmr-accent);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  margin: 0 0 4px;
  text-transform: uppercase;
}

.mmr-slip-toolbar h2 {
  margin: 0;
}

.mmr-slip-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 20px;
}

.mmr-slip-grid div {
  border-bottom: 1px solid var(--mmr-line);
  padding-bottom: 8px;
}

.mmr-slip-grid strong {
  color: var(--mmr-muted);
  display: block;
  font-size: 12px;
  text-transform: uppercase;
}

.mmr-tracking-box {
  border: 1px solid var(--mmr-line);
  border-radius: 8px;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
  padding: 12px 14px;
}

.mmr-tracking-box strong {
  color: var(--mmr-muted);
  font-size: 12px;
  text-transform: uppercase;
}

.mmr-tracking-box span {
  font-weight: 800;
}

.mmr-moss-slip {
  font-family: Arial, Helvetica, sans-serif;
}

.mmr-slip-logo {
  display: block;
  height: auto;
  margin: 0 auto 8px;
  max-width: 260px;
}

.mmr-slip-header h1 {
  font-size: 34px;
  letter-spacing: 0;
  margin: 0 0 16px;
  text-align: center;
}

.mmr-slip-header-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 220px;
  gap: 20px;
  margin-bottom: 16px;
}

.mmr-slip-header-grid div {
  display: grid;
  gap: 3px;
}

.mmr-template-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 16px;
}

.mmr-template-box {
  border: 1px solid #111;
  padding: 10px;
}

.mmr-template-box h2 {
  font-size: 14px;
  margin: 0 0 8px;
  text-transform: uppercase;
}

.mmr-template-box dl {
  display: grid;
  gap: 6px;
  margin: 0;
}

.mmr-template-box dl div {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 8px;
}

.mmr-template-box dt {
  font-weight: 700;
}

.mmr-template-box dd {
  border-bottom: 1px solid #111;
  margin: 0;
  min-height: 18px;
}

.mmr-slip-template-table,
.mmr-slip-loaner-table,
.mmr-slip-signature-table {
  border-collapse: collapse;
  margin-bottom: 12px;
  table-layout: fixed;
  width: 100%;
}

.mmr-slip-template-table th,
.mmr-slip-template-table td,
.mmr-slip-loaner-table th,
.mmr-slip-loaner-table td,
.mmr-slip-signature-table th,
.mmr-slip-signature-table td {
  border: 1px solid #111;
  padding: 6px;
  text-align: left;
  vertical-align: top;
}

.mmr-slip-template-table th,
.mmr-slip-loaner-table th,
.mmr-slip-signature-table th {
  background: #e7e7e7;
  font-weight: 800;
  text-align: center;
}

.mmr-slip-template-table th span {
  font-weight: 400;
}

.mmr-slip-template-table td:first-child,
.mmr-slip-template-table td:nth-child(2),
.mmr-slip-template-table td:nth-child(3),
.mmr-slip-template-table td:nth-child(4),
.mmr-checkbox-cell {
  text-align: center;
}

.mmr-slip-template-table td span {
  display: block;
  margin-top: 3px;
}

.mmr-slip-template-table ul {
  margin: 4px 0 0;
  padding-left: 18px;
}

.mmr-template-line {
  width: 8%;
}

.mmr-template-qty,
.mmr-template-unit {
  width: 7%;
}

.mmr-template-sample {
  width: 13%;
}

.mmr-template-description {
  width: 39%;
}

.mmr-template-regulated {
  width: 26%;
}

.mmr-slip-loaner-table th {
  width: 24%;
}

.mmr-slip-certification {
  margin: 0 0 8px;
}

.mmr-slip-signature-table th {
  width: 24%;
}

.mmr-slip-signature-table td {
  height: 26px;
}

.mmr-slip-shipping-box {
  border: 1px solid #111;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin-top: 14px;
}

.mmr-slip-shipping-box div {
  border-bottom: 1px solid #111;
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  min-height: 28px;
}

.mmr-slip-shipping-box .mmr-weight-row {
  grid-template-columns: 150px minmax(0, 1fr) 42px;
}

.mmr-slip-shipping-box div:nth-last-child(-n+2) {
  border-bottom: 0;
}

.mmr-slip-shipping-box strong,
.mmr-slip-shipping-box span {
  padding: 6px;
}

.mmr-slip-shipping-box strong {
  background: #f2f2f2;
}

.mmr-slip-shipping-box em {
  font-style: normal;
  padding: 6px;
}

.mmr-write-line {
  border-bottom: 1px solid #111;
  min-height: 20px;
}

.mmr-items-table {
  border-collapse: collapse;
  table-layout: auto;
  width: 100%;
}

.mmr-items-table th,
.mmr-items-table td {
  border-bottom: 1px solid var(--mmr-line);
  padding: 10px;
  text-align: left;
  vertical-align: top;
}

.mmr-items-table th {
  background: #f5f8f8;
  font-size: 12px;
  text-transform: uppercase;
}

.mmr-items-table ul {
  margin: 8px 0 0;
}

@media (max-width: 900px) {
  .mmr-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .mmr-field-grid,
  .mmr-card-grid,
  .mmr-slip-grid,
  .mmr-edit-grid,
  .mmr-inline-form,
  .mmr-slip-header-grid,
  .mmr-template-grid,
  .mmr-slip-shipping-box {
    grid-template-columns: 1fr;
  }

  .mmr-edit-check {
    padding-top: 0;
  }

  .mmr-wide {
    grid-column: auto;
  }
}

@page {
  size: letter;
  margin: .25in;
}

@media print {
  *,
  *::before,
  *::after {
    box-sizing: border-box !important;
  }

  html,
  body {
    background: #fff !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .mmr-print-document-wrap {
    margin: 0 !important;
    max-width: none !important;
    padding: 0 !important;
  }

  .mmr-slip {
    box-sizing: border-box;
    display: block;
    margin: 0 !important;
    max-width: none !important;
    position: static;
    overflow: visible !important;
    width: 100% !important;
  }

  .mmr-form,
  .mmr-slip-toolbar button {
    display: none;
  }

  .mmr-slip {
    border: 0;
    color: #000;
    font-size: 8pt;
    line-height: 1.08;
    padding: 0;
  }

  .mmr-moss-slip {
    font-family: Arial, Helvetica, sans-serif;
  }

  .mmr-slip-toolbar {
    display: none;
  }

  .mmr-slip-header h1 {
    font-size: 18pt;
    margin-bottom: 5px;
  }

  .mmr-slip-logo {
    margin-bottom: 2px;
    max-width: 1.65in;
  }

  .mmr-slip-header-grid {
    grid-template-columns: minmax(0, 1fr) 1.65in;
    gap: .16in;
    margin-bottom: 5px;
  }

  .mmr-template-grid {
    gap: .1in;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 5px;
  }

  .mmr-template-box {
    padding: 3px 4px;
  }

  .mmr-template-box h2 {
    font-size: 8.5pt;
    margin-bottom: 4px;
  }

  .mmr-template-box dl {
    gap: 1px;
  }

  .mmr-template-box dl div {
    grid-template-columns: .7in minmax(0, 1fr);
    gap: 3px;
  }

  .mmr-template-box dd {
    min-height: 10px;
  }

  .mmr-slip-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px 10px;
    margin-bottom: 6px;
  }

  .mmr-slip-grid div {
    padding-bottom: 4px;
  }

  .mmr-slip-grid strong,
  .mmr-items-table th {
    font-size: 7pt;
  }

  .mmr-items-table th,
  .mmr-items-table td {
    box-sizing: border-box;
    overflow-wrap: anywhere;
    padding: 3px 4px;
    word-break: normal;
  }

  .mmr-slip .mmr-items-table {
    table-layout: fixed;
    width: 100%;
  }

  .mmr-slip .mmr-col-item {
    width: 60%;
  }

  .mmr-slip .mmr-col-type {
    width: 14%;
  }

  .mmr-slip .mmr-col-qty {
    width: 8%;
  }

  .mmr-slip .mmr-col-packed {
    width: 18%;
  }

  .mmr-slip .mmr-items-table th:nth-child(3),
  .mmr-slip .mmr-items-table td:nth-child(3),
  .mmr-slip .mmr-items-table th:last-child,
  .mmr-slip .mmr-items-table td:last-child {
    text-align: center;
  }

  .mmr-items-table ul {
    display: none;
  }

  .mmr-items-table td span {
    display: none;
  }

  .mmr-items-table input[type="checkbox"] {
    height: 12px;
    width: 12px;
  }

  .mmr-tracking-box {
    border-radius: 0;
    margin-bottom: 8px;
    padding: 7px 8px;
  }

  .mmr-slip-template-table,
  .mmr-slip-loaner-table,
  .mmr-slip-signature-table {
    margin-bottom: 4px;
    table-layout: fixed;
    width: 100%;
  }

  .mmr-slip-template-table th,
  .mmr-slip-template-table td,
  .mmr-slip-loaner-table th,
  .mmr-slip-loaner-table td,
  .mmr-slip-signature-table th,
  .mmr-slip-signature-table td {
    box-sizing: border-box;
    font-size: 7pt;
    overflow-wrap: anywhere;
    padding: 2px 3px;
  }

  .mmr-slip-template-table th {
    font-size: 6.8pt;
  }

  .mmr-slip-template-table ul {
    display: none;
  }

  .mmr-template-line {
    width: 7%;
  }

  .mmr-template-qty,
  .mmr-template-unit {
    width: 7%;
  }

  .mmr-template-sample {
    width: 13%;
  }

  .mmr-template-description {
    width: 43%;
  }

  .mmr-template-regulated {
    width: 23%;
  }

  .mmr-slip-certification {
    margin: 0 0 3px;
  }

  .mmr-slip-signature-table td {
    height: 15px;
  }

  .mmr-slip-shipping-box {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 5px;
  }

  .mmr-slip-shipping-box div {
    grid-template-columns: 1.15in minmax(0, 1fr);
    min-height: 15px;
  }

  .mmr-slip-shipping-box .mmr-weight-row {
    grid-template-columns: 1.15in minmax(0, 1fr) .35in;
  }

  .mmr-slip-shipping-box strong,
  .mmr-slip-shipping-box span,
  .mmr-slip-shipping-box em {
    padding: 2px 3px;
  }
}
