:root {
  --ink: #172033;
  --muted: #657187;
  --line: #dbe2ea;
  --surface: #ffffff;
  --soft: #f3f6f9;
  --page-bg: #edf2f7;
  --tabs-bg: #e8eef5;
  --tab-bg: #f8fafc;
  --nav: #14213a;
  --nav-2: #1f3152;
  --accent: #0f8b8d;
  --accent-2: #e9b44c;
  --danger: #c0392b;
  --ok: #237a57;
  font-family: Inter, Segoe UI, Arial, sans-serif;
}

/* 0.1361: Mixing hesaplayıcısı, danışma düzenleme işlemleri ve ortak mobil kaydırma. */
@media screen {
  .mixing-mode-row {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 24px 0;
  }

  .mixing-mode-row label {
    display: grid;
    gap: 7px;
    width: min(360px, 100%);
    margin: 0;
    font-weight: 850;
  }

  .mixing-mode-row select {
    min-height: 44px;
  }

  .mixing-mode-row button {
    min-height: 44px;
    white-space: nowrap;
  }

  .delivery-note-products-button {
    justify-self: start !important;
    align-self: center;
    width: auto !important;
    min-width: 96px;
    min-height: 34px !important;
    padding: 7px 12px !important;
    border-radius: 7px !important;
    white-space: nowrap;
  }

  .consultant-call-list .consultant-list-head,
  .consultant-call-list .consultant-list-row {
    grid-template-columns: minmax(150px, 1fr) minmax(180px, 1.2fr) 130px 100px minmax(180px, 1fr) 140px;
  }

  .consultant-visitor-list .consultant-list-head,
  .consultant-visitor-list .consultant-list-row {
    grid-template-columns: 135px 100px minmax(220px, 1fr) minmax(200px, 1fr) 140px;
  }

  .consultant-cargo-list .consultant-list-head,
  .consultant-cargo-list .consultant-list-row {
    grid-template-columns: 135px 100px minmax(160px, .8fr) minmax(190px, 1fr) minmax(190px, 1fr) 140px;
  }

  .consultant-record-actions {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-width: 0;
    padding: 5px !important;
  }

  .consultant-record-edit-button {
    flex: 1 1 auto;
    width: auto !important;
    min-width: 0 !important;
    padding: 7px 8px !important;
  }

  .consultant-record-actions .sample-delete-button {
    flex: 0 0 34px;
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
  }

  .consultant-record-edit-modal {
    width: min(760px, calc(100vw - 28px));
  }

  .consultant-record-edit-modal form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 18px;
  }

  .consultant-record-edit-modal .wide,
  .consultant-record-edit-modal footer {
    grid-column: 1 / -1;
  }

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

  .mixing-calculator {
    overflow: hidden;
    background: #fff;
  }

  .mixing-title {
    padding: 16px 20px;
    background: #1f2937;
    color: #fff;
    font-size: 22px;
    font-weight: 900;
    text-align: center;
  }

  .mixing-grid {
    display: grid;
    gap: 24px;
    padding: 24px;
  }

  .mixing-card {
    display: grid;
    grid-template-columns: minmax(680px, 1.55fr) minmax(360px, .75fr);
    gap: 24px;
    align-items: start;
  }

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

  .mixing-single-card > h3,
  .mixing-single-card .mixing-table-scroll,
  .mixing-single-card .mixing-result-box {
    grid-column: 1;
  }

  .mixing-single-card .mixing-result-box {
    grid-row: auto;
  }

  .mixing-card > h3,
  .mixing-index-card > h3,
  .mixing-independent-card > h3 {
    margin: 0;
    padding: 13px 16px;
    background: #137d75;
    color: #fff;
    font-size: 18px;
    font-weight: 900;
    text-align: center;
  }

  .mixing-card > h3 {
    grid-column: 1;
  }

  .mixing-table-scroll {
    grid-column: 1;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
  }

  .mixing-table {
    width: 100%;
    min-width: 680px;
    border-collapse: collapse;
    table-layout: fixed;
  }

  .mixing-table th,
  .mixing-table td {
    height: 38px;
    padding: 5px 8px;
    border: 1px solid #1f2937;
    text-align: center;
  }

  .mixing-table thead th,
  .mixing-table tfoot th {
    background: #e5e7eb !important;
    color: #172033 !important;
    font-weight: 900;
  }

  .mixing-table input {
    width: 100%;
    min-width: 0;
    min-height: 30px;
    padding: 4px 6px;
    border: 0;
    border-radius: 0;
    background: #fff8ef;
    text-align: center;
  }

  .mixing-table tfoot td:nth-last-child(2),
  .mixing-table [data-mixing-total],
  .mixing-result-box strong,
  .mixing-index-grid strong {
    background: #d9fbe5;
    color: #126b36;
    font-weight: 900;
  }

  .mixing-result-box {
    grid-column: 2;
    grid-row: 1 / span 2;
    display: grid;
    border: 1px solid #1f2937;
  }

  .mixing-result-box h4 {
    margin: 0;
    padding: 13px 12px;
    background: #8d3516;
    color: #fff;
    font-size: 17px;
    text-align: center;
  }

  .mixing-result-box > div,
  .mixing-index-grid > div {
    display: grid;
    grid-template-columns: minmax(190px, 1fr) minmax(130px, .75fr);
  }

  .mixing-result-box span,
  .mixing-result-box strong,
  .mixing-index-grid > div span,
  .mixing-index-grid > div strong {
    min-height: 38px;
    padding: 8px 10px;
    border-top: 1px solid #1f2937;
  }

  .mixing-index-card,
  .mixing-independent-card {
    margin: 0 24px 24px;
    border: 1px solid #1f2937;
  }

  .mixing-index-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .mixing-index-grid label,
  .mixing-index-grid > div {
    display: grid;
    grid-template-columns: minmax(150px, 1fr) minmax(130px, 1fr);
    align-items: center;
    min-height: 44px;
    margin: 0;
    padding-left: 10px;
    border: 1px solid #1f2937;
    font-weight: 850;
  }

  .mixing-index-grid input {
    height: 100%;
    border: 0;
    border-left: 1px solid #1f2937;
    border-radius: 0;
    background: #d9fbe5;
    text-align: center;
  }

  .mixing-index-status {
    grid-column: 1 / -1;
    min-height: 0;
    margin: 0;
    padding: 0;
    color: var(--danger);
    font-weight: 800;
    text-align: center;
  }

  .mixing-independent-table {
    min-width: 1040px;
  }
}

@media screen and (max-width: 760px) and (pointer: coarse) {
  .mixing-mode-row {
    align-items: stretch;
    flex-direction: column;
    padding: 14px 12px 0;
  }

  .mixing-mode-row label {
    width: 100%;
  }

  .mobile-horizontal-scroll-host {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: visible;
    overscroll-behavior-inline: contain;
    touch-action: pan-x pan-y !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }

  .mobile-horizontal-scroll-host > table {
    width: max-content !important;
    min-width: 100% !important;
    max-width: none !important;
  }

  .consultant-call-list .consultant-list-head,
  .consultant-call-list .consultant-list-row {
    min-width: 940px !important;
    grid-template-columns: minmax(150px, 1fr) minmax(180px, 1.2fr) 130px 100px minmax(180px, 1fr) 140px !important;
  }

  .consultant-visitor-list .consultant-list-head,
  .consultant-visitor-list .consultant-list-row {
    min-width: 850px !important;
    grid-template-columns: 135px 100px minmax(220px, 1fr) minmax(200px, 1fr) 140px !important;
  }

  .consultant-cargo-list .consultant-list-head,
  .consultant-cargo-list .consultant-list-row {
    min-width: 1080px !important;
    grid-template-columns: 135px 100px minmax(160px, .8fr) minmax(190px, 1fr) minmax(190px, 1fr) 140px !important;
  }

  .consultant-record-edit-modal form,
  .mixing-index-grid {
    grid-template-columns: 1fr;
  }

  .mixing-title {
    font-size: 17px;
  }

  .mixing-grid {
    padding: 12px;
  }

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

  .mixing-card > h3,
  .mixing-table-scroll,
  .mixing-result-box {
    grid-column: 1;
    grid-row: auto;
  }

  .mixing-index-card,
  .mixing-independent-card {
    margin: 0 12px 12px;
  }
}

/* 0.1329 mobil yatay tablo kaydırma kararlılığı */
@media screen and (max-width: 980px) and (pointer: coarse) {
  .table-wrap,
  .quality-table-wrap,
  .purchase-order-table-wrap,
  .company-vehicle-table-wrap,
  .admin-log-table-wrap,
  .stock-ledger-table-wrap,
  .recipe-list-scroll {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    overscroll-behavior-x: contain;
    scrollbar-gutter: stable;
    touch-action: pan-x pan-y;
    -webkit-overflow-scrolling: touch;
  }

  .recipe-list-scroll {
    isolation: isolate;
  }

  .recipe-list-scroll > .recipe-list {
    width: 1240px !important;
    min-width: 1240px !important;
    max-width: 1240px !important;
    table-layout: fixed !important;
  }

  .recipe-list th:last-child,
  .recipe-list td:last-child,
  .recipe-list th:nth-last-child(2),
  .recipe-list td:nth-last-child(2) {
    position: static !important;
    right: auto !important;
    z-index: auto;
    box-shadow: none;
  }

  body.sticky-table-headers .recipe-list thead th {
    position: sticky !important;
    top: 0;
    right: auto !important;
    z-index: 3;
  }
}

/* 0.1330 ortak görünüm, kişisel notlar ve yoğun mobil yerleşim */
html,
body,
button,
input,
select,
textarea,
table {
  font-family: Inter, "Segoe UI", Arial, sans-serif;
}

.personal-notes-toggle {
  display: inline-grid;
  width: 34px;
  height: 34px;
  place-items: center;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: var(--surface);
  color: var(--ink);
  cursor: pointer;
}

.personal-notes-modal {
  width: min(720px, calc(100vw - 24px));
}

.personal-notes-modal form {
  grid-template-columns: minmax(0, 1fr) minmax(150px, .35fr);
}

.personal-notes-list {
  display: grid;
  gap: 8px;
  max-height: 42vh;
  padding: 0 18px 18px;
  overflow-y: auto;
}

.personal-notes-list article {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--soft);
}

.personal-notes-list p {
  margin: 0 0 4px;
  color: var(--ink);
  white-space: pre-wrap;
}

.personal-notes-list small {
  color: var(--muted);
}

.personal-note-reminder {
  position: fixed;
  z-index: 10050;
  right: 18px;
  top: 74px;
  width: min(360px, calc(100vw - 24px));
  padding: 14px;
  border: 1px solid #7dd3fc;
  border-radius: 10px;
  background: #f0f9ff;
  color: #0c4a6e;
  box-shadow: 0 14px 40px rgba(15, 23, 42, .22);
}

.personal-note-reminder > div {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}

.personal-note-reminder p {
  margin: 10px 0;
  white-space: pre-wrap;
}

.personal-note-reminder button {
  width: 100%;
  min-height: 34px;
  border: 0;
  border-radius: 6px;
  background: #0369a1;
  color: #fff;
  font-weight: 800;
}

.dashboard-announcement-panel,
.dashboard-quote-card,
.dashboard-history-card,
.dashboard-market-card {
  border: 1px solid var(--line) !important;
  border-radius: 8px !important;
  background: var(--surface) !important;
  box-shadow: none !important;
}

.dashboard-daily-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.dashboard-history-card {
  min-width: 0;
  padding: 16px 18px;
}

.dashboard-history-card p {
  margin: 14px 0 0;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.45;
}

.dashboard-announcement-heading strong,
.dashboard-daily-title > span {
  color: var(--ink);
  font-size: 16px;
  font-weight: 850;
  letter-spacing: 0;
  text-transform: none;
}

.dashboard-quote-card blockquote {
  font-size: 13px !important;
  font-weight: 650;
}

.dashboard-market-marquee {
  width: 100%;
  overflow: hidden;
}

.dashboard-market-marquee .dashboard-market-rates {
  width: max-content;
  min-width: 100%;
  animation: dashboard-rates-marquee 18s linear infinite;
}

@keyframes dashboard-rates-marquee {
  from { transform: translateX(100%); }
  to { transform: translateX(-100%); }
}

@media (prefers-reduced-motion: reduce) {
  .dashboard-market-marquee .dashboard-market-rates {
    animation: none;
    transform: none;
  }
}

.sample-row-actions {
  display: flex !important;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  gap: 5px;
  overflow: visible;
}

.sample-row-actions button {
  width: auto !important;
  min-width: 0 !important;
  min-height: 28px;
  padding: 4px 6px;
  white-space: nowrap;
}

@media screen and (max-width: 900px) and (pointer: coarse) {
  .dashboard-daily-grid {
    grid-template-columns: 1fr !important;
  }
}

@media screen and (max-width: 760px) and (pointer: coarse) {
  body {
    font-size: 11px;
  }

  .tab-content {
    padding: 6px !important;
  }

  .panel,
  .dashboard-announcement-panel,
  .dashboard-quote-card,
  .dashboard-history-card,
  .dashboard-market-card {
    padding: 7px !important;
  }

  .panel-header,
  .module-header,
  .recipe-actions,
  form,
  .form-grid {
    gap: 5px !important;
  }

  input,
  select,
  textarea,
  button {
    min-height: 28px;
    padding: 4px 6px;
    font-size: 11px;
  }

  textarea {
    min-height: 52px;
  }

  table th,
  table td,
  .consultant-list-head > *,
  .consultant-list-row > *,
  .outgoing-sample-list-head > *,
  .outgoing-sample-list-row > * {
    min-height: 30px !important;
    padding: 3px 5px !important;
    font-size: 10px !important;
  }

  .modal {
    width: calc(100vw - 8px) !important;
    max-height: calc(100vh - 8px) !important;
  }

  .modal > header,
  .modal > footer,
  .modal form {
    padding: 7px !important;
  }

  .customer-order-header-grid,
  .process-form-grid,
  .quality-process-grid {
    gap: 5px !important;
  }

  .personal-notes-modal form {
    grid-template-columns: 1fr;
  }

  .topbar {
    min-height: 44px;
    padding: 4px 7px;
  }
}

/* 0.1335: ortak başlık, sabit proses yerleşimi, hız ayarı ve baskı son katmanı */
@media screen {
  .tab-content table thead th,
  .modal table thead th,
  .stock-ledger-table thead th,
  .management-stock-report-table thead th,
  .management-stock-report-table th .stock-report-sort-button,
  .management-stock-report-table th .stock-report-sort-button span,
  .consultant-call-list .consultant-list-head,
  .consultant-visitor-list .consultant-list-head,
  .consultant-cargo-list .consultant-list-head,
  .consultant-delivery-note-list .consultant-list-head,
  .additive-sample-list-head,
  .outgoing-sample-list-head,
  .stock-modern-head {
    border-color: color-mix(in srgb, var(--sidebar-background-color, #1f2a44), white 24%) !important;
    background: var(--sidebar-background-color, #1f2a44) !important;
    color: var(--sidebar-menu-font-color, #dbe7f4) !important;
    box-shadow: none !important;
  }

  .tab-content table thead th *,
  .modal table thead th *,
  .management-stock-report-table th .stock-report-sort-button *,
  .consultant-call-list .consultant-list-head > *,
  .consultant-visitor-list .consultant-list-head > *,
  .consultant-cargo-list .consultant-list-head > *,
  .consultant-delivery-note-list .consultant-list-head > *,
  .additive-sample-list-head > *,
  .outgoing-sample-list-head > *,
  .stock-modern-head > * {
    color: var(--sidebar-menu-font-color, #dbe7f4) !important;
  }

  .dashboard-daily-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) max-content !important;
    align-items: stretch;
  }

  .dashboard-daily-grid > * {
    min-width: 0;
  }

  .dashboard-meal-menu-button {
    position: relative;
    z-index: 4;
    width: max-content;
    min-width: 0;
    max-width: 180px;
    min-height: 100%;
    padding: 10px 12px;
    justify-content: center;
    pointer-events: auto;
    cursor: pointer;
  }

  .toolbar:has([data-filter="category_id"]) {
    grid-template-columns: minmax(180px, 1fr) minmax(170px, .55fr) auto auto auto;
  }
}

.quality-title:has([data-quality-process-print]) {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.quality-process-form {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: stretch !important;
}

.quality-process-row {
  display: grid;
  width: 100%;
  gap: 8px;
  align-items: end;
}

.quality-process-row > * {
  min-width: 0;
}

.quality-process-row-1 {
  grid-template-columns: 150px 120px minmax(150px, 1fr) minmax(180px, 1.2fr) 190px;
}

.quality-process-row-2 {
  grid-template-columns:
    minmax(170px, 1.4fr) 74px
    minmax(170px, 1.4fr) 74px
    minmax(160px, 1fr) 74px
    minmax(160px, 1fr) 74px;
}

.quality-process-row-3 {
  grid-template-columns: 145px 145px 190px minmax(190px, 1fr);
}

.quality-process-row-4 {
  grid-template-columns: repeat(4, minmax(115px, 1fr));
}

.quality-process-row-5 {
  grid-template-columns: minmax(0, 1fr);
}

.quality-process-row label,
.quality-process-row .quality-choice-field,
.quality-process-row .wide {
  width: 100%;
  min-width: 0;
  max-width: none;
  margin: 0;
}

.quality-stock-search {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px;
  margin-top: 6px;
}

.quality-stock-search input {
  min-width: 0;
}

.quality-stock-search button {
  width: auto;
  min-width: 42px;
  padding-inline: 8px;
}

.quality-stock-optional-choice {
  display: grid;
  grid-template-columns: 1fr;
}

.quality-stock-optional-choice.is-disabled,
.quality-stock-optional-amount.is-disabled {
  opacity: .55;
}

.quality-process-row-5 textarea {
  min-height: 78px;
}

.site-speed-settings-modal {
  width: min(980px, calc(100vw - 32px));
}

.site-speed-settings-modal form {
  display: grid;
  gap: 14px;
  padding: 16px;
}

.site-speed-instant-status {
  display: grid;
  gap: 8px;
  padding: 18px 16px 8px;
}

.site-speed-instant-status strong {
  color: var(--ink);
  font-size: 15px;
}

.site-speed-instant-status p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.site-speed-settings-modal > footer {
  display: flex;
  justify-content: flex-end;
  padding: 8px 16px 16px;
}

.site-speed-ms-field {
  display: grid;
  max-width: 300px;
  gap: 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
}

.site-speed-screen-groups {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.site-speed-screen-groups fieldset {
  display: grid;
  align-content: start;
  gap: 7px;
  min-width: 0;
  margin: 0;
  padding: 11px;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.site-speed-screen-groups legend {
  padding: 0 5px;
  color: var(--ink);
  font-weight: 800;
}

.site-speed-screen-groups label {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
}

.site-speed-screen-groups input[type="checkbox"] {
  width: auto;
  flex: 0 0 auto;
}

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

@media screen and (max-width: 1180px) and (pointer: coarse) {
  .dashboard-daily-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .dashboard-meal-menu-button {
    width: 100%;
    max-width: none;
  }

  .quality-process-row-1,
  .quality-process-row-2,
  .quality-process-row-3,
  .quality-process-row-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .site-speed-screen-groups {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 760px) and (pointer: coarse) {
  .dashboard-daily-grid,
  .quality-process-row-1,
  .quality-process-row-2,
  .quality-process-row-3,
  .quality-process-row-4 {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .quality-title:has([data-quality-process-print]) {
    align-items: stretch;
    flex-direction: column;
  }

  .site-speed-screen-groups {
    grid-template-columns: minmax(0, 1fr);
  }

  .management-module .panel-header,
  .management-module .table-panel-header,
  .management-module .view-switch {
    max-width: 100%;
    overflow-x: auto;
  }

  .toolbar:has([data-filter="category_id"]) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media print {
  @page quality-process-landscape {
    size: A4 landscape;
    margin: 5mm;
  }

  body.printing-quality-process-list > * {
    visibility: hidden !important;
  }

  body.printing-quality-process-list #quality-process-print-area,
  body.printing-quality-process-list #quality-process-print-area * {
    visibility: visible !important;
  }

  body.printing-quality-process-list #quality-process-print-area {
    page: quality-process-landscape;
    position: absolute !important;
    inset: 0 auto auto 0 !important;
    width: 287mm !important;
    max-width: 287mm !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  body.printing-quality-process-list #quality-process-print-area > h3 {
    display: block !important;
    margin: 0 0 2mm !important;
    color: #000 !important;
    font-size: 9pt !important;
    text-align: center;
  }

  body.printing-quality-process-list .quality-table-wrap {
    width: 287mm !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  body.printing-quality-process-list .quality-process-day-group {
    gap: 1mm !important;
    margin: 0 0 2mm !important;
    break-inside: avoid;
  }

  body.printing-quality-process-list .quality-process-day-group h4 {
    margin: 0 !important;
    padding: 1mm !important;
    border-radius: 0 !important;
    font-size: 6pt !important;
  }

  body.printing-quality-process-list .quality-process-table {
    width: 287mm !important;
    min-width: 0 !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
    font-size: 4.6pt !important;
  }

  body.printing-quality-process-list .quality-process-table th,
  body.printing-quality-process-list .quality-process-table td {
    height: auto !important;
    padding: .55mm .35mm !important;
    border: .2mm solid #333 !important;
    color: #000 !important;
    background: #fff !important;
    line-height: 1.05 !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
  }

  body.printing-quality-process-list .quality-process-table th:last-child,
  body.printing-quality-process-list .quality-process-table td:last-child {
    display: none !important;
  }

  body.printing-recipe #recipe-print-host,
  body.printing-recipe #recipe-print-host #recipe-form,
  body.printing-recipe #recipe-print-host .recipe-paper,
  body.printing-recipe #recipe-print-host .recipe-materials {
    width: 199.8mm !important;
    max-width: 199.8mm !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  body.printing-recipe #recipe-print-host .recipe-material-head,
  body.printing-recipe #recipe-print-host .recipe-material-row,
  body.printing-recipe #recipe-print-host .recipe-total-row {
    display: grid !important;
    width: 100% !important;
    min-width: 0 !important;
    grid-template-columns: 11mm minmax(0, 1.4fr) minmax(0, 1fr) 30mm 45mm !important;
  }

  body.printing-recipe #recipe-print-host .recipe-material-head > *,
  body.printing-recipe #recipe-print-host .recipe-material-row > *,
  body.printing-recipe #recipe-print-host .recipe-total-row > *,
  body.printing-recipe #recipe-print-host .recipe-material-picker,
  body.printing-recipe #recipe-print-host .recipe-material-combobox,
  body.printing-recipe #recipe-print-host .recipe-material-toggle {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* 0.1348: büyük ve okunaklı arayüz; analiz raporundaki Birim sütunu mevcut ölçüsünü korur. */
@media screen {
  body {
    font-size: 15px !important;
  }

  button,
  input,
  select,
  textarea,
  label,
  .menu-child,
  .tab-button {
    font-size: 14px !important;
  }

  table th,
  table td,
  .consultant-list-head > *,
  .consultant-list-row > *,
  .outgoing-sample-list-head > *,
  .outgoing-sample-list-row > * {
    font-size: 13px !important;
  }

  .analysis-results-grid th:nth-child(3) input,
  .analysis-results-grid td:nth-child(3) input {
    font-size: 13px !important;
  }

  .analysis-report-form.analysis-columns-wide .analysis-results-grid th:nth-child(3) input,
  .analysis-report-form.analysis-columns-wide .analysis-results-grid td:nth-child(3) input {
    font-size: 11px !important;
  }

  .analysis-report-form.analysis-columns-ultra-wide .analysis-results-grid th:nth-child(3) input,
  .analysis-report-form.analysis-columns-ultra-wide .analysis-results-grid td:nth-child(3) input {
    font-size: 9px !important;
  }

  .quality-process-print-frame {
    position: fixed;
    width: 1px;
    height: 1px;
    right: 0;
    bottom: 0;
    border: 0;
    opacity: 0;
    pointer-events: none;
  }

  .dashboard-detail-modal {
    display: flex;
    width: min(1100px, calc(100vw - 36px));
    height: min(840px, calc(100dvh - 36px));
    max-height: min(840px, calc(100dvh - 36px));
    flex-direction: column;
    overflow: hidden;
  }

  .dashboard-detail-modal .dashboard-critical-stock-table {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
  }

  .dashboard-detail-modal .dashboard-critical-stock-table table {
    border-collapse: separate;
    border-spacing: 0;
  }

  .dashboard-detail-modal .dashboard-critical-stock-table thead th {
    position: sticky;
    top: 0;
    z-index: 7;
    box-shadow: 0 1px 0 rgba(15, 23, 42, .18);
  }

  .dashboard-detail-modal .dashboard-critical-stock-table tbody tr,
  .dashboard-critical-stock-list-modal .dashboard-critical-stock-table tbody tr {
    height: 43px;
  }

  .dashboard-critical-stock-list-modal {
    height: min(900px, calc(100dvh - 36px)) !important;
    max-height: min(900px, calc(100dvh - 36px)) !important;
  }

  button,
  a,
  [role="button"],
  input,
  select,
  textarea {
    transition-duration: 0ms !important;
    animation-duration: 0ms !important;
    animation-delay: 0ms !important;
  }
}

/* 0.1334 ortak tablo başlıkları, proses stok seçimi ve tek sayfa reçete çıktısı */
@media screen {
  table thead th,
  .consultant-list-head,
  .additive-sample-list-head,
  .outgoing-sample-list-head,
  .stock-modern-head {
    border-color: var(--nav-2) !important;
    background: var(--nav) !important;
    color: #dbe7f4 !important;
    box-shadow: none !important;
  }

  table thead th *,
  .consultant-list-head > *,
  .additive-sample-list-head > *,
  .outgoing-sample-list-head > *,
  .stock-modern-head > * {
    color: #dbe7f4 !important;
  }

  .sample-list-empty-row {
    min-width: 1180px;
    padding: 18px;
    border: 1px solid var(--line);
    border-top: 0;
    background: var(--surface);
    color: var(--muted);
    text-align: center;
  }

  .dashboard-daily-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(0, .82fr) minmax(150px, .9fr) !important;
    align-items: stretch;
  }

  .dashboard-meal-menu-button {
    width: 100%;
    min-width: 0;
    min-height: 100%;
    justify-content: center;
    border-radius: 8px;
  }

  .quality-optional-stock-fields {
    display: grid;
    grid-template-columns: minmax(220px, 1.5fr) minmax(130px, .7fr);
    grid-column: span 2;
    gap: 10px;
    min-width: 0;
  }

  .quality-optional-stock-fields.hidden {
    display: none !important;
  }

  .quality-process-form select {
    max-width: 100%;
  }

  .stock-ledger-shell button,
  .stock-ledger-shell [role="button"],
  .stock-ledger-tabs button,
  .stock-popup-modal button {
    transition-duration: 0ms !important;
    transition-delay: 0ms !important;
  }
}

@media screen and (max-width: 1100px) and (pointer: coarse) {
  .dashboard-daily-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media screen and (max-width: 760px) and (pointer: coarse) {
  .dashboard-daily-grid {
    grid-template-columns: 1fr !important;
  }

  body:has(.view-switch [data-view].active) .view-switch,
  .view-switch {
    display: flex !important;
    width: 100%;
    max-width: 100%;
    flex-wrap: nowrap !important;
    gap: 5px;
    padding: 0 0 7px;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    scrollbar-width: thin;
  }

  .view-switch button {
    flex: 0 0 auto;
    width: auto !important;
    min-width: max-content;
    min-height: 36px !important;
    white-space: nowrap;
  }

  .quality-optional-stock-fields {
    grid-template-columns: 1fr;
    grid-column: 1 / -1;
  }
}

@media print {
  body.printing-recipe > *:not(#recipe-print-host) {
    display: none !important;
  }

  body.printing-recipe #recipe-print-host,
  body.printing-recipe #recipe-print-host * {
    visibility: visible !important;
  }

  body.printing-recipe #recipe-print-host {
    display: block !important;
    position: static !important;
    width: 209.8mm !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  body.printing-recipe #recipe-print-host #recipe-form {
    position: static !important;
    inset: auto !important;
    display: block !important;
    width: 209.8mm !important;
    max-width: 209.8mm !important;
    height: auto !important;
    overflow: visible !important;
  }

  body.printing-recipe #recipe-print-host .recipe-paper {
    width: 209.8mm !important;
    max-width: 209.8mm !important;
    height: auto !important;
    overflow: visible !important;
    break-inside: avoid-page !important;
    page-break-inside: avoid !important;
  }
}

/* 0.1333: reçete çıktısı ekran düzenini korur ve mobil kurallardan etkilenmez */
@media print {
  body:not(.printing-lab-combined) #recipe-form {
    width: 209.8mm !important;
    max-width: 209.8mm !important;
    min-width: 0 !important;
    height: auto !important;
    overflow: visible !important;
  }

  body:not(.printing-lab-combined) #recipe-form .recipe-paper {
    display: block !important;
    width: 209.8mm !important;
    max-width: 209.8mm !important;
    min-width: 0 !important;
    height: auto !important;
    overflow: visible !important;
    break-inside: avoid-page !important;
    page-break-inside: avoid !important;
  }

  body:not(.printing-lab-combined) #recipe-form .recipe-title-row {
    display: grid !important;
    grid-template-columns: 38mm minmax(0, 1fr) 28mm !important;
  }

  body:not(.printing-lab-combined) #recipe-form .recipe-title {
    text-align: center !important;
  }

  body:not(.printing-lab-combined) #recipe-form .recipe-meta-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  }

  body:not(.printing-lab-combined) #recipe-form .recipe-meta-grid > * {
    grid-column: auto !important;
    min-width: 0 !important;
  }

  body:not(.printing-lab-combined) #recipe-form .recipe-meta-grid label {
    display: grid !important;
    grid-template-columns: 32mm minmax(0, 1fr) !important;
  }

  body:not(.printing-lab-combined) #recipe-form .recipe-materials {
    overflow: visible !important;
  }

  body:not(.printing-lab-combined) #recipe-form .recipe-material-head,
  body:not(.printing-lab-combined) #recipe-form .recipe-material-row,
  body:not(.printing-lab-combined) #recipe-form .recipe-total-row {
    display: grid !important;
    min-width: 0 !important;
    grid-template-columns: 11mm 43mm 39mm 30mm 57mm !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  body:not(.printing-lab-combined) #recipe-form .recipe-material-picker {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }

  body:not(.printing-lab-combined) #recipe-form .recipe-material-picker > select[name="raw_material_category"],
  body:not(.printing-lab-combined) #recipe-form .recipe-material-dropdown,
  body:not(.printing-lab-combined) #recipe-form .recipe-material-native-select,
  body:not(.printing-lab-combined) #recipe-form .recipe-material-toggle::after,
  body:not(.printing-lab-combined) #recipe-form .recipe-row-actions,
  body:not(.printing-lab-combined) #recipe-form .recipe-actions,
  body:not(.printing-lab-combined) #recipe-form .recipe-stock-error {
    display: none !important;
  }

  body:not(.printing-lab-combined) #recipe-form .recipe-material-combobox,
  body:not(.printing-lab-combined) #recipe-form [data-recipe-material-input-host] {
    width: 100% !important;
    min-width: 0 !important;
  }

  body:not(.printing-lab-combined) #recipe-form .recipe-material-toggle {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 1mm 1.5mm !important;
    border: 0 !important;
    border-right: 1px solid #000 !important;
    border-bottom: 1px solid #000 !important;
    background: #fff !important;
    color: #000 !important;
    -webkit-text-fill-color: #000 !important;
    font-size: 8.5pt !important;
    white-space: normal !important;
  }

  body:not(.printing-lab-combined) #recipe-form .recipe-material-combobox.is-empty .recipe-material-toggle {
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
  }

  body:not(.printing-lab-combined) #recipe-form .recipe-notes {
    min-height: 15mm !important;
    max-height: 22mm !important;
    overflow: hidden !important;
    resize: none !important;
  }

  body:not(.printing-lab-combined) #recipe-form .recipe-prepared-fields {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
}

/* Veri listelerinde baslik ve satir degerleri butun modullerde ayni hizada kalir. */
.table-wrap th,
.table-wrap td,
.recipe-list th,
.recipe-list td,
.stock-ledger-table th,
.stock-ledger-table td,
.stock-demo-table th,
.stock-demo-table td,
.stock-demo-movement-table th,
.stock-demo-movement-table td,
.purchase-order-table th,
.purchase-order-table td,
.company-vehicle-table th,
.company-vehicle-table td,
.quality-process-table th,
.quality-process-table td,
.admin-log-table th,
.admin-log-table td {
  text-align: center !important;
  vertical-align: middle !important;
}

.table-wrap table .row-actions,
.recipe-list .row-actions,
.purchase-order-row-actions {
  justify-content: center !important;
}

.consultant-list-head > *,
.consultant-list-row > *,
.additive-sample-list-head > *,
.additive-sample-list-row > *,
.outgoing-sample-list-head > *,
.outgoing-sample-list-row > *,
.stock-modern-head > *,
.stock-modern-row > * {
  text-align: center;
}

.consultant-list-row > button,
.additive-sample-list-row > button,
.outgoing-sample-list-row > button,
.delivery-note-open-button {
  justify-self: center;
}

.stock-modern-name {
  justify-items: center;
}

.table-note-column {
  width: 220px !important;
  min-width: 180px;
  max-width: 220px !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: ellipsis;
}

.list-note-cell {
  min-width: 0;
  max-width: 260px;
  justify-self: stretch;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.compact-cell-short,
.compact-cell-trigger,
.compact-cell-preview {
  display: block;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.compact-cell-trigger {
  cursor: help;
  outline: none;
}

.compact-cell-trigger:focus-visible .compact-cell-preview {
  outline: 2px solid #2563eb;
  outline-offset: 2px;
  border-radius: 3px;
}

.compact-cell-preview {
  display: flex;
  align-items: center;
  gap: 4px;
}

.compact-cell-preview-text {
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.compact-cell-more {
  flex: 0 0 auto;
  color: #1d4ed8;
  font-size: 11px;
  font-weight: 850;
}

#compact-cell-hover-tooltip {
  position: fixed;
  z-index: 12000;
  width: max-content;
  max-width: min(420px, calc(100vw - 20px));
  padding: 8px 10px;
  border: 1px solid #93c5fd;
  border-radius: 8px;
  background: #eff6ff;
  color: #111827;
  box-shadow: 0 8px 24px rgb(15 23 42 / 22%);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.4;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  pointer-events: none;
}

body.dark-mode #compact-cell-hover-tooltip {
  border-color: #475569;
  background: #1e293b;
  color: #f8fafc;
}

.consultant-call-list .list-note-cell,
.consultant-visitor-list .list-note-cell,
.consultant-cargo-list .list-note-cell {
  width: 100%;
  max-width: none;
}

.purchase-requester-note textarea[readonly] {
  cursor: default;
  border-color: var(--line);
  background: var(--soft);
  color: var(--ink);
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  color: var(--ink);
  background: var(--page-bg);
}

body.dark-mode {
  --ink: #e5edf7;
  --muted: #a8b5c6;
  --line: #334155;
  --surface: #111827;
  --soft: #1f2937;
  --page-bg: #0b1120;
  --tabs-bg: #0f172a;
  --tab-bg: #172033;
  --nav: #07111f;
  --nav-2: #111c30;
  --accent: #2dd4bf;
  --accent-2: #facc15;
  --danger: #f87171;
  --ok: #34d399;
}

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

button {
  border: 0;
  cursor: pointer;
}

.hidden {
  display: none !important;
}

.login-shell {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
  background:
    linear-gradient(135deg, rgba(20, 33, 58, 0.9), rgba(15, 139, 141, 0.78)),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='700' viewBox='0 0 1200 700'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.16'%3E%3Cpath d='M0 580h1200M0 480h1200M0 380h1200M0 280h1200'/%3E%3Cpath d='M80 580V340h120v240M260 580V260h150v320M470 580V310h100v270M630 580V220h180v360M860 580V280h230v300'/%3E%3Cpath d='M80 340l60-70 60 70M260 260l75-80 75 80M630 220l90-95 90 95'/%3E%3C/g%3E%3C/svg%3E");
  background-size: cover;
}

.login-panel {
  width: min(420px, 100%);
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(255, 255, 255, 0.45);
  border-radius: 8px;
  padding: 34px;
  box-shadow: 0 24px 80px rgba(9, 21, 40, 0.28);
}

.brand-mark {
  width: 92px;
  height: 92px;
  display: block;
  object-fit: contain;
  padding: 6px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 10px 24px rgba(9, 21, 40, 0.12);
}

.login-panel h1 {
  margin: 18px 0 26px;
  font-size: 28px;
}

.login-form {
  display: grid;
  gap: 16px;
}

label {
  display: grid;
  gap: 7px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 650;
}

input,
select,
textarea {
  width: 100%;
  border: 1px solid #9aa8ba;
  border-radius: 6px;
  padding: 10px 11px;
  background: #fff;
  color: var(--ink);
}

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

.login-form button,
.primary-button {
  padding: 11px 14px;
  border-radius: 6px;
  background: var(--accent);
  color: #fff;
  font-weight: 750;
}

.form-error {
  min-height: 20px;
  margin: 0;
  color: var(--danger);
}

.app-shell {
  height: 100vh;
  min-height: 100vh;
  display: grid;
  grid-template-columns: 260px 1fr;
  overflow: hidden;
}

.sidebar {
  background: var(--sidebar-background-color, var(--nav));
  color: #dbe7f4;
  height: 100vh;
  min-height: 0;
  display: grid;
  grid-template-rows: 72px minmax(0, 1fr);
  transition: transform 0.2s ease;
  overflow-x: visible;
  overflow-y: hidden;
  overscroll-behavior: contain;
}

.sidebar-logo {
  height: 72px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 18px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.sidebar-logo-image {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  display: block;
  object-fit: contain;
  padding: 0;
  background: transparent;
  border-radius: 0;
  border: 0;
}

.sidebar-logo strong,
.sidebar-home-button {
  color: var(--sidebar-label-color, #fff);
  font-size: 18px;
  font-weight: 900;
  letter-spacing: 0;
}

.sidebar-home-button {
  max-width: 100%;
  min-height: 38px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex: 1;
  min-width: 0;
  white-space: nowrap;
  font-size: 15px;
  line-height: 1.15;
}

.sidebar-home-button span {
  display: inline-block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sidebar-home-button .sidebar-brand-label {
  font-size: inherit;
  font-weight: inherit;
}

.sidebar-home-button:hover {
  color: #e9b44c;
}

.topbar-clock-notifications {
  position: relative;
  display: flex;
  align-items: center;
  gap: 6px;
}

.live-clock {
  min-width: 54px;
  padding: 5px 8px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--soft);
  color: var(--ink);
  font-size: 13px;
  font-weight: 850;
  text-align: center;
  font-variant-numeric: tabular-nums;
  cursor: pointer;
}

.notification-toggle {
  position: relative;
  width: 34px;
  height: 32px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--soft);
  color: var(--ink);
  font-size: 16px;
}

.notification-toggle:hover,
.live-clock:hover {
  border-color: var(--accent-2);
  background: rgba(15, 139, 141, 0.1);
}

.notification-count {
  position: absolute;
  top: -8px;
  right: -8px;
  min-width: 19px;
  height: 19px;
  display: grid;
  place-items: center;
  padding: 0 5px;
  border: 2px solid var(--nav);
  border-radius: 999px;
  background: #dc2626;
  color: #fff;
  font-size: 11px;
  font-weight: 900;
}

.notification-popover {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  z-index: 40;
  width: min(360px, 82vw);
  max-height: min(440px, 72vh);
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  color: var(--ink);
  box-shadow: 0 24px 70px rgba(9, 21, 40, 0.28);
}

.notification-popover-head {
  position: sticky;
  top: 0;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 12px;
  border-bottom: 1px solid var(--line);
  background: var(--surface);
}

.notification-popover-head strong {
  color: var(--ink);
  font-size: 15px;
}

.notification-popover-head span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.notification-head-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.notification-head-actions button {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 6px;
  padding: 5px 8px;
  color: var(--primary);
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}

.notification-popover-list {
  display: grid;
  gap: 0;
}

.notification-item {
  width: 100%;
  display: grid;
  grid-template-columns: 9px 1fr auto;
  gap: 6px 9px;
  align-items: start;
  padding: 12px;
  border-bottom: 1px solid var(--line);
  background: var(--surface);
  color: var(--ink);
  text-align: left;
}

.notification-item:hover {
  background: var(--soft);
}

.notification-item > span {
  width: 9px;
  height: 9px;
  margin-top: 5px;
  border-radius: 999px;
  background: transparent;
}

.notification-item.unread > span {
  background: #dc2626;
}

.notification-item strong {
  color: var(--ink);
  font-size: 13px;
}

.notification-item small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}

.notification-item p {
  grid-column: 2 / -1;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.notification-empty {
  padding: 22px 12px;
  color: var(--muted);
  text-align: center;
  font-weight: 800;
}

.sidebar-close {
  display: none;
  width: 34px;
  height: 34px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  font-size: 22px;
  line-height: 1;
}

.sidebar-backdrop {
  display: none;
}

.menu {
  min-height: 0;
  padding: 12px 8px;
  display: grid;
  align-content: start;
  grid-auto-rows: max-content;
  gap: 5px;
  padding-bottom: 24px;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}

.menu button {
  width: 100%;
  min-height: 42px;
  max-height: max-content;
  text-align: left;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 9px;
  border-radius: 6px;
  background: transparent;
  color: #dbe7f4;
  font-size: 14px;
  font-weight: 700;
}

.menu > button,
.menu-parent span:not(.menu-icon) {
  text-transform: uppercase;
}

.menu button:hover,
.menu button.active {
  background: var(--nav-2);
  color: #fff;
}

.menu-group {
  display: grid;
  gap: 4px;
}

.menu-parent {
  min-height: 42px;
  max-height: max-content;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 9px;
  color: #dbe7f4;
  font-size: 14px;
  font-weight: 700;
  width: 100%;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.menu-group:not(.expanded) .menu-child {
  display: none;
}

.menu-chevron {
  margin-left: auto;
  transition: transform 160ms ease;
}

.menu-group.expanded .menu-chevron {
  transform: rotate(180deg);
}

.menu-child {
  min-height: 34px !important;
  max-height: max-content;
  width: calc(100% - 32px) !important;
  margin-left: 32px;
  padding: 7px 8px !important;
  border-left: 2px solid rgba(219, 231, 244, 0.28);
  color: rgba(219, 231, 244, 0.86) !important;
  font-size: 13px;
  text-transform: capitalize;
}

.menu-child::before {
  content: "-";
  margin-right: 4px;
}

.menu-child.active {
  color: #fff !important;
  border-left-color: var(--accent);
}

.menu .menu-icon {
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.1);
  font-size: 12px;
  font-weight: 800;
}

.workspace {
  min-width: 0;
  min-height: 0;
  height: 100vh;
  display: grid;
  grid-template-rows: 72px auto 1fr;
  overflow: hidden;
}

.topbar {
  display: grid;
  grid-template-columns: auto auto 1fr auto auto auto;
  gap: 12px;
  align-items: center;
  padding: 0 18px;
  background: var(--surface);
  border-bottom: 1px solid var(--line);
}

.topbar strong,
.topbar span {
  display: block;
}

.topbar span,
.user-chip small {
  color: var(--muted);
  font-size: 12px;
}

.icon-button,
.ghost-button {
  min-width: 40px;
  min-height: 38px;
  border-radius: 6px;
  background: var(--soft);
  color: var(--ink);
  border: 1px solid var(--line);
}

.theme-toggle-button {
  width: 42px;
  min-width: 42px;
  height: 38px;
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--soft);
  color: var(--ink);
  font-size: 20px;
  font-weight: 850;
}

.theme-toggle-button:hover {
  border-color: var(--accent-2);
  background: #fef3c7;
  color: #854d0e;
}

body.dark-mode .theme-toggle-button:hover {
  background: #1e293b;
  color: #fde68a;
}

body.dark-mode input,
body.dark-mode select,
body.dark-mode textarea {
  background: #0f172a;
  border-color: #475569;
  color: var(--ink);
}

body.dark-mode input::placeholder,
body.dark-mode textarea::placeholder {
  color: #7f8ca3;
}

body.dark-mode table {
  color: var(--ink);
}

body.dark-mode th,
body.dark-mode td {
  border-color: var(--line);
}

body.dark-mode .modal,
body.dark-mode .table-wrap,
body.dark-mode .role-permission-layout,
body.dark-mode .recipe-list-group,
body.dark-mode .approval-summary,
body.dark-mode .report-editor-shell,
body.dark-mode .stock-ledger-top,
body.dark-mode .stock-modern-top {
  background: var(--surface);
  border-color: var(--line);
  color: var(--ink);
}

body.dark-mode .panel-header,
body.dark-mode .recipe-list-group h4,
body.dark-mode .view-switch button,
body.dark-mode .row-actions button,
body.dark-mode .secondary-button,
body.dark-mode .ghost-button,
body.dark-mode .icon-button {
  background: var(--soft);
  border-color: var(--line);
  color: var(--ink);
}

body.dark-mode .view-switch button.active,
body.dark-mode .secondary-button:hover,
body.dark-mode .ghost-button:hover,
body.dark-mode .icon-button:hover {
  background: #263449;
  color: #f8fafc;
}

.user-chip {
  text-align: right;
  line-height: 1.25;
}

.tabs {
  min-height: 46px;
  display: flex;
  align-items: end;
  gap: 4px;
  padding: 8px 14px 0;
  background: var(--tabs-bg);
  overflow-x: auto;
}

.tab {
  min-width: 132px;
  max-width: 220px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 0 9px 0 12px;
  border-radius: 6px 6px 0 0;
  border: 1px solid var(--line);
  background: var(--tab-bg);
  color: var(--muted);
}

.tab.active {
  background: var(--surface);
  color: var(--ink);
  border-bottom-color: var(--surface);
}

.tab span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tab .close-tab {
  width: 22px;
  height: 22px;
  border-radius: 5px;
  background: transparent;
  color: inherit;
}

.tab-content {
  min-width: 0;
  min-height: 0;
  padding: 18px;
  overflow: auto;
  background: var(--surface);
  overscroll-behavior: contain;
}

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

.module-header h2 {
  margin: 0 0 4px;
  font-size: 24px;
}

.module-header p {
  margin: 0;
  color: var(--muted);
}

.summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(150px, 1fr));
  gap: 12px;
  margin-bottom: 18px;
}

.dashboard-current-loading {
  display: grid;
  min-height: 220px;
  place-items: center;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  color: var(--muted);
  font-weight: 750;
  text-align: center;
}

.dashboard-announcement-panel {
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr);
  gap: 14px;
  align-items: stretch;
  margin-bottom: 18px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(15, 139, 141, 0.12), rgba(233, 180, 76, 0.16)), var(--surface);
}

.dashboard-announcement-heading {
  display: grid;
  align-content: center;
  gap: 4px;
  padding: 10px 12px;
  border-right: 1px solid var(--line);
}

.dashboard-announcement-heading strong {
  color: var(--ink);
  font-size: 18px;
}

.dashboard-announcement-heading span,
.dashboard-announcement-item small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.dashboard-announcement-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
}

.dashboard-announcement-item {
  min-height: 96px;
  padding: 12px;
  border: 1px solid rgba(15, 139, 141, 0.18);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.76);
}

body.dark-mode .dashboard-announcement-item {
  background: rgba(15, 23, 42, 0.72);
}

.dashboard-announcement-item h3 {
  margin: 5px 0 6px;
  font-size: 16px;
}

.dashboard-announcement-item p {
  margin: 0;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.45;
}

.dashboard-announcement-empty {
  display: grid;
  min-height: 72px;
  place-items: center;
  border: 1px dashed var(--line);
  border-radius: 8px;
  color: var(--muted);
  font-weight: 800;
}

.summary-card,
.panel {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
}

.summary-card {
  padding: 16px;
}

.summary-card small {
  color: var(--muted);
  display: block;
}

.summary-card strong {
  display: block;
  font-size: 28px;
  margin-top: 8px;
}

.summary-card-button {
  width: 100%;
  color: inherit;
  text-align: left;
  cursor: pointer;
  font: inherit;
  transition: border-color 140ms ease, box-shadow 140ms ease, transform 140ms ease;
}

.summary-card-button span {
  display: block;
  margin-top: 6px;
  color: var(--accent);
  font-size: 12px;
  font-weight: 800;
}

.summary-card-button:hover,
.summary-card-button:focus-visible {
  border-color: var(--accent);
  box-shadow: 0 8px 22px rgba(9, 21, 40, 0.1);
  transform: translateY(-1px);
}

.panel {
  margin-bottom: 14px;
}

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

.table-panel-header {
  justify-content: flex-start;
}

.table-header-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.table-panel-header .toolbar {
  margin-left: auto;
}

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

.view-switch {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 14px;
}

.view-switch button,
.secondary-button {
  min-height: 36px;
  padding: 8px 12px;
  border-radius: 6px;
  border: 1px solid var(--line);
  background: var(--soft);
  color: var(--ink);
}

.view-switch button.active {
  color: #fff;
  border-color: var(--accent);
  background: var(--accent);
}

.toolbar {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) 150px 150px auto auto;
  gap: 8px;
  align-items: center;
}

.table-wrap {
  overflow: auto;
}

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

th,
td {
  border-bottom: 1px solid var(--line);
  padding: 10px 12px;
  text-align: center;
  vertical-align: middle;
}

th {
  font-size: 12px;
  color: var(--muted);
  background: #f7f9fb;
}

td {
  font-size: 13px;
}

.dashboard-recipe-table {
  min-width: 620px;
}

.dashboard-recipe-table th,
.dashboard-recipe-table td {
  height: 46px;
  vertical-align: middle;
}

.dashboard-recipe-panel .panel-header {
  min-height: 58px;
}

.dashboard-main-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 14px;
  align-items: stretch;
}

.dashboard-main-grid .panel {
  min-width: 0;
  min-height: 360px;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
}

.dashboard-main-grid .table-wrap {
  min-height: 0;
  overflow: auto;
}

.dashboard-update-list {
  display: grid;
  gap: 0;
  padding: 4px 0;
}

.dashboard-update-item {
  display: grid;
  grid-template-columns: 88px 1fr 120px;
  gap: 12px;
  align-items: center;
  min-height: 44px;
  padding: 10px 18px;
  border-top: 1px solid var(--line);
}

.dashboard-update-item:first-child {
  border-top: 0;
}

.dashboard-update-item span {
  color: var(--accent);
  font-weight: 900;
}

.dashboard-update-item strong {
  font-size: 13px;
  font-weight: 750;
}

.dashboard-update-item small {
  color: var(--muted);
  font-weight: 700;
  text-align: right;
}

.admin-settings-panel {
  max-width: 920px;
}

.admin-settings-grid {
  display: grid;
  gap: 0;
}

.admin-setting-row {
  min-height: 74px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  padding: 16px 18px;
  border-top: 1px solid var(--line);
}

.admin-setting-row:first-child {
  border-top: 0;
}

.admin-setting-choice-row {
  grid-template-columns: auto minmax(0, 1fr);
  justify-content: start;
}

.admin-setting-row strong,
.admin-setting-row span {
  display: block;
}

.admin-setting-row strong {
  font-size: 14px;
}

.admin-setting-row span {
  margin-top: 4px;
  color: var(--muted);
  font-size: 13px;
}

.admin-setting-switch {
  display: flex;
  grid-template-columns: none;
  align-items: center;
  gap: 10px;
  color: var(--ink);
  font-weight: 800;
}

.admin-setting-switch input {
  width: 18px;
  height: 18px;
}

.site-logo-setting {
  align-items: start;
}

.site-logo-control {
  display: grid;
  grid-template-columns: 92px auto auto auto;
  gap: 10px;
  align-items: center;
}

.site-logo-preview {
  width: 92px;
  height: 58px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 6px;
  background-color: transparent;
  background-image:
    linear-gradient(45deg, rgba(148, 163, 184, 0.18) 25%, transparent 25%),
    linear-gradient(-45deg, rgba(148, 163, 184, 0.18) 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, rgba(148, 163, 184, 0.18) 75%),
    linear-gradient(-45deg, transparent 75%, rgba(148, 163, 184, 0.18) 75%);
  background-position: 0 0, 0 6px, 6px -6px, -6px 0;
  background-size: 12px 12px;
}

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

.site-logo-preview span {
  margin: 0;
  font-size: 12px;
  font-weight: 800;
}

.site-logo-file-button {
  position: relative;
  overflow: hidden;
}

.site-logo-file-button input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}

.site-color-control {
  display: grid;
  grid-template-columns: 52px minmax(110px, 150px) auto auto;
  gap: 10px;
  align-items: center;
}

.site-color-control input[type="color"] {
  width: 52px;
  height: 42px;
  padding: 3px;
  cursor: pointer;
}

.row-actions {
  display: flex;
  gap: 6px;
}

.row-actions button {
  min-height: 30px;
  padding: 5px 8px;
  border-radius: 5px;
  background: var(--soft);
  border: 1px solid var(--line);
}

.row-actions .measurement-button {
  font-weight: 800;
}

.row-actions .measurement-button.measurement-complete {
  background: #dcfce7;
  border-color: #86efac;
  color: #166534;
}

.row-actions .measurement-button.measurement-complete:hover {
  background: #bbf7d0;
}

.row-actions .recipe-image-button.measurement-complete {
  background: #dcfce7;
  border-color: #86efac;
  color: #166534;
  font-weight: 800;
}

.row-actions .recipe-image-button.measurement-complete:hover {
  background: #bbf7d0;
}

.row-actions .measurement-button.measurement-pending {
  background: #fee2e2;
  border-color: #fecaca;
  color: #991b1b;
}

.row-actions .measurement-button.measurement-pending:hover {
  background: #fecaca;
}

.row-actions .measurement-button.measurement-review {
  background: #ffedd5;
  border-color: #fdba74;
  color: #9a3412;
}

.row-actions .measurement-button.measurement-review:hover {
  background: #fed7aa;
}

.measurement-add-row-button {
  margin-top: 10px;
}

.row-actions .recipe-list-delete-button {
  width: 30px;
  min-width: 30px;
  padding: 0;
  display: inline-grid;
  place-items: center;
  border-color: #fecaca;
  background: #fee2e2;
  color: #991b1b;
  font-size: 18px;
  font-weight: 900;
  line-height: 1;
}

.row-actions .recipe-list-delete-button:hover {
  background: #fecaca;
}

.row-actions.announcement-actions button {
  transition: transform 0.16s ease, background 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease;
}

.row-actions.announcement-actions button:hover {
  transform: translateY(-2px);
  border-color: var(--accent);
  background: #eaf6f6;
  color: var(--accent);
  box-shadow: 0 10px 20px rgba(15, 139, 141, 0.16);
}

.row-actions.announcement-actions [data-delete] {
  border-color: #fecaca;
  background: #fee2e2;
  color: #991b1b;
  font-weight: 850;
}

.row-actions.announcement-actions [data-delete]:hover {
  border-color: #fca5a5;
  background: #fecaca;
  color: #7f1d1d;
  box-shadow: 0 10px 20px rgba(220, 38, 38, 0.16);
}

.password-hidden-button {
  min-height: 28px;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid #9aa8ba;
  background: #f8fafc;
  color: var(--ink);
  font-size: 12px;
  font-weight: 800;
}

.password-hidden-button:hover {
  background: #eaf6f6;
  color: var(--accent);
}

.stock-ledger-shell {
  display: grid;
  gap: 12px;
}

.stock-ledger-top {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.stock-ledger-top span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
  text-transform: uppercase;
}

.stock-ledger-top h3 {
  margin: 4px 0 0;
  font-size: 22px;
}

.stock-ledger-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(86px, 1fr));
  gap: 8px;
}

.stock-ledger-summary div {
  min-height: 58px;
  display: grid;
  gap: 4px;
  align-content: center;
  padding: 8px 10px;
  border: 1px solid #dde4ee;
  border-radius: 8px;
  background: #f8fafc;
}

.stock-ledger-summary small {
  color: #667085;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.stock-ledger-summary strong {
  color: #111827;
  font-size: 18px;
}

.stock-ledger-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 0 2px;
}

.stock-ledger-tabs button {
  min-height: 34px;
  padding: 7px 13px;
  border: 1px solid #d9e0ea;
  border-radius: 7px;
  background: #fff;
  color: #344054;
  font-weight: 800;
}

.stock-ledger-tabs button.active {
  border-color: #0f8b8d;
  background: #e7f7f7;
  color: #0f766e;
}

.stock-ledger-toolbar {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  align-items: center;
  padding: 12px;
  border: 1px solid #d9e0ea;
  border-radius: 8px;
  background: #fff;
}

.stock-ledger-toolbar > div {
  margin-right: auto;
  display: grid;
  gap: 2px;
}

.stock-ledger-toolbar strong {
  color: #111827;
  font-size: 14px;
}

.stock-ledger-toolbar span {
  color: #667085;
  font-size: 12px;
  font-weight: 750;
}

.stock-ledger-toolbar.stock-ledger-toolbar-compact {
  justify-content: flex-end;
  padding: 6px 0;
  border: 0;
  background: transparent;
}

.stock-ledger-toolbar.stock-ledger-toolbar-compact > span {
  margin-right: auto;
}

.stock-settings-button {
  font-size: 18px;
  font-weight: 900;
}

.stock-entry-panel {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(320px, 0.8fr);
  gap: 12px;
}

.stock-entry-form {
  display: grid;
  grid-template-columns: repeat(4, minmax(120px, 1fr)) auto;
  gap: 10px;
  align-items: end;
  padding: 14px;
  border: 1px solid #d9e0ea;
  border-radius: 8px;
  background: #fff;
}

.stock-entry-form.compact {
  grid-template-columns: repeat(2, minmax(120px, 1fr)) auto;
}

.stock-entry-title {
  grid-column: 1 / -1;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  padding-bottom: 8px;
  border-bottom: 1px solid #e6ebf2;
}

.stock-entry-title strong {
  color: #111827;
  font-size: 15px;
}

.stock-entry-title span {
  color: #667085;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.stock-entry-form label {
  min-width: 0;
  color: #344054;
  font-size: 12px;
  font-weight: 850;
}

.stock-entry-form input,
.stock-entry-form select {
  min-height: 36px;
  border-color: #cfd8e3;
  border-radius: 6px;
}

.stock-entry-form .wide {
  grid-column: span 2;
}

.stock-ledger-table-wrap {
  width: 100%;
  max-width: 100%;
  max-height: min(70vh, 720px);
  overflow: auto;
  border: 1px solid #111827;
  border-radius: 8px;
  background: #fff;
  cursor: grab;
  scrollbar-gutter: stable both-edges;
}

.stock-ledger-table-wrap:active {
  cursor: grabbing;
}

.stock-ledger-table-wrap.dragging {
  cursor: grabbing;
  user-select: none;
}

.stock-ledger-table {
  width: max-content;
  min-width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
}

.stock-ledger-table th,
.stock-ledger-table td {
  height: 28px;
  min-width: 114px;
  padding: 4px 6px;
  border-right: 1px solid #1f2937;
  border-bottom: 1px solid #1f2937;
  text-align: center;
  vertical-align: middle;
  font-size: 13px;
}

.stock-ledger-table th {
  position: sticky;
  top: 0;
  z-index: 3;
  height: 58px;
  color: #fff;
  background: var(--ledger-date-bg, #050505);
  font-size: 13px;
  font-weight: 900;
  white-space: normal;
}

.stock-ledger-table th.stock-draggable-column[draggable="true"] {
  cursor: grab;
  user-select: none;
}

.stock-ledger-table th.stock-draggable-column[draggable="true"]:active,
.stock-ledger-table th.stock-draggable-column.dragging {
  cursor: grabbing;
}

.stock-ledger-table th.stock-draggable-column.dragging {
  opacity: 0.55;
}

.stock-ledger-table th.stock-draggable-column.drag-over-left {
  box-shadow: inset 4px 0 0 #2563eb;
}

.stock-ledger-table th.stock-draggable-column.drag-over-right {
  box-shadow: inset -4px 0 0 #2563eb;
}

.recipe-status-badge.archive {
  color: #3f3f46;
  background: #e4e4e7;
  border-color: #a1a1aa;
}

.archive-recipe-details {
  margin: 0 16px 16px;
  padding: 14px;
  border: 1px solid var(--line);
  background: var(--soft);
}

.archive-recipe-details > div {
  display: grid;
  gap: 4px;
  margin-bottom: 12px;
}

.archive-recipe-details h4 {
  margin: 0 0 8px;
}

.archive-recipe-details table {
  width: 100%;
  border-collapse: collapse;
  background: var(--surface);
}

.archive-recipe-details th,
.archive-recipe-details td {
  padding: 7px 9px;
  border: 1px solid var(--line);
  text-align: center;
}

.stock-ledger-shell.green .stock-ledger-table th {
  color: #111827;
  background: var(--ledger-date-bg, #a9d18e);
}

.stock-ledger-shell.red .stock-ledger-table th {
  color: #fff;
  background: var(--ledger-date-bg, #e42623);
}

.stock-ledger-table tbody tr:nth-child(even) td {
  background: var(--ledger-alt-row-bg, #d9d9d9);
}

.stock-ledger-table tbody tr:nth-child(odd) td {
  background: var(--ledger-row-bg, #fff);
}

.stock-ledger-shell.red .stock-ledger-table tbody tr:nth-child(even) td {
  background: var(--ledger-alt-row-bg, #f7d2d2);
}

.stock-ledger-table.has-header-total .stock-ledger-total-row th {
  top: 0;
  z-index: 5;
  height: 34px;
  color: #000;
  background: var(--ledger-total-bg, #fff);
}

.stock-ledger-table.has-header-total thead tr:nth-child(2) th {
  top: 34px;
  z-index: 4;
}

.stock-ledger-table.has-header-total .stock-ledger-total-row .stock-date-col {
  color: #000;
  background: var(--ledger-total-bg, #fff);
}

.stock-ledger-table .stock-date-col,
.stock-ledger-table .stock-date-cell {
  position: sticky;
  left: 0;
  z-index: 2;
  min-width: 112px;
  width: 112px;
  font-weight: 850;
}

.stock-ledger-table .stock-date-col {
  z-index: 6;
}

.stock-ledger-table .stock-date-cell {
  z-index: 3;
  color: #ef1c1c;
  background: var(--ledger-date-bg, #fff);
}

.stock-ledger-table.has-header-total .stock-ledger-total-row .stock-date-col {
  z-index: 8;
}

.stock-ledger-table.has-header-total thead tr:nth-child(2) .stock-date-col {
  z-index: 7;
}

.stock-date-cell span,
.stock-source-label {
  display: block;
}

.stock-source-label {
  margin-top: 2px;
  color: #b91c1c;
  font-size: 11px;
  font-weight: 900;
}

.stock-ledger-shell.green .stock-ledger-table .stock-date-cell {
  background: var(--ledger-date-bg, #a9d18e);
}

.stock-ledger-shell.red .stock-ledger-table .stock-date-cell {
  color: #344054;
}

.stock-popup-modal {
  width: min(920px, 100%);
}

.stock-popup-body {
  padding: 16px;
}

.stock-popup-body .stock-entry-form,
.stock-popup-body .stock-entry-form.compact {
  grid-template-columns: repeat(2, minmax(180px, 1fr));
  border: 0;
  padding: 0;
}

.stock-popup-body .stock-entry-form button[type="submit"] {
  justify-self: end;
}

.stock-settings-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(180px, 1fr));
  gap: 14px;
}

.stock-settings-form label {
  display: grid;
  gap: 8px;
  color: #344054;
  font-weight: 850;
}

.stock-settings-form input[type="color"] {
  width: 100%;
  min-height: 44px;
  padding: 3px;
}

.stock-settings-form footer {
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

.stock-ledger-table td.negative {
  color: #111827;
}

.stock-ledger-table td.positive {
  color: #111827;
}

.stock-ledger-table tfoot td {
  height: 32px;
  background: #fff;
  color: #000;
  font-weight: 900;
}

.stock-ledger-table tfoot td.healthy {
  background: #63be7b;
}

.stock-ledger-table tfoot td.warning {
  background: #ffeb84;
}

.stock-ledger-table tfoot td.critical {
  background: #f8696b;
}

.stock-ledger-shell.green .stock-ledger-table tfoot td {
  background: #f4b183;
}

.stock-ledger-shell.green .stock-ledger-table tfoot td.healthy {
  background: #f4b183;
}

.stock-modern-shell {
  gap: 14px;
}

.stock-modern-top {
  border-color: #d7e7d1;
  background:
    linear-gradient(90deg, rgba(232, 245, 226, 0.95), rgba(255, 255, 255, 0.98));
}

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

.stock-modern-table-tools {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) auto;
  gap: 12px;
  align-items: stretch;
  margin-bottom: 2px;
}

.stock-modern-total-band {
  min-height: 66px;
  display: grid;
  grid-template-columns: auto auto auto 1fr 1fr;
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
  border: 1px solid #cfe3c8;
  border-radius: 8px;
  background: #f0f8ed;
}

.stock-modern-total-band span {
  color: #166534;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.stock-modern-total-band strong {
  color: #14532d;
  font-size: 24px;
}

.stock-modern-total-band small,
.stock-modern-total-band em {
  color: #475467;
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
}

.stock-color-controls {
  min-height: 66px;
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid #d9e0ea;
  border-radius: 8px;
  background: #fff;
}

.stock-color-controls > span {
  color: #667085;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.stock-color-controls label {
  display: flex;
  gap: 6px;
  align-items: center;
  color: #344054;
  font-size: 12px;
  font-weight: 850;
}

.stock-color-controls input {
  width: 28px;
  height: 28px;
  min-height: 28px;
  padding: 0;
  border: 1px solid #cfd8e3;
  border-radius: 6px;
  overflow: hidden;
}

.stock-modern-head,
.stock-modern-row {
  display: grid;
  grid-template-columns: minmax(220px, 1.5fr) repeat(4, minmax(90px, 0.75fr)) minmax(120px, 0.8fr);
  gap: 10px;
  align-items: center;
}

.stock-modern-head {
  min-height: 38px;
  padding: 0 14px;
  color: #667085;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.stock-modern-row {
  min-height: 70px;
  padding: 12px 14px;
  border: 1px solid #dce6d8;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(17, 24, 39, 0.05);
}

.stock-modern-row > div:not(.stock-modern-name) {
  color: #1f2937;
  font-size: 14px;
  font-weight: 800;
}

.stock-modern-name {
  display: grid;
  gap: 4px;
}

.stock-modern-name strong {
  color: #111827;
  font-size: 15px;
}

.stock-modern-name small {
  color: #667085;
  font-size: 12px;
  font-weight: 750;
}

.stock-modern-balance {
  color: #166534 !important;
  font-size: 17px !important;
}

.stock-modern-status {
  display: inline-flex;
  justify-content: center;
  min-width: 86px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: 12px;
  font-weight: 900;
}

.stock-modern-status.healthy {
  border-color: #86efac;
  background: var(--stock-healthy-bg, #dcfce7);
  color: #166534;
}

.stock-modern-status.warning {
  border-color: #fde68a;
  background: var(--stock-warning-bg, #fef3c7);
  color: #92400e;
}

.stock-modern-status.critical {
  border-color: #fecaca;
  background: var(--stock-critical-bg, #fee2e2);
  color: #991b1b;
}

.stock-modern-empty {
  padding: 18px;
  border: 1px dashed #cbd5e1;
  border-radius: 8px;
  background: #fff;
  color: #667085;
  font-weight: 800;
  text-align: center;
}

.stock-demo-shell {
  display: grid;
  gap: 14px;
  color: #172033;
}

.stock-demo-titlebar {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
  padding: 16px 18px;
  border: 1px solid #dbe2ea;
  border-radius: 8px;
  background: #ffffff;
}

.stock-demo-titlebar span,
.stock-demo-titlebar strong {
  color: #0f8b8d;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.stock-demo-titlebar h3 {
  margin: 4px 0;
  font-size: 22px;
}

.stock-demo-titlebar p {
  margin: 0;
  color: #657187;
  font-weight: 700;
}

.stock-demo-filters {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
  padding: 12px;
  border: 1px solid #dbe2ea;
  border-radius: 8px;
  background: #f8fafc;
}

.stock-demo-filters button,
.stock-demo-table-tools button {
  min-height: 36px;
  padding: 0 12px;
  border-radius: 6px;
  background: #e8eef5;
  color: #172033;
  font-weight: 850;
}

.stock-demo-filters button.active {
  background: #0f8b8d;
  color: #ffffff;
}

.stock-demo-filters label {
  display: flex;
  gap: 8px;
  align-items: center;
  color: #657187;
  font-size: 12px;
  font-weight: 900;
}

.stock-demo-filters input,
.stock-demo-filters select {
  min-height: 36px;
  min-width: 150px;
  border-radius: 6px;
  border: 1px solid #cbd5e1;
  background: #ffffff;
}

.stock-demo-check input {
  min-width: 18px;
  width: 18px;
  height: 18px;
}

.stock-demo-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(140px, 1fr));
  gap: 10px;
}

.stock-demo-summary div,
.stock-demo-activity,
.stock-demo-detail {
  border: 1px solid #dbe2ea;
  border-radius: 8px;
  background: #ffffff;
}

.stock-demo-summary div {
  min-height: 78px;
  display: grid;
  gap: 4px;
  align-content: center;
  padding: 12px;
}

.stock-demo-summary span,
.stock-demo-detail span {
  color: #657187;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.stock-demo-summary strong {
  color: #172033;
  font-size: 22px;
}

.stock-demo-card-list {
  display: grid;
  gap: 8px;
}

.stock-demo-card-head,
.stock-demo-card-row {
  display: grid;
  grid-template-columns: minmax(220px, 1.4fr) minmax(170px, 1fr) repeat(4, minmax(90px, 0.7fr));
  gap: 10px;
  align-items: center;
}

.stock-demo-card-head {
  padding: 0 14px;
  color: #657187;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.stock-demo-card-row {
  min-height: 68px;
  padding: 12px 14px;
  border: 1px solid #dbe2ea;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 8px 20px rgba(17, 24, 39, 0.04);
}

.stock-demo-card-row strong {
  display: block;
  color: #172033;
  font-size: 15px;
}

.stock-demo-card-row small {
  color: #657187;
  font-weight: 750;
}

.stock-demo-balance {
  color: #166534;
  font-size: 18px;
  font-weight: 900;
}

.stock-demo-badge {
  display: inline-flex;
  justify-content: center;
  min-width: 86px;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
}

.stock-demo-badge.healthy {
  background: #dcfce7;
  color: #166534;
}

.stock-demo-badge.warning {
  background: #fef3c7;
  color: #92400e;
}

.stock-demo-badge.critical {
  background: #fee2e2;
  color: #991b1b;
}

.stock-demo-dashboard {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 14px;
}

.stock-demo-main {
  display: grid;
  gap: 14px;
}

.stock-demo-activity {
  display: grid;
  gap: 10px;
  padding: 16px;
}

.stock-demo-activity h4,
.stock-demo-detail h4 {
  margin: 0;
}

.stock-demo-activity div {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) auto;
  gap: 4px 12px;
  padding: 12px;
  border-radius: 8px;
  background: #f8fafc;
}

.stock-demo-activity small {
  grid-column: 1 / -1;
  color: #657187;
  font-weight: 750;
}

.stock-demo-detail {
  display: grid;
  gap: 12px;
  align-content: start;
  padding: 18px;
}

.stock-demo-detail p {
  margin: 0;
  color: #657187;
  font-weight: 800;
}

.stock-demo-detail > strong {
  color: #166534;
  font-size: 30px;
}

.stock-demo-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}

.stock-demo-detail-grid div {
  display: grid;
  gap: 4px;
  padding: 10px;
  border-radius: 8px;
  background: #f8fafc;
}

.stock-demo-detail ol {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.stock-demo-detail li {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  padding: 10px;
  border-radius: 8px;
  background: #f8fafc;
}

.stock-demo-table-tools {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}

.stock-demo-controlled {
  display: grid;
  gap: 12px;
}

.stock-demo-table-wrap {
  overflow-x: auto;
  border: 1px solid #dbe2ea;
  border-radius: 8px;
  background: #ffffff;
}

.stock-demo-table {
  width: 100%;
  min-width: 900px;
  border-collapse: collapse;
}

.stock-demo-table th,
.stock-demo-table td {
  padding: 12px;
  border-bottom: 1px solid #edf2f7;
  text-align: left;
}

.stock-demo-table th {
  color: #657187;
  font-size: 12px;
  text-transform: uppercase;
}

.stock-demo-filters.detailed {
  align-items: end;
}

.stock-demo-table-tools.detailed label,
.stock-demo-editor label,
.stock-demo-workbench label {
  display: grid;
  gap: 6px;
  color: #657187;
  font-size: 12px;
  font-weight: 900;
}

.stock-demo-table-tools.detailed select,
.stock-demo-editor input,
.stock-demo-editor textarea,
.stock-demo-workbench input {
  width: 100%;
  min-height: 38px;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  background: #ffffff;
  color: #172033;
  font-weight: 800;
}

.stock-demo-card-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 14px;
  align-items: start;
}

.stock-demo-card-row {
  cursor: pointer;
  transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

.stock-demo-card-row:hover,
.stock-demo-card-row.selected,
.stock-demo-table tr.selected {
  border-color: #0f8b8d;
  box-shadow: 0 10px 24px rgba(15, 139, 141, 0.14);
}

.stock-demo-card-row.selected {
  transform: translateY(-1px);
}

.stock-demo-workbench,
.stock-demo-editor {
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid #dbe2ea;
  border-radius: 8px;
  background: #ffffff;
}

.stock-demo-workbench {
  position: sticky;
  top: 12px;
}

.stock-demo-workbench > span,
.stock-demo-editor span {
  color: #0f8b8d;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.stock-demo-workbench h4,
.stock-demo-editor h4 {
  margin: 0;
  color: #172033;
  font-size: 18px;
}

.stock-demo-workbench p,
.stock-demo-editor p {
  margin: 0;
  color: #657187;
  font-weight: 750;
}

.stock-demo-workbench > strong {
  color: #166534;
  font-size: 28px;
}

.stock-demo-mini-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.stock-demo-projection {
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid #bbf7d0;
  border-radius: 8px;
  background: #f0fdf4;
}

.stock-demo-projection.critical {
  border-color: #fecaca;
  background: #fef2f2;
}

.stock-demo-projection span,
.stock-demo-projection small {
  color: #657187;
  font-size: 12px;
  font-weight: 850;
}

.stock-demo-projection b {
  color: #166534;
  font-size: 22px;
}

.stock-demo-projection.critical b {
  color: #991b1b;
}

.stock-demo-board-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.stock-demo-bar-row {
  position: relative;
  display: grid !important;
  grid-template-columns: minmax(150px, 1fr) auto;
  overflow: hidden;
}

.stock-demo-bar-row i {
  grid-column: 1 / -1;
  height: 8px;
  border-radius: 999px;
  background: #0f8b8d;
}

.stock-demo-alert-row,
.stock-demo-selector-main {
  width: 100%;
  border: 1px solid #dbe2ea;
  border-radius: 8px;
  background: #f8fafc;
  color: #172033;
  text-align: left;
}

.stock-demo-alert-row {
  display: grid;
  gap: 4px;
  padding: 12px;
}

.stock-demo-alert-row strong {
  color: #991b1b;
}

.stock-demo-selector-list {
  display: grid;
  gap: 8px;
}

.stock-demo-selector-item {
  display: block;
}

.stock-demo-selector-main {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) auto auto;
  gap: 6px 10px;
  align-items: center;
  padding: 10px;
}

.stock-demo-selector-item.active .stock-demo-selector-main {
  border-color: #0f8b8d;
  background: #ecfeff;
}

.stock-demo-status-actions {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
}

.stock-demo-menu-button {
  width: 34px;
  height: 34px;
  min-height: 34px;
  display: grid;
  place-items: center;
  border: 1px solid #dbe2ea;
  border-radius: 8px;
  background: #ffffff;
  color: #172033;
  font-size: 17px;
  font-weight: 900;
  line-height: 1;
}

.stock-demo-menu-button:hover {
  border-color: #0f8b8d;
  background: #ecfeff;
  color: #0f8b8d;
}

.stock-demo-selector-main small {
  grid-column: 1 / -1;
  color: #657187;
}

.stock-demo-selector-main em {
  font-style: normal;
}

.stock-demo-detail.detailed {
  position: sticky;
  top: 12px;
}

.stock-demo-fill {
  height: 10px;
  overflow: hidden;
  border-radius: 999px;
  background: #e8eef5;
}

.stock-demo-fill i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #0f8b8d;
}

.stock-demo-movements {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.stock-demo-movements li {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 4px 10px;
  padding: 10px;
  border-radius: 8px;
  background: #f8fafc;
}

.stock-demo-movements b {
  font-size: 13px;
}

.stock-demo-movements b.in {
  color: #166534;
}

.stock-demo-movements b.out {
  color: #991b1b;
}

.stock-demo-movements small {
  grid-column: 2;
  color: #657187;
  font-weight: 800;
}

.stock-demo-table.compact th,
.stock-demo-table.compact td {
  padding: 7px 10px;
  font-size: 12px;
}

.stock-demo-table tr.selected td {
  background: #ecfeff;
}

.stock-demo-table tbody tr {
  cursor: pointer;
}

.stock-demo-inline-input {
  width: 94px;
  min-height: 32px;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  font-weight: 850;
}

.stock-demo-editor {
  grid-template-columns: minmax(220px, 1.2fr) 150px minmax(220px, 1fr) auto;
  align-items: end;
}

.stock-demo-empty {
  padding: 14px;
  border: 1px dashed #cbd5e1;
  border-radius: 8px;
  background: #ffffff;
  color: #657187;
  font-weight: 850;
}

.stock-demo-movement-panel {
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid #dbe2ea;
  border-radius: 8px;
  background: #ffffff;
}

.stock-demo-movement-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}

.stock-demo-movement-head span {
  color: #0f8b8d;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.stock-demo-movement-head h4 {
  margin: 4px 0 0;
  color: #172033;
  font-size: 18px;
}

.stock-demo-movement-totals {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.stock-demo-movement-totals b {
  min-width: 92px;
  padding: 8px 10px;
  border-radius: 8px;
  background: #f0fdf4;
  color: #166534;
  text-align: center;
  font-size: 13px;
}

.stock-demo-movement-totals b.out {
  background: #fef2f2;
  color: #991b1b;
}

.stock-demo-movement-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  gap: 10px;
}

.stock-demo-movement-grid article {
  display: grid;
  gap: 5px;
  padding: 12px;
  border-radius: 8px;
  background: #f8fafc;
}

.stock-demo-movement-grid strong {
  color: #166534;
  font-size: 17px;
}

.stock-demo-movement-grid strong.out {
  color: #991b1b;
}

.stock-demo-movement-grid span {
  color: #172033;
  font-weight: 900;
}

.stock-demo-movement-grid p {
  margin: 0;
  color: #657187;
  font-weight: 750;
}

.stock-demo-movement-grid small {
  color: #657187;
  font-weight: 850;
}

.stock-demo-movement-modal {
  width: min(1180px, 100%);
}

.stock-demo-movement-modal-body {
  display: grid;
  gap: 12px;
  padding: 16px;
}

.stock-demo-movement-modal-body .recipe-filter-panel,
.stock-demo-movement-modal-body .recipe-filter-shortcuts {
  margin: 0;
}

.stock-demo-movement-modal-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(130px, 1fr));
  gap: 10px;
}

.stock-demo-movement-modal-summary div {
  display: grid;
  gap: 4px;
  align-content: center;
  min-height: 72px;
  padding: 12px;
  border: 1px solid #dbe2ea;
  border-radius: 8px;
  background: #ffffff;
}

.stock-demo-movement-modal-summary span {
  color: #657187;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.stock-demo-movement-modal-summary strong {
  color: #172033;
  font-size: 19px;
}

.stock-demo-movement-table-wrap {
  overflow-x: auto;
  border: 1px solid #dbe2ea;
  border-radius: 8px;
  background: #ffffff;
}

.stock-demo-movement-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
}

.stock-demo-movement-table th,
.stock-demo-movement-table td {
  padding: 12px;
  border-bottom: 1px solid #edf2f7;
  text-align: left;
}

.stock-demo-movement-table th {
  color: #657187;
  font-size: 12px;
  text-transform: uppercase;
}

.stock-demo-move-in {
  color: #166534;
  font-weight: 900;
}

.stock-demo-move-out {
  color: #991b1b;
  font-weight: 900;
}

@media screen and (max-width: 980px) and (pointer: coarse) {
  .stock-demo-card-layout,
  .stock-demo-dashboard,
  .stock-demo-board-grid,
  .stock-demo-movement-grid,
  .stock-demo-movement-modal-summary,
  .stock-demo-editor {
    grid-template-columns: 1fr;
  }

  .stock-demo-movement-head {
    display: grid;
  }

  .stock-demo-movement-totals {
    justify-content: flex-start;
  }

  .stock-demo-workbench,
  .stock-demo-detail.detailed {
    position: static;
  }
}

.role-permission-layout {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: 14px;
}

.role-list-panel,
.role-permission-panel {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.role-list-panel {
  padding: 12px;
}

.role-list-panel h3 {
  margin: 0 0 10px;
  font-size: 16px;
}

.role-list-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.role-list-heading h3 {
  margin: 0;
}

.role-add-button {
  width: 32px;
  height: 32px;
  min-height: 32px;
  padding: 0;
  display: inline-grid;
  place-items: center;
  font-size: 20px;
  font-weight: 900;
}

.role-permission-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.role-list {
  display: grid;
  gap: 6px;
}

.role-list button {
  min-height: 38px;
  padding: 8px 10px;
  border-radius: 6px;
  text-align: left;
  background: var(--soft);
  color: var(--ink);
  border: 1px solid var(--line);
}

.role-list button.active {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
}

.role-permission-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(260px, 1fr));
  gap: 10px;
  padding: 12px;
}

.role-module-option {
  display: grid;
  gap: 10px;
  align-items: stretch;
  min-height: 118px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.role-module-main {
  display: grid;
  grid-template-columns: auto 34px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
}

.role-module-option input {
  width: 18px;
  height: 18px;
}

.role-module-option .menu-icon {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 6px;
  background: #eaf6f6;
  color: var(--accent);
  font-size: 12px;
  font-weight: 800;
}

.role-module-option strong,
.role-module-option small {
  display: block;
}

.role-module-option small {
  color: var(--muted);
  font-size: 12px;
}

.role-module-permissions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px 10px;
  padding-top: 8px;
  border-top: 1px solid var(--line);
}

.role-module-permissions label {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--ink);
  font-size: 12px;
  font-weight: 700;
}

.role-module-permissions input:disabled + span {
  color: var(--muted);
}

.role-page-permission-list {
  display: grid;
  gap: 10px;
  padding: 12px;
}

.role-page-group {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.role-page-group-header,
.role-page-row {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) 110px 110px;
  align-items: center;
  min-height: 46px;
}

.role-page-group-header {
  position: relative;
  background: var(--soft);
  border-bottom: 1px solid var(--line);
  font-weight: 800;
}

.role-page-group-title {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
}

.role-page-group-title .menu-icon {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 6px;
  background: #eaf6f6;
  color: var(--accent);
  font-size: 11px;
}

.role-page-group-header > label,
.role-page-row > label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 46px;
  border-left: 1px solid var(--line);
}

.role-page-group-header > label {
  flex-direction: column;
  gap: 2px;
  padding: 5px;
  font-size: 10px;
  color: var(--muted);
}

.role-page-group input {
  width: 18px;
  height: 18px;
  accent-color: var(--accent);
}

.role-page-permission-head {
  display: none;
}

.role-page-row {
  min-height: 42px;
  border-bottom: 1px solid var(--line);
}

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

.role-page-row > span {
  padding: 9px 16px 9px 54px;
  color: var(--ink);
}

.role-page-row label span {
  display: none;
}

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

body.dark-mode .role-page-group,
body.dark-mode .role-page-group-header {
  background: var(--panel);
}

@media screen and (max-width: 760px) and (pointer: coarse) {
  .role-page-group-header,
  .role-page-row {
    grid-template-columns: minmax(150px, 1fr) 64px 64px;
  }

  .role-page-row > span {
    padding-left: 14px;
  }
}

.modal-root {
  position: fixed;
  inset: 0;
  z-index: 20;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(9, 21, 40, 0.42);
}

.modal {
  width: min(860px, 100%);
  max-height: 92vh;
  overflow: auto;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 28px 90px rgba(9, 21, 40, 0.25);
}

.modal header {
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-bottom: 1px solid var(--line);
}

.modal header h3 {
  margin: 0;
}

.modal form {
  padding: 16px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 13px;
}

.modal form .full {
  grid-column: 1 / -1;
}

.modal footer {
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding-top: 4px;
}

.dashboard-critical-stock-modal {
  width: min(980px, 100%);
}

.dashboard-critical-stock-modal header > div {
  display: grid;
  gap: 3px;
}

.dashboard-critical-stock-modal header small {
  color: var(--muted);
}

.dashboard-critical-stock-table {
  padding: 16px;
  overflow-x: auto;
}

.dashboard-critical-stock-modal > footer {
  padding: 0 16px 16px;
}

.dashboard-detail-openable-row {
  cursor: pointer;
}

.dashboard-detail-openable-row:hover td,
.dashboard-detail-openable-row:focus td {
  background: #eef2ff;
}

.customer-order-modal {
  width: min(1180px, 100%);
}

.customer-order-modal form {
  display: block;
}

.customer-order-header-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}

.customer-order-header-grid label {
  display: grid;
  gap: 6px;
  font-weight: 700;
}

.customer-order-header-grid .full {
  grid-column: 1 / -1;
}

.customer-order-ready {
  display: flex !important;
  grid-template-columns: auto 1fr;
  align-items: center;
  align-self: end;
  min-height: 42px;
}

.customer-order-ready input {
  width: 18px;
  height: 18px;
}

.customer-order-sheet-wrap {
  overflow: visible;
  margin-bottom: 10px;
  border: 1px solid #1f2937;
}

.customer-order-sheet {
  width: 100%;
  min-width: 1080px;
  table-layout: fixed;
  border-collapse: collapse;
}

.customer-order-col-brand { width: 14%; }
.customer-order-col-product { width: 24%; }
.customer-order-col-packaging { width: 17%; }
.customer-order-col-weight { width: 9%; }
.customer-order-col-unit { width: 9%; }
.customer-order-col-piece { width: 7%; }
.customer-order-col-box { width: 7%; }
.customer-order-col-batch { width: 10%; }
.customer-order-col-action { width: 66px; }

.customer-order-sheet th,
.customer-order-sheet td {
  border: 1px solid #1f2937;
  padding: 0;
}

.customer-order-sheet th {
  padding: 9px 7px;
  background: #f3f4f6;
  color: #111827;
  font-size: 15px;
  text-transform: uppercase;
}

.customer-order-sheet th:first-child,
.customer-order-sheet th:nth-child(2),
.customer-order-sheet th:nth-child(3) {
  text-align: left;
}

.customer-order-sheet input {
  width: 100%;
  min-height: 36px;
  border: 0;
  border-radius: 0;
  background: #fff;
}

.customer-order-row-has-product > td,
.customer-order-row-has-product input,
.customer-order-row-has-product .customer-order-choice-toggle {
  background: #eef6ff;
}

.customer-order-row-has-product > td:first-child {
  box-shadow: inset 4px 0 0 #60a5fa;
}

.customer-order-row-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
}

.customer-order-drag-handle {
  width: 27px;
  min-width: 27px;
  min-height: 30px;
  padding: 0;
  border: 0;
  border-radius: 4px;
  background: #e5edf7;
  color: #334155;
  font-size: 17px;
  font-weight: 900;
  cursor: grab;
  touch-action: none;
  user-select: none;
}

.customer-order-drag-handle:active {
  cursor: grabbing;
}

.customer-order-sheet tr.is-dragging {
  opacity: 0.5;
}

.customer-order-sheet tr.drag-before > td {
  border-top: 3px solid #2563eb;
}

.customer-order-sheet tr.drag-after > td {
  border-bottom: 3px solid #2563eb;
}

.customer-order-sheet select {
  width: 100%;
  min-height: 36px;
  border: 0;
  border-radius: 0;
  background: #fff;
}

.customer-order-product-picker {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 34px;
}

.customer-order-product-picker button {
  border: 0;
  border-left: 1px solid #1f2937;
  border-radius: 0;
  background: #e8f0ff;
  color: #1d4ed8;
  font-size: 20px;
  font-weight: 800;
}

.customer-order-choice {
  position: relative;
  min-width: 0;
}

.modal form .shipment-choice-field > .customer-order-choice {
  margin-top: 6px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}

.modal form .shipment-choice-field > .customer-order-choice .customer-order-choice-toggle {
  border-radius: 6px;
}

.shipment-choice-field > span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.shipment-choice-field .customer-order-choice-panel {
  position: fixed;
  width: min(360px, calc(100vw - 16px));
  margin: 0;
  z-index: 40;
}

.customer-order-choice-toggle {
  width: 100%;
  min-height: 36px;
  overflow: hidden;
  padding: 6px 9px;
  border: 0;
  border-radius: 0;
  background: #fff;
  color: #1f2937;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.customer-order-choice-panel {
  position: absolute;
  z-index: 15;
  top: calc(100% + 2px);
  left: 0;
  width: min(300px, 75vw);
  padding: 8px;
  border: 1px solid #b8c5d6;
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 14px 36px rgba(15, 23, 42, 0.2);
}

.customer-order-modal .customer-order-choice-panel.is-viewport-positioned {
  position: fixed;
  z-index: 60;
  max-height: calc(100vh - 16px);
  overflow: hidden;
}

.customer-order-modal .customer-order-choice-panel.is-viewport-positioned .customer-order-choice-options {
  min-height: 0;
  max-height: min(190px, calc(100vh - 150px));
}

.customer-order-choice-panel > input {
  min-height: 38px;
  margin-bottom: 7px;
  border: 1px solid #b8c5d6;
  border-radius: 5px;
}

.customer-order-choice-options {
  display: grid;
  max-height: 190px;
  overflow: auto;
}

.customer-order-choice-clear {
  width: 100%;
  min-height: 32px;
  margin-bottom: 5px;
  padding: 5px 8px;
  border: 0;
  border-bottom: 1px solid #e5e7eb;
  border-radius: 0;
  background: #fff;
  color: #b42318;
  font-weight: 700;
  text-align: left;
}

.customer-order-choice-clear:hover {
  background: #fff0ee;
}

.customer-order-choice-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: stretch;
  border-bottom: 1px solid #e5e7eb;
}

.customer-order-choice-options button,
.customer-order-choice-add {
  width: 100%;
  min-height: 34px;
  padding: 6px 8px;
  border: 0;
  border-bottom: 0;
  border-radius: 0;
  background: #fff;
  color: #1f2937;
  text-align: left;
}

.customer-order-choice-options button:hover {
  background: #edf4ff;
}

.customer-order-choice-options .customer-order-choice-delete {
  width: auto;
  min-width: 42px;
  border-left: 1px solid #e5e7eb;
  color: #b42318;
  font-size: 12px;
  font-weight: 800;
  text-align: center;
}

.customer-order-choice-options .customer-order-choice-delete:hover {
  background: #fff0ee;
}

.customer-order-choice-add {
  margin-top: 7px;
  border: 1px dashed #2563eb;
  border-radius: 5px;
  color: #1d4ed8;
  font-weight: 800;
}

.customer-order-sheet input:focus {
  position: relative;
  z-index: 1;
  outline: 2px solid var(--accent);
}

.customer-order-sheet td:last-child {
  width: 40px;
  text-align: center;
}

.customer-order-modal footer {
  margin-top: 14px;
}

.customer-order-list-table button.recipe-status-badge {
  cursor: pointer;
}

.customer-order-status-modal {
  width: min(520px, 100%);
}

.customer-order-status-modal header > div,
.customer-order-filling-modal header > div {
  display: grid;
  gap: 3px;
}

.customer-order-status-modal header small,
.customer-order-filling-modal header small {
  color: var(--muted);
}

.customer-order-filling-modal {
  width: min(1120px, 100%);
}

.customer-order-filling-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid #bfdbfe;
  border-radius: 7px;
  background: #eff6ff;
  color: #1e3a8a;
}

.customer-order-filling-table {
  min-width: 900px;
}

.customer-order-filling-table td,
.customer-order-filling-table th {
  white-space: nowrap;
}

.customer-order-filling-table input[type="checkbox"] {
  width: 20px;
  height: 20px;
}

.customer-order-filling-table tr.is-filled > td {
  background: #ecfdf3;
  color: #166534;
}

.dashboard-order-open-button {
  padding: 4px 7px;
  border: 0;
  border-radius: 4px;
  background: #e8f0ff;
  color: #1d4ed8;
  font-weight: 850;
  text-decoration: underline;
  cursor: pointer;
}

.toast {
  position: fixed;
  right: 18px;
  top: 86px;
  z-index: 30;
  max-width: min(360px, calc(100vw - 36px));
  padding: 12px 14px;
  border-radius: 6px;
  color: #fff;
  background: var(--ok);
  box-shadow: 0 12px 30px rgba(9, 21, 40, 0.2);
}

.toast.error {
  background: var(--danger);
}

.notice {
  border-left: 4px solid var(--accent-2);
  background: #fff8e6;
  padding: 12px;
  border-radius: 6px;
  margin-bottom: 12px;
}

.recipe-layout {
  display: grid;
  gap: 16px;
}

.additive-sample-shell {
  display: grid;
  gap: 12px;
}

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

.additive-sample-form {
  display: block;
}

.additive-sample-sheet {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  overflow: hidden;
}

.additive-sample-title {
  padding: 16px;
  border-bottom: 1px solid var(--line);
  background: #fff;
}

.additive-sample-title h3 {
  margin: 0 0 4px;
  font-size: 18px;
}

.additive-sample-title p {
  margin: 0;
  color: var(--muted);
}

#additive-sample-entry {
  display: grid;
  padding: 14px;
  background: #fff;
}

#outgoing-sample-body {
  display: grid;
  gap: 10px;
  padding: 14px;
  background: #fff;
}

#outgoing-sample-entry {
  display: grid;
  padding: 14px;
  background: #fff;
}

.additive-sample-entry-row {
  display: grid;
  grid-template-columns: 1.1fr 1.45fr 1fr auto;
  gap: 6px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  align-items: end;
}

.outgoing-sample-row {
  display: grid;
  grid-template-columns: 150px 1.5fr 1fr 1.4fr 0.8fr 1fr 1.6fr;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.outgoing-sample-entry-row {
  display: grid;
  grid-template-columns: 140px 1.2fr 1fr 1.25fr 0.75fr 1fr 1.2fr auto;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  align-items: end;
}

.additive-sample-entry-row label,
.outgoing-sample-entry-row label,
.outgoing-sample-row label {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.outgoing-sample-row .wide {
  min-width: 180px;
}

.additive-sample-entry-row input:not([type="hidden"]),
.outgoing-sample-entry-row input:not([type="hidden"]),
.outgoing-sample-row input:not([type="hidden"]) {
  min-height: 38px;
  background: #fff;
}

.additive-add-button {
  min-height: 38px;
  min-width: 82px;
  padding: 8px 14px;
  border-radius: 6px;
  border: 1px solid #86efac;
  background: #dcfce7;
  color: #166534;
  font-weight: 800;
}

.additive-add-button:hover {
  background: #bbf7d0;
}

.additive-sample-empty {
  padding: 0 26px 18px;
  color: var(--muted);
}

.additive-sample-list {
  display: grid;
  gap: 0;
  padding: 0 14px 14px;
  background: #fff;
}

.additive-sample-list-head,
.additive-sample-list-row {
  display: grid;
  grid-template-columns: 1.1fr 1.45fr 1fr minmax(120px, 0.8fr) 38px;
  gap: 6px;
  align-items: center;
}

.additive-sample-list-head {
  padding: 10px 12px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  border-bottom: 1px solid var(--line);
}

.additive-sample-list-row {
  padding: 11px 12px;
  border-bottom: 1px solid var(--line);
  font-size: 13px;
}

.outgoing-sample-list {
  display: grid;
  gap: 0;
  padding: 0 14px 14px;
  background: #fff;
}

.outgoing-sample-list-head,
.outgoing-sample-list-row {
  display: grid;
  grid-template-columns: 120px 1.15fr 0.9fr 1.2fr 0.7fr 0.95fr 1.1fr minmax(220px, 1.15fr);
  gap: 10px;
  align-items: center;
}

.outgoing-sample-list-head {
  padding: 10px 12px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  border-bottom: 1px solid var(--line);
}

.outgoing-sample-list-row {
  padding: 11px 12px;
  border-bottom: 1px solid var(--line);
  font-size: 13px;
}

.sample-delete-button {
  width: 30px;
  height: 30px;
  position: relative;
  border-radius: 6px;
  border: 1px solid #fecaca;
  background: #fee2e2;
  color: #b91c1c;
  font-size: 20px;
  font-weight: 900;
  line-height: 1;
  transition: transform 0.14s ease, background 0.16s ease, opacity 0.16s ease;
}

.sample-measurement-button {
  min-width: 0;
  min-height: 30px;
  padding: 4px 7px;
  border-radius: 6px;
  font-weight: 800;
  white-space: nowrap;
}

.sample-measurement-button.measurement-complete {
  background: #dcfce7;
  border-color: #86efac;
  color: #166534;
}

.sample-measurement-button.measurement-pending {
  background: #fee2e2;
  border-color: #fecaca;
  color: #991b1b;
}

.sample-measurement-modal .lab-result-screen {
  min-width: 0;
}

.sample-measurement-type-modal {
  width: min(560px, calc(100vw - 32px));
}

.sample-measurement-type-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.sample-measurement-type-button {
  display: grid;
  gap: 7px;
  min-height: 120px;
  padding: 20px;
  border: 2px solid var(--line);
  border-radius: 12px;
  background: var(--soft);
  color: var(--ink);
  text-align: left;
}

.sample-measurement-type-button strong {
  color: var(--accent);
  font-size: 22px;
}

.sample-measurement-type-button.is-selected,
.sample-measurement-type-button:hover {
  border-color: #86efac;
  background: #dcfce7;
}

.sample-delete-button:hover {
  background: #fecaca;
}

.sample-delete-button:active {
  transform: scale(0.92);
}

.sample-delete-button.is-loading {
  color: transparent;
  opacity: 0.9;
  background: #fecaca;
}

.sample-delete-button.is-loading::before {
  content: "";
  position: absolute;
  inset: 7px;
  border: 2px solid rgba(185, 28, 28, 0.2);
  border-top-color: #b91c1c;
  border-radius: 50%;
  animation: consultant-spin 0.7s linear infinite;
}

.consultant-shell {
  display: grid;
  gap: 12px;
}

.consultant-card {
  display: block;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
}

.consultant-title {
  padding: 16px;
  border-bottom: 1px solid var(--line);
  background: #fff;
}

.consultant-title h3 {
  margin: 0 0 4px;
  font-size: 18px;
}

.consultant-title p {
  margin: 0;
  color: var(--muted);
}

.consultant-filter-row {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) 220px auto auto;
  gap: 10px;
  align-items: end;
  margin: 14px 14px 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
}

.consultant-filter-row label {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.consultant-filter-row input,
.consultant-filter-row select {
  min-height: 38px;
  background: #fff;
}

.consultant-card button,
.quality-card button,
.purchase-order-card button,
.company-vehicle-card button,
.admin-log-card button,
.panel .reminder-button {
  transition: transform 0.16s ease, background 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease, opacity 0.16s ease;
}

.panel .reminder-button:hover:not(.is-loading) {
  transform: translateY(-2px);
  border-color: var(--accent);
  background: #eaf6f6;
  color: var(--accent);
  box-shadow: 0 10px 20px rgba(15, 139, 141, 0.16);
}

.panel .reminder-button:active:not(.is-loading) {
  transform: translateY(0) scale(0.98);
}

.consultant-card button.is-loading,
.quality-card button.is-loading,
.purchase-order-card button.is-loading,
.company-vehicle-card button.is-loading,
.admin-log-card button.is-loading,
.panel .reminder-button.is-loading {
  position: relative;
  padding-left: 34px;
  opacity: 0.9;
  background: #eaf6f6;
  color: var(--accent);
}

.consultant-card button.is-loading::before,
.quality-card button.is-loading::before,
.purchase-order-card button.is-loading::before,
.company-vehicle-card button.is-loading::before,
.admin-log-card button.is-loading::before,
.panel .reminder-button.is-loading::before {
  content: "";
  position: absolute;
  left: 12px;
  top: 50%;
  width: 13px;
  height: 13px;
  margin-top: -7px;
  border: 2px solid rgba(15, 139, 141, 0.24);
  border-top-color: var(--accent);
  border-radius: 50%;
  animation: consultant-spin 0.7s linear infinite;
}

.notification-days {
  color: #dc2626;
  font-weight: 900;
}

.consultant-card.is-filtering .consultant-list,
.consultant-card.is-filtering .consultant-empty,
.quality-card.is-filtering .quality-table-wrap,
.purchase-order-card.is-filtering .purchase-order-table-wrap,
.company-vehicle-card.is-filtering .company-vehicle-list,
.admin-log-card.is-filtering .admin-log-table-wrap {
  opacity: 0.42;
  transform: translateY(4px);
}

.consultant-list,
.consultant-empty,
.quality-table-wrap,
.purchase-order-table-wrap,
.company-vehicle-list,
.admin-log-table-wrap {
  transition: opacity 0.18s ease, transform 0.18s ease;
}

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

.consultant-entry-row {
  display: grid;
  gap: 10px;
  align-items: end;
  margin: 14px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.consultant-call-entry {
  grid-template-columns: minmax(150px, 1fr) minmax(180px, 1.2fr) 150px 110px minmax(180px, 1fr) auto;
}

.consultant-visitor-entry {
  grid-template-columns: 135px 110px minmax(220px, 1fr) minmax(200px, 1fr) auto;
}

.consultant-cargo-entry {
  grid-template-columns: 135px 110px minmax(160px, 0.8fr) minmax(190px, 1fr) minmax(190px, 1fr) auto;
}

.consultant-delivery-note-entry {
  grid-template-columns: 150px minmax(240px, 1fr) minmax(260px, 1fr) auto;
}

.consultant-entry-row label {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.consultant-entry-row input,
.consultant-entry-row select {
  min-height: 38px;
  background: #fff;
}

.consultant-entry-row input.required-invalid,
.consultant-entry-row select.required-invalid,
.quality-process-form input.required-invalid,
.quality-process-form select.required-invalid,
.quality-process-form textarea.required-invalid {
  border-color: var(--danger);
  background: #fff5f5;
  box-shadow: 0 0 0 2px rgba(192, 57, 43, 0.12);
}

.consultant-empty {
  padding: 0 26px 18px;
  color: var(--muted);
}

.consultant-list {
  display: grid;
  padding: 0 14px 14px;
  background: #fff;
}

.consultant-list-head,
.consultant-list-row {
  display: grid;
  gap: 10px;
  align-items: center;
}

.consultant-call-list .consultant-list-head,
.consultant-call-list .consultant-list-row {
  grid-template-columns: minmax(150px, 1fr) minmax(180px, 1.2fr) 130px 100px minmax(180px, 1fr) 38px;
}

.consultant-visitor-list .consultant-list-head,
.consultant-visitor-list .consultant-list-row {
  grid-template-columns: 135px 100px minmax(220px, 1fr) minmax(200px, 1fr) 38px;
}

.consultant-cargo-list .consultant-list-head,
.consultant-cargo-list .consultant-list-row {
  grid-template-columns: 135px 100px minmax(160px, 0.8fr) minmax(190px, 1fr) minmax(190px, 1fr) 38px;
}

.consultant-delivery-note-list .consultant-list-head,
.consultant-delivery-note-list .consultant-list-row {
  grid-template-columns: 120px minmax(190px, 0.8fr) 150px minmax(280px, 1.4fr) 160px 130px;
}

.consultant-delivery-note-list.is-readonly .consultant-list-head,
.consultant-delivery-note-list.is-readonly .consultant-list-row {
  grid-template-columns: 120px minmax(190px, 0.8fr) 150px minmax(280px, 1.4fr) 160px;
}

.consultant-delivery-note-list {
  overflow-x: auto;
}

.consultant-delivery-note-list .consultant-list-head,
.consultant-delivery-note-list .consultant-list-row {
  min-width: 1080px;
}

.delivery-note-products-cell {
  justify-content: flex-start !important;
  white-space: normal;
  line-height: 1.35;
}

.delivery-note-products-button {
  width: 100%;
  min-height: 44px;
  border-radius: 0;
}

.delivery-note-products-modal {
  width: min(1080px, calc(100vw - 32px));
}

.delivery-note-products-table {
  min-width: 900px;
}

.delivery-note-products-table th,
.delivery-note-products-table td {
  white-space: nowrap;
}

.delivery-note-no-filled-products {
  padding: 24px;
  text-align: center;
}

.delivery-note-request-upload {
  gap: 8px;
}

.delivery-note-request-upload button {
  width: 100%;
}

.delivery-note-row-actions {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 5px 6px !important;
}

.delivery-note-row-actions .delivery-note-replace-button {
  flex: 1 1 auto;
  width: auto;
  min-width: 70px;
  padding-inline: 8px;
  white-space: nowrap;
}

.delivery-note-row-actions .sample-delete-button {
  flex: 0 0 34px;
  width: 34px;
  min-width: 34px;
  height: 34px;
  margin: 0;
}

.delivery-note-pending-label {
  color: #92400e;
  font-weight: 800;
}

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

.delivery-note-open-button {
  justify-self: center;
  min-width: 132px;
}

.consultant-list-head {
  padding: 10px 12px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  border-bottom: 1px solid var(--line);
}

.consultant-list-row {
  padding: 11px 12px;
  border-bottom: 1px solid var(--line);
  font-size: 13px;
}

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

.quality-title {
  padding: 16px;
  border-bottom: 1px solid var(--line);
  background: #fff;
}

.quality-title h3 {
  margin: 0 0 4px;
  font-size: 18px;
}

.quality-title p {
  margin: 0;
  color: var(--muted);
}

.quality-process-form {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: end;
  padding: 14px;
  position: relative;
}

.quality-card:has(.quality-process-form) {
  overflow: visible;
}

.quality-process-form label,
.quality-choice-field,
.quality-filter-row label {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.quality-process-form .wide {
  flex: 1 1 460px;
}

.quality-process-form label {
  flex: 1 1 260px;
}

.quality-date-field {
  flex: 0 0 182px !important;
}

.quality-product-field {
  flex: 1 1 280px !important;
}

.quality-customer-field {
  flex: 0 1 220px !important;
}

.quality-batch-field {
  flex: 0 0 210px !important;
  position: relative;
  z-index: 8;
}

.quality-batch-field:focus-within {
  z-index: 35;
}

.quality-batch-picker {
  position: relative;
  width: 100%;
  margin-top: 6px;
}

.quality-batch-picker > input {
  width: 100%;
}

.quality-batch-dropdown {
  position: absolute;
  z-index: 40;
  top: calc(100% + 3px);
  left: 0;
  width: min(360px, calc(100vw - 32px));
  max-height: 300px;
  overflow-y: auto;
  border: 1px solid #9aa8ba;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 12px 26px rgba(9, 21, 40, 0.2);
}

.quality-batch-options {
  display: grid;
}

.quality-batch-options button {
  display: grid;
  gap: 2px;
  width: 100%;
  padding: 9px 11px;
  border: 0;
  border-bottom: 1px solid #e2e8f0;
  border-radius: 0;
  background: #fff;
  color: #172033;
  text-align: left;
}

.quality-batch-options button:hover,
.quality-batch-options button:focus-visible {
  background: #eff6ff;
}

.quality-batch-options button span,
.quality-batch-empty {
  color: var(--muted);
  font-size: 11px;
}

.quality-batch-empty {
  padding: 11px;
}

.quality-amount-field,
.quality-gramaj-field,
.quality-weight-field {
  flex: 0 0 195px !important;
}

.quality-unit-field {
  flex: 0 0 125px !important;
}

.quality-choice-field > span {
  display: block;
  margin-bottom: 6px;
}

.quality-choice-field .customer-order-choice {
  border: 1px solid #9aa8ba;
  border-radius: 6px;
  background: #fff;
}

.quality-choice-field .customer-order-choice-toggle {
  min-height: 38px;
  border-radius: 6px;
}

.quality-choice-field {
  position: relative;
  z-index: 5;
}

.quality-choice-field:focus-within {
  z-index: 30;
}

.quality-choice-field .customer-order-choice-panel {
  display: grid;
  width: min(320px, calc(100vw - 32px));
  max-height: min(360px, calc(100vh - 48px));
  overflow: visible;
}

.quality-choice-field .customer-order-choice-panel.hidden {
  display: none;
}

.quality-choice-field .customer-order-choice-options {
  max-height: 220px;
  overflow-y: auto;
}

.quality-choice-field .customer-order-choice-panel > .customer-order-choice-add {
  display: block !important;
  position: relative;
  z-index: 2;
  margin-top: 7px;
  background: #eff6ff;
}

.quality-choice-field .customer-order-choice.has-add-below {
  overflow: visible;
}

.quality-choice-field .customer-order-choice-add-below {
  margin: 6px 0 0;
  min-height: 32px;
  border: 1px dashed #2563eb;
  border-radius: 5px;
  background: #fff;
  color: #1d4ed8;
  text-align: center;
}

.quality-status-field {
  flex: 0 0 92px !important;
}

.quality-start-field {
  flex: 0 0 128px !important;
}

.quality-total-field {
  flex: 0 0 150px !important;
}

.quality-packaging-note-field {
  flex: 0 1 260px !important;
}

.quality-note-field {
  flex: 1 1 100% !important;
}

.quality-process-edit-modal {
  width: min(1100px, 100%);
}

.quality-process-form input,
.quality-process-form select,
.quality-process-form textarea,
.quality-filter-row input,
.quality-filter-row select {
  min-height: 38px;
  border-color: #9aa8ba;
  background: #fff;
}

.quality-process-form textarea {
  min-height: 78px;
}

.quality-actions {
  flex: 1 1 100%;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.quality-filter-row {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) 160px 160px 220px auto auto;
  gap: 10px;
  align-items: end;
  margin: 14px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
}

.quality-table-wrap {
  overflow: auto;
  padding: 0 14px 14px;
}

.quality-process-table {
  min-width: 1740px;
}

.quality-process-day-group {
  display: grid;
  gap: 8px;
  margin-bottom: 18px;
}

.quality-process-day-group h4 {
  margin: 0;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #eef2f7;
  color: var(--ink);
  font-size: 15px;
}

.stock-movement-item-picker {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  overflow: visible;
}

[data-stock-movement-category] option {
  background: #fff;
  color: #172033;
  -webkit-text-fill-color: #172033;
}

.stock-movement-options-error {
  display: block;
  margin-top: 6px;
  color: #b42318;
  font-size: 12px;
  font-weight: 750;
}

.stock-movement-card-field,
.stock-movement-card-combobox {
  min-width: 0;
}

.stock-movement-card-combobox {
  position: relative;
}

.stock-movement-card-toggle {
  position: relative;
  width: 100%;
  min-height: 40px;
  margin: 0;
  padding: 8px 34px 8px 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  color: var(--ink);
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.stock-movement-card-toggle::after {
  content: '\25BE';
  position: absolute;
  top: 50%;
  right: 11px;
  transform: translateY(-50%);
}

.stock-movement-card-toggle:disabled {
  background: #eef2f7;
  color: var(--muted);
  cursor: not-allowed;
}

.stock-movement-card-dropdown {
  position: absolute;
  z-index: 90;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  min-width: 320px;
  padding: 7px;
  border: 1px solid #9ca3af;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 12px 26px rgba(9, 21, 40, 0.2);
}

.stock-movement-card-dropdown input {
  width: 100%;
  margin: 0 0 6px;
  box-sizing: border-box;
}

.stock-movement-card-options {
  max-height: 260px;
  overflow-y: auto;
}

.stock-movement-card-options button {
  display: block;
  width: 100%;
  padding: 8px 9px;
  border: 0;
  border-bottom: 1px solid #e5e7eb;
  border-radius: 0;
  background: #fff;
  color: #111827;
  text-align: left;
}

.stock-movement-card-options button:hover,
.stock-movement-card-options button:focus-visible {
  background: #e8f1f8;
}

.stock-movement-card-empty {
  padding: 9px 8px;
  color: #6b7280;
  font-size: 12px;
}

.stock-movement-card-native-select {
  display: none;
}

.stock-movement-product-native-select {
  display: block;
  width: 100%;
  min-height: 40px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  color: #172033;
}

.stock-movement-product-native-select option {
  background: #fff;
  color: #172033;
  -webkit-text-fill-color: #172033;
}

.quality-process-table th {
  color: #172033;
  background: #dbe8fb;
  text-align: center;
  vertical-align: middle;
}

.quality-process-table td {
  text-align: center;
  vertical-align: middle;
}

.quality-process-table th:not(.table-note-column),
.quality-process-table td:not(.table-note-column) {
  white-space: nowrap;
}

.quality-process-table td:nth-child(3),
.quality-process-table td:nth-child(4),
.quality-process-table td:nth-child(13),
.quality-process-table td:nth-child(14) {
  text-align: center;
  vertical-align: middle;
}

.recipe-image-modal {
  width: min(680px, calc(100vw - 32px));
}

.recipe-image-preview {
  display: grid;
  place-items: center;
  min-height: 260px;
  margin: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
  color: var(--muted);
  overflow: hidden;
}

.recipe-image-preview img {
  display: block;
  max-width: 100%;
  max-height: 440px;
  object-fit: contain;
}

.recipe-image-file-label,
.recipe-image-modal > p {
  margin: 0 16px 12px;
}

.recipe-image-file-label {
  display: grid;
  gap: 6px;
  font-weight: 700;
}

.purchase-order-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
}

.purchase-order-title {
  padding: 16px;
  border-bottom: 1px solid var(--line);
  background: #fff;
}

.purchase-order-title h3 {
  margin: 0 0 4px;
  font-size: 18px;
}

.purchase-order-title p {
  margin: 0;
  color: var(--muted);
}

.purchase-order-form {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: end;
  padding: 14px;
  border-bottom: 1px solid var(--line);
}

.purchase-order-form label {
  flex: 1 1 230px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.purchase-order-form .small-field {
  flex: 0 0 150px;
}

.purchase-order-form .wide {
  flex: 1 1 460px;
}

.purchase-order-form textarea {
  min-height: 72px;
}

.purchase-order-form input.required-invalid,
.purchase-order-form select.required-invalid,
.purchase-order-form textarea.required-invalid {
  border-color: var(--danger);
  background: #fff5f5;
  box-shadow: 0 0 0 2px rgba(192, 57, 43, 0.12);
}

.purchase-order-actions {
  flex: 1 1 100%;
  display: flex;
  justify-content: flex-end;
}

.purchase-order-table-wrap {
  overflow: auto;
  padding: 14px;
}

.purchase-order-table {
  min-width: 1440px;
}

.purchase-order-table th {
  color: #172033;
  background: #f1f5f9;
  text-align: center;
}

.purchase-order-table td {
  text-align: center;
  vertical-align: middle;
}

.purchase-order-table td:nth-child(5),
.purchase-order-table td:nth-child(7) {
  text-align: left;
}

.purchase-order-row-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.request-delete-button,
.request-cancel-button {
  min-height: 30px;
  padding: 5px 10px;
  border-radius: 6px;
  font-weight: 800;
}

.request-delete-button {
  border: 1px solid #fecaca;
  background: #fff1f2;
  color: #b91c1c;
}

.request-cancel-button {
  border: 1px solid #f59e0b;
  background: #fffbeb;
  color: #92400e;
}

.request-action-closed {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.purchase-order-clickable-row {
  cursor: pointer;
}

.purchase-order-clickable-row:hover td {
  background: #f8fafc;
}

.supplier-list-modal {
  width: min(620px, 96vw);
}

.supplier-add-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--line);
}

.supplier-add-form label {
  display: grid;
  gap: 5px;
  font-weight: 800;
}

.supplier-add-form input {
  min-height: 38px;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 8px 10px;
}

.supplier-list {
  max-height: 58vh;
  overflow: auto;
  padding: 10px 16px 16px;
}

.supplier-list-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  border-bottom: 1px solid #edf2f7;
}

.supplier-list-row span {
  font-weight: 700;
}

.supplier-empty {
  padding: 16px;
  color: var(--muted);
}

.purchase-order-row-actions .secondary-button {
  position: relative;
  min-height: 30px;
  padding: 5px 9px;
}

.purchase-order-row-actions .secondary-button.is-loading {
  padding-left: 30px;
  background: #eaf6f6;
  color: var(--accent);
}

.purchase-order-row-actions .secondary-button.is-loading::before {
  content: "";
  position: absolute;
  left: 9px;
  top: 50%;
  width: 12px;
  height: 12px;
  margin-top: -6px;
  border: 2px solid rgba(15, 139, 141, 0.24);
  border-top-color: var(--accent);
  border-radius: 50%;
  animation: consultant-spin 0.7s linear infinite;
}

.purchase-order-modal {
  width: min(1180px, 100%);
}

.purchase-order-modal .purchase-order-form {
  border-bottom: 0;
}

.purchase-status-badge {
  display: inline-grid;
  min-height: 26px;
  place-items: center;
  padding: 4px 9px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 850;
  white-space: nowrap;
}

.purchase-status-badge.success {
  background: #dcfce7;
  color: #166534;
}

.purchase-status-badge.danger {
  background: #fee2e2;
  color: #b91c1c;
}

.purchase-status-badge.warning {
  background: #fff7ed;
  color: #9a3412;
}

.purchase-status-badge.info {
  background: #e0f2fe;
  color: #075985;
}

.purchase-status-badge.neutral {
  background: #f1f5f9;
  color: #475569;
}

.company-vehicle-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
}

.company-vehicle-title {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  padding: 16px;
  border-bottom: 1px solid var(--line);
  background: #fff;
}

.company-vehicle-title-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.company-vehicle-title h3 {
  margin: 0 0 4px;
  font-size: 18px;
}

.company-vehicle-title p {
  margin: 0;
  color: var(--muted);
}

.company-vehicle-form {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 10px;
  padding: 14px;
  border-bottom: 1px solid var(--line);
}

.company-vehicle-modal {
  width: min(960px, 100%);
}

.company-vehicle-settings-modal {
  width: min(420px, 100%);
}

.company-vehicle-modal .company-vehicle-form {
  border-bottom: 0;
}

.company-vehicle-form label {
  flex: 1 1 180px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.company-vehicle-form input.required-invalid {
  border-color: var(--danger);
  background: #fff5f5;
  box-shadow: 0 0 0 2px rgba(192, 57, 43, 0.12);
}

.company-vehicle-actions {
  flex: 0 0 auto;
}

.company-vehicle-settings-form {
  display: grid;
  gap: 14px;
  padding: 16px;
}

.company-vehicle-settings-form label {
  display: grid;
  gap: 8px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.company-vehicle-warnings {
  display: grid;
  gap: 8px;
  padding: 14px;
  border-bottom: 1px solid var(--line);
  background: #fff7ed;
}

.service-document-warnings {
  margin: 14px 14px 0;
}

.service-document-settings-modal {
  width: min(560px, 96vw);
}

.service-document-settings-form {
  padding: 16px;
}

.service-document-new-category {
  flex: 1 1 100%;
}

.service-document-category-entry {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) auto;
  gap: 8px;
  align-items: center;
}

.service-document-category-entry .secondary-button {
  min-height: 38px;
}

.company-vehicle-warning {
  padding: 10px 12px;
  border: 1px solid #fed7aa;
  border-left: 4px solid #dc2626;
  border-radius: 8px;
  background: #fff;
  color: #431407;
  font-size: 14px;
}

.company-vehicle-warning-days {
  color: #dc2626;
  font-weight: 900;
}

.company-vehicle-list {
  display: grid;
  gap: 14px;
  padding: 14px;
}

.company-vehicle-empty {
  color: var(--muted);
}

.company-vehicle-group {
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
}

.company-vehicle-group h4 {
  margin: 0;
  padding: 11px 12px;
  background: #f8fafc;
  border-bottom: 1px solid var(--line);
  font-size: 15px;
}

.company-vehicle-table-wrap {
  overflow: auto;
}

.company-vehicle-table {
  min-width: 900px;
}

.company-vehicle-table th {
  background: #f1f5f9;
  color: #172033;
}

.company-vehicle-edit-button {
  border: 1px solid #93c5fd;
  border-radius: 8px;
  background: #dbeafe;
  color: #1d4ed8;
  font-weight: 800;
}

.company-vehicle-edit-button:hover {
  background: #bfdbfe;
}

.company-vehicle-delete-button {
  border: 1px solid #fecaca;
  border-radius: 8px;
  background: #fee2e2;
  color: #b91c1c;
  font-weight: 800;
}

.company-vehicle-delete-button:hover {
  background: #fecaca;
}

.admin-log-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  overflow: hidden;
  box-shadow: 0 14px 36px rgba(15, 23, 42, 0.08);
}

.admin-log-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 18px;
  border-bottom: 1px solid var(--line);
  background: linear-gradient(180deg, var(--surface), var(--soft));
}

.admin-log-title h3 {
  margin: 0 0 4px;
  font-size: 18px;
}

.admin-log-title p {
  margin: 0;
  color: var(--muted);
}

.admin-log-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(90px, 1fr));
  gap: 8px;
  min-width: min(460px, 100%);
}

.admin-log-summary span {
  display: grid;
  gap: 2px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.68);
}

body.dark-mode .admin-log-summary span {
  background: rgba(15, 23, 42, 0.72);
}

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

.admin-log-summary small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}

.admin-log-filter-row {
  display: grid;
  grid-template-columns: minmax(240px, 1.3fr) minmax(170px, 0.9fr) minmax(170px, 0.9fr) 140px 140px minmax(140px, 0.8fr) minmax(150px, 0.8fr) auto;
  gap: 10px;
  align-items: end;
  margin: 16px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--soft);
}

.admin-log-filter-row label {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.admin-log-filter-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
}

.admin-log-table-wrap {
  overflow: auto;
  padding: 0 16px 16px;
}

.admin-log-table {
  min-width: 1120px;
  table-layout: fixed;
}

.admin-log-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  color: var(--ink);
  background: var(--soft);
}

.admin-log-table tbody tr:hover td {
  background: rgba(15, 139, 141, 0.06);
}

.admin-log-table th:nth-child(1),
.admin-log-table td:nth-child(1) {
  width: 120px;
}

.admin-log-table th:nth-child(2),
.admin-log-table td:nth-child(2) {
  width: 170px;
}

.admin-log-table th:nth-child(3),
.admin-log-table td:nth-child(3) {
  width: 148px;
  min-width: 148px;
}

.admin-log-table th:nth-child(4),
.admin-log-table td:nth-child(4) {
  width: 110px;
}

.admin-log-table th:nth-child(5),
.admin-log-table td:nth-child(5) {
  width: 70px;
}

.admin-log-table th:nth-child(6),
.admin-log-table td:nth-child(6) {
  width: 130px;
}

.admin-log-table th:nth-child(7),
.admin-log-table td:nth-child(7) {
  width: 280px;
}

.admin-log-table td small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
}

.admin-log-action {
  display: flex;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  min-height: 26px;
  align-items: center;
  justify-content: center;
  padding: 4px 8px;
  border-radius: 999px;
  background: #eaf6f6;
  color: var(--accent);
  font-weight: 800;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.admin-log-record-title {
  display: block;
  color: var(--ink);
  font-weight: 800;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-log-record-subtitle {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 12px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-log-details summary {
  cursor: pointer;
  color: var(--accent);
  font-weight: 800;
}

.admin-log-details pre {
  width: min(720px, 70vw);
  max-width: 720px;
  max-height: 260px;
  overflow: auto;
  margin: 8px 0 0;
  padding: 10px;
  border: 1px solid #9aa8ba;
  border-radius: 6px;
  background: #f8fafc;
  font-size: 12px;
  line-height: 1.45;
  white-space: pre-wrap;
}

.confirm-modal {
  width: min(360px, 100%);
  padding: 22px;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 28px 90px rgba(9, 21, 40, 0.25);
}

.confirm-modal h3 {
  margin: 0 0 18px;
  font-size: 18px;
}

.info-modal-message {
  margin: -6px 0 18px;
  color: var(--muted);
  line-height: 1.45;
}

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

.confirm-actions button {
  transition: transform 0.14s ease, opacity 0.16s ease, background 0.16s ease;
}

.confirm-actions button:active {
  transform: scale(0.96);
}

.confirm-actions button.is-confirming {
  opacity: 0.78;
  transform: scale(0.96);
  pointer-events: none;
}

.math-confirm-modal {
  display: grid;
  gap: 10px;
}

.math-confirm-input {
  min-height: 40px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 9px 10px;
  font-size: 16px;
}

.math-confirm-input.required-invalid {
  border-color: var(--danger);
  background: #fff5f5;
  box-shadow: 0 0 0 2px rgba(192, 57, 43, 0.12);
}

.math-confirm-error {
  color: #b91c1c;
  font-size: 13px;
  font-weight: 800;
}

.danger-button {
  min-height: 36px;
  padding: 8px 13px;
  border-radius: 6px;
  background: #dc2626;
  color: #fff;
  font-weight: 800;
}

button.danger-button,
button.sample-delete-button,
button.recipe-list-delete-button,
button.request-delete-button,
button.company-vehicle-delete-button,
button.recipe-delete-row,
button[data-delete],
button[data-customer-order-delete],
button[data-choice-delete] {
  border-color: #b91c1c !important;
  background: #dc2626 !important;
  color: #fff !important;
  font-weight: 800;
}

button.danger-button:hover,
button.sample-delete-button:hover,
button.recipe-list-delete-button:hover,
button.request-delete-button:hover,
button.company-vehicle-delete-button:hover,
button.recipe-delete-row:hover,
button[data-delete]:hover,
button[data-customer-order-delete]:hover,
button[data-choice-delete]:hover {
  border-color: #7f1d1d !important;
  background: #b91c1c !important;
  color: #fff !important;
}

.report-editor-shell {
  display: grid;
  gap: 12px;
}

.analysis-report-modal {
  width: min(1240px, calc(100vw - 28px));
}

.analysis-report-modal-body {
  display: grid;
  gap: 12px;
  padding: 16px;
}

.analysis-report-modal .sample-actions {
  justify-content: flex-end;
  padding: 0;
}

.analysis-report-modal .analysis-report-paper {
  width: 100%;
  max-width: none;
  margin: 0 auto;
}

.analysis-report-modal .analysis-report-form {
  display: block;
  width: 100%;
  max-width: none;
  padding: 0;
}

.analysis-report-modal input:disabled,
.analysis-report-modal textarea:disabled,
.analysis-report-modal select:disabled {
  opacity: 1;
  color: #111827;
  -webkit-text-fill-color: #111827;
  background: #fff;
}

.analysis-report-form {
  display: block;
}

.analysis-report-paper {
  width: 100%;
  max-width: 980px;
  min-width: 0;
  padding: 18px;
  box-sizing: border-box;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: #111827;
}

.analysis-report-top {
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr) 110px;
  min-height: 92px;
  border: 1px solid #9ca3af;
  margin-bottom: 18px;
}

.analysis-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 16px;
  overflow: hidden;
}

.analysis-logo img {
  width: 100%;
  height: 100%;
  max-height: 64px;
  object-fit: contain;
  display: block;
}

.analysis-title-field {
  display: grid;
  place-items: center;
  border-left: 1px solid #9ca3af;
  border-right: 1px solid #9ca3af;
  padding: 14px;
}

.analysis-title-field span {
  display: none;
}

.analysis-title-field input {
  border: 0;
  text-align: center;
  color: #000;
  font-size: 28px;
  font-weight: 800;
}

.analysis-report-paper,
.analysis-report-paper input,
.analysis-report-paper textarea,
.analysis-report-paper select,
.analysis-report-paper label,
.analysis-report-paper span,
.analysis-report-paper strong {
  color: #000;
  -webkit-text-fill-color: #000;
}

.analysis-revision-fields {
  display: grid;
  align-content: center;
  gap: 8px;
  padding: 12px;
}

.analysis-revision-fields label,
.analysis-info-grid label,
.analysis-signatures label,
.analysis-product-name,
.analysis-note {
  color: #111827;
  font-size: 13px;
  font-weight: 800;
}

.analysis-revision-fields input {
  min-height: 30px;
}

.analysis-product-name {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
  text-transform: uppercase;
}

.analysis-product-name input {
  border: 0;
  font-size: 18px;
  font-weight: 800;
}

.analysis-product-name {
  font-size: 18px;
}

.analysis-info-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px 12px;
  margin-bottom: 9px;
}

.analysis-info-grid label {
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr);
  align-items: center;
  gap: 0;
}

.analysis-info-grid input {
  min-height: 31px;
  padding: 5px 7px;
  border-radius: 0;
  border-color: #374151;
}

.analysis-section-heading {
  margin: 0 0 14px;
  text-transform: uppercase;
  font-size: 18px;
}

.analysis-results-table {
  width: 100%;
  max-width: 100%;
  border: 1px solid #374151;
  margin-bottom: 16px;
  overflow: hidden;
  box-sizing: border-box;
}

.analysis-results-grid {
  width: 100%;
  max-width: 100%;
  min-width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.analysis-results-grid th,
.analysis-results-grid td {
  padding: 0;
  border-right: 1px solid #374151;
  border-bottom: 1px solid #374151;
}

.analysis-results-grid th:last-child,
.analysis-results-grid td:last-child {
  border-right: 0;
}

.analysis-results-grid tbody tr:last-child td {
  border-bottom: 0;
}

.analysis-results-head input {
  min-height: 34px;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  border: 0;
  border-radius: 0;
  background: #f3f6f9;
  color: #111827;
  text-align: center;
  overflow: hidden;
  text-overflow: ellipsis;
  font-weight: 800;
}

.analysis-results-row input {
  min-height: 52px;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  border: 0;
  border-radius: 0;
  text-align: center;
  overflow: hidden;
  text-overflow: ellipsis;
}

.analysis-print-value {
  display: none;
}

.analysis-report-form.analysis-columns-wide .analysis-results-head input,
.analysis-report-form.analysis-columns-wide .analysis-results-row input {
  min-height: 38px;
  padding: 4px 3px;
  font-size: 11px;
}

.analysis-report-form.analysis-columns-ultra-wide .analysis-results-head input,
.analysis-report-form.analysis-columns-ultra-wide .analysis-results-row input {
  min-height: 32px;
  padding: 3px 2px;
  font-size: 9px;
}

.analysis-table-actions {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 10px;
  border-top: 1px solid #374151;
  background: #f8fafc;
}

.analysis-note {
  display: grid;
  gap: 6px;
  margin: 10px 20px 18px;
}

.analysis-note textarea {
  min-height: 64px;
  border-radius: 0;
  border-color: #374151;
}

.analysis-signatures {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  padding: 0 48px;
}

.analysis-signatures label {
  text-align: center;
  text-transform: uppercase;
}

.recipe-list {
  min-width: 1240px;
  table-layout: fixed;
}

.recipe-col-no {
  width: 7%;
}

.recipe-col-product {
  width: 16%;
}

.recipe-col-company {
  width: 12%;
}

.recipe-col-batch {
  width: 7%;
}

.recipe-col-date {
  width: 6%;
}

.recipe-col-quantity {
  width: 7%;
}

.recipe-col-status {
  width: 13%;
}

.recipe-col-filling {
  width: 13%;
}

.recipe-col-actions {
  width: 19%;
}

.record-line-items {
  display: grid;
  gap: 10px;
}

.record-line-items-label {
  font-weight: 700;
  color: var(--text);
}

.record-line-items-list {
  display: grid;
  gap: 8px;
}

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

.record-line-item-row input {
  min-width: 0;
}

.record-line-item-remove {
  min-width: 58px;
}

.record-line-item-add {
  justify-self: start;
}

.table-line-items {
  min-width: 190px;
  margin: 0;
  padding-left: 20px;
}

.table-line-items li + li {
  margin-top: 4px;
}

.table-inline-select {
  min-width: 145px;
  width: 100%;
}

.table-empty-value {
  color: var(--muted);
}

.delivery-reminder-clickable-row {
  cursor: pointer;
}

.delivery-reminder-clickable-row:hover td,
.delivery-reminder-clickable-row:focus td {
  background: rgba(37, 99, 235, 0.06);
}

.delivery-reminder-detail-modal {
  width: min(620px, calc(100vw - 32px));
}

.delivery-reminder-detail-products {
  display: grid;
  gap: 8px;
  padding: 4px 0;
}

.delivery-reminder-detail-product {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 11px 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--soft);
}

.delivery-reminder-detail-product strong {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  color: #fff;
  background: var(--accent);
}

.delivery-reminder-detail-note {
  margin-top: 14px;
  padding: 12px;
  border-radius: 10px;
  background: var(--soft);
}

.delivery-reminder-detail-note p {
  margin: 6px 0 0;
  white-space: pre-wrap;
}

.recipe-list th,
.recipe-list td {
  overflow: hidden;
  text-overflow: ellipsis;
}

.recipe-list th:last-child,
.recipe-list td:last-child {
  position: sticky;
  right: 0;
  z-index: 2;
  min-width: 220px;
  text-align: center;
  background: #fff;
  box-shadow: -8px 0 14px rgba(9, 21, 40, 0.06);
}

.recipe-list th:last-child {
  z-index: 3;
  background: #f7f9fb;
}

.recipe-list th:nth-last-child(2),
.recipe-list td:nth-last-child(2) {
  position: sticky;
  right: 220px;
  z-index: 2;
  background: #fff;
  box-shadow: -6px 0 12px rgba(9, 21, 40, 0.04);
}

.recipe-list th:nth-last-child(2) {
  z-index: 3;
  background: #f7f9fb;
}

.recipe-list td:last-child .row-actions {
  justify-content: center;
  white-space: nowrap;
  flex-wrap: nowrap;
  gap: 4px;
}

.recipe-list td:last-child .row-actions button {
  flex: 0 0 auto;
  min-height: 28px;
  padding: 4px 7px;
  font-size: 11px;
  white-space: nowrap;
}

.recipe-overdue-alert {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  margin: 0 0 12px;
  padding: 10px 12px;
  border: 1px solid #fca5a5;
  border-left: 5px solid #dc2626;
  border-radius: 8px;
  background: #fff1f2;
  color: #7f1d1d;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.recipe-overdue-alert strong {
  flex: 0 0 auto;
  color: #b91c1c;
}

.recipe-overdue-alert:hover,
.recipe-overdue-alert.active {
  background: #ffe4e6;
  border-color: #ef4444;
}

.recipe-overdue-alert-action {
  margin-left: auto;
  font-weight: 850;
  white-space: nowrap;
}

.recipe-overdue-details {
  margin: 0 0 16px;
  padding: 12px;
  border: 1px solid #fecaca;
  border-radius: 8px;
  background: #fffafa;
}

.production-order-overdue-alert {
  margin-top: 12px;
}

.production-order-overdue-details > h4 {
  margin: 0 0 10px;
  color: #991b1b;
}

.purchase-order-overdue-alert {
  margin-top: 12px;
}

.purchase-order-overdue-details > h4 {
  margin: 0 0 10px;
  color: #991b1b;
}

.recipe-status-stack {
  display: grid;
  justify-items: center;
  gap: 4px;
}

.recipe-overdue-badge {
  display: inline-flex;
  padding: 3px 8px;
  border-radius: 999px;
  background: #dc2626;
  color: #fff;
  font-size: 10px;
  font-weight: 900;
  line-height: 1.2;
  white-space: nowrap;
}

.recipe-overdue-row > td,
.recipe-overdue-row > td:nth-last-child(-n + 2) {
  background: #fff7ed;
}

.recipe-overdue-row > td:first-child {
  box-shadow: inset 4px 0 0 #dc2626;
}

.recipe-status-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 104px;
  min-height: 28px;
  padding: 5px 10px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: 12px;
  font-weight: 850;
  white-space: nowrap;
}

.recipe-filling-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 112px;
  min-height: 28px;
  padding: 5px 10px;
  border: 1px solid transparent;
  border-radius: 6px;
  font: inherit;
  font-size: 12px;
  font-weight: 850;
  white-space: nowrap;
}

button.recipe-filling-badge {
  cursor: pointer;
}

button.recipe-filling-badge:hover {
  filter: brightness(0.96);
  box-shadow: 0 0 0 2px rgba(9, 21, 40, 0.08);
}

.recipe-filling-cell-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  white-space: nowrap;
}

.recipe-filling-cell-actions .recipe-filling-badge {
  min-width: 68px;
  min-height: 26px;
  padding: 4px 6px;
  font-size: 11px;
}

.recipe-filling-details-button {
  min-height: 26px;
  padding: 4px 7px;
  border: 1px solid #a5b4fc;
  border-radius: 6px;
  background: #eef2ff;
  color: #3730a3;
  font-size: 10px;
  font-weight: 850;
  cursor: pointer;
  white-space: nowrap;
}

.recipe-filling-details-button:hover {
  background: #e0e7ff;
}

.recipe-filling-badge.stock {
  border-color: #93c5fd;
  background: #dbeafe;
  color: #1d4ed8;
}

.recipe-filling-badge.waiting {
  border-color: #fcd34d;
  background: #fef3c7;
  color: #92400e;
}

.recipe-filling-badge.done {
  border-color: #86efac;
  background: #dcfce7;
  color: #166534;
}

.recipe-filling-badge.neutral {
  min-width: 42px;
  border-color: #d1d5db;
  background: #f3f4f6;
  color: #6b7280;
}

.recipe-filling-modal {
  width: min(520px, calc(100vw - 28px));
}

.recipe-filling-modal form {
  display: grid;
  gap: 14px;
  padding: 18px;
}

.recipe-filling-modal label {
  display: grid;
  gap: 6px;
  font-weight: 800;
}

.recipe-filling-modal textarea {
  resize: vertical;
}

.recipe-filling-summary {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 12px;
  border: 1px solid var(--line);
  background: #f8fafc;
}

.recipe-filling-summary span,
.recipe-filling-updated {
  color: var(--muted);
}

.recipe-filling-updated {
  margin: 0;
  font-size: 13px;
}

.recipe-filling-modal footer {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 0;
}

.recipe-filling-details-modal {
  width: min(1120px, calc(100vw - 28px));
}

.recipe-filling-details-modal header > div {
  display: grid;
  gap: 3px;
}

.recipe-filling-details-modal header small {
  color: var(--muted);
}

.recipe-filling-details-modal form {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  padding: 16px;
}

.recipe-filling-details-list {
  display: grid;
  gap: 10px;
}

.recipe-filling-detail-row {
  display: grid;
  grid-template-columns: minmax(125px, 1.1fr) minmax(105px, .8fr) minmax(80px, .55fr) minmax(95px, .7fr) minmax(90px, .7fr) minmax(140px, 1.3fr) auto;
  gap: 8px;
  align-items: end;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
}

.recipe-filling-detail-row label,
.recipe-filling-details-general-note {
  display: grid;
  gap: 5px;
  min-width: 0;
  font-size: 12px;
  font-weight: 800;
}

.recipe-filling-detail-row input,
.recipe-filling-detail-row select {
  width: 100%;
  min-height: 38px;
}

.recipe-filling-detail-row .customer-order-choice,
.recipe-filling-detail-row .customer-order-choice-toggle {
  width: 100%;
  min-width: 0;
}

.recipe-filling-detail-delete {
  min-height: 38px;
  white-space: nowrap;
}

.recipe-filling-detail-add {
  justify-self: start;
}

.recipe-filling-details-modal footer {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 0;
}

.recipe-process-filling-modal-body {
  padding: 16px;
}

.recipe-process-filling-source {
  display: grid;
  gap: 12px;
}

.recipe-process-filling-source-note {
  display: grid;
  gap: 3px;
  padding: 11px 13px;
  border: 1px solid #bfdbfe;
  border-radius: 7px;
  background: #eff6ff;
}

.recipe-process-filling-source-note span {
  color: var(--muted);
  font-size: 12px;
}

.recipe-process-filling-empty {
  padding: 24px;
  border: 1px dashed var(--line);
  border-radius: 8px;
  color: var(--muted);
  text-align: center;
}

.recipe-process-filling-table {
  width: 100%;
  min-width: 940px;
}

.recipe-process-filling-table th,
.recipe-process-filling-table td {
  vertical-align: middle;
  white-space: normal;
}

.recipe-process-filling-table th:not(:last-child),
.recipe-process-filling-table td:not(:last-child) {
  white-space: nowrap;
}

@media screen and (max-width: 900px) and (pointer: coarse) {
  .recipe-filling-detail-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .recipe-filling-detail-note,
  .recipe-filling-detail-delete {
    grid-column: 1 / -1;
  }
}

.recipe-cost-button {
  border-color: #93c5fd;
  background: #eff6ff;
  color: #1d4ed8;
}

.recipe-cost-modal {
  width: min(1180px, calc(100vw - 28px));
}

.recipe-cost-modal > header div {
  min-width: 0;
}

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

.recipe-cost-modal form {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  padding: 16px;
}

.recipe-cost-materials,
.recipe-cost-expenses {
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
  background: var(--surface);
}

.recipe-cost-section-title {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 10px 14px;
  border-bottom: 1px solid var(--line);
  background: var(--soft);
}

.recipe-cost-section-title span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
}

.dashboard-announcement-heading strong,
.dashboard-daily-title > span {
  font-size: 16px !important;
  font-weight: 850 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.dashboard-market-track {
  display: flex;
  width: max-content;
  animation: dashboard-rates-continuous 18s linear infinite;
}

.dashboard-market-track .dashboard-market-rates {
  display: grid !important;
  grid-auto-flow: column;
  grid-template-columns: repeat(3, minmax(125px, 1fr)) !important;
  min-width: max-content;
  padding-right: 8px;
  animation: none !important;
  transform: none !important;
}

@keyframes dashboard-rates-continuous {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
  .dashboard-market-track {
    animation: none;
  }
  .dashboard-market-track .dashboard-market-rates[aria-hidden="true"] {
    display: none !important;
  }
}

.recipe-cost-table-wrap {
  overflow: auto;
}

.recipe-cost-table {
  min-width: 900px;
  table-layout: fixed;
}

.recipe-cost-table th,
.recipe-cost-table td {
  text-align: center;
  vertical-align: middle;
}

.recipe-cost-table th:nth-child(1) {
  width: 22%;
}

.recipe-cost-table th:nth-child(2) {
  width: 12%;
}

.recipe-cost-table th:nth-child(3),
.recipe-cost-table th:nth-child(4),
.recipe-cost-table th:nth-child(5) {
  width: 14%;
}

.recipe-cost-table th:nth-child(6) {
  width: 24%;
}

.recipe-cost-table td:first-child strong,
.recipe-cost-table td:first-child small {
  display: block;
}

.recipe-cost-table td:first-child small {
  margin-top: 3px;
  color: var(--muted);
}

.recipe-cost-table input {
  min-width: 110px;
  text-align: center;
}

.recipe-cost-source {
  display: inline-flex;
  justify-content: center;
  padding: 5px 8px;
  border: 1px solid;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 800;
}

.recipe-cost-source.automatic {
  border-color: #86efac;
  background: #dcfce7;
  color: #166534;
}

.recipe-cost-source.manual {
  border-color: #fcd34d;
  background: #fef3c7;
  color: #92400e;
}

.recipe-cost-expense-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(180px, 1fr));
  gap: 12px;
  padding: 14px;
}

.recipe-cost-expense-grid input {
  text-align: right;
}

.recipe-cost-note {
  padding: 0 14px 14px;
}

.recipe-cost-note textarea {
  min-height: 64px;
}

.recipe-cost-summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(140px, 1fr));
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
}

.recipe-cost-summary div {
  min-height: 82px;
  display: grid;
  place-content: center;
  gap: 6px;
  padding: 12px;
  text-align: center;
  border-right: 1px solid var(--line);
  background: var(--soft);
}

.recipe-cost-summary div:last-child {
  border-right: 0;
}

.recipe-cost-summary span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

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

.recipe-cost-summary .recipe-cost-grand-total {
  background: #ecfdf5;
}

.recipe-cost-summary .recipe-cost-grand-total strong {
  color: #166534;
}

.recipe-cost-saved,
.recipe-cost-warning {
  margin: 0;
  padding: 10px 12px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 750;
}

.recipe-cost-saved {
  background: #ecfdf5;
  color: #166534;
}

.recipe-cost-warning {
  background: #fffbeb;
  color: #92400e;
}

.recipe-cost-management-table {
  min-width: 1500px;
  table-layout: fixed;
}

.recipe-cost-management-table td small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
}

.recipe-cost-state {
  display: inline-flex;
  min-width: 92px;
  justify-content: center;
  padding: 5px 8px;
  border: 1px solid;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 850;
}

.recipe-cost-state.saved {
  border-color: #86efac;
  background: #dcfce7;
  color: #166534;
}

.recipe-cost-state.pending {
  border-color: #fcd34d;
  background: #fef3c7;
  color: #92400e;
}

/* Birimlerdeki kayit listeleri ortak, cizgili tablo gorunumu kullanir. */
.table-wrap table,
.purchase-order-table,
.company-vehicle-table,
.quality-process-table,
.admin-log-table,
.recipe-list,
.recipe-history-table,
.recipe-cost-management-table,
.analysis-report-list-table,
.dashboard-recipe-table {
  border-collapse: collapse;
  border: 1px solid var(--line);
}

.table-wrap table th,
.table-wrap table td,
.purchase-order-table th,
.purchase-order-table td,
.company-vehicle-table th,
.company-vehicle-table td,
.quality-process-table th,
.quality-process-table td,
.admin-log-table th,
.admin-log-table td,
.recipe-list th,
.recipe-list td,
.recipe-history-table th,
.recipe-history-table td,
.recipe-cost-management-table th,
.recipe-cost-management-table td,
.analysis-report-list-table th,
.analysis-report-list-table td,
.dashboard-recipe-table th,
.dashboard-recipe-table td {
  border: 1px solid var(--line) !important;
}

.consultant-list,
.additive-sample-list,
.outgoing-sample-list {
  gap: 0;
}

.consultant-list-head,
.consultant-list-row,
.additive-sample-list-head,
.additive-sample-list-row,
.outgoing-sample-list-head,
.outgoing-sample-list-row {
  gap: 0;
  padding: 0;
  border-left: 1px solid var(--line);
  border-bottom: 0;
}

.consultant-list-head > *,
.consultant-list-row > *,
.additive-sample-list-head > *,
.additive-sample-list-row > *,
.outgoing-sample-list-head > *,
.outgoing-sample-list-row > * {
  min-width: 0;
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 8px 10px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  border-radius: 0;
}

.consultant-list-head > *,
.additive-sample-list-head > *,
.outgoing-sample-list-head > * {
  border-top: 1px solid var(--line);
  background: #f7f9fb;
}

.consultant-list-row > button,
.additive-sample-list-row > button,
.outgoing-sample-list-row > button {
  width: 100%;
  height: 44px;
}

.consultant-call-list,
.consultant-visitor-list,
.consultant-cargo-list {
  overflow-x: auto;
}

.consultant-call-list .consultant-list-head,
.consultant-call-list .consultant-list-row,
.consultant-visitor-list .consultant-list-head,
.consultant-visitor-list .consultant-list-row,
.consultant-cargo-list .consultant-list-head,
.consultant-cargo-list .consultant-list-row {
  width: 100%;
}

.stock-modern-list {
  gap: 0;
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.stock-modern-head,
.stock-modern-row {
  gap: 0;
  min-height: 46px;
  padding: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: #fff;
}

.stock-modern-head {
  background: #f7f9fb;
}

.stock-modern-head > *,
.stock-modern-row > * {
  min-width: 0;
  min-height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 10px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.stock-modern-name {
  display: flex;
  justify-content: center;
  gap: 8px;
}

.supplier-list-row {
  border: 1px solid var(--line);
  border-radius: 0;
  box-shadow: none;
}

@media screen and (max-width: 900px) and (pointer: coarse) {
  .recipe-cost-expense-grid,
  .recipe-cost-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .recipe-cost-summary div:nth-child(2) {
    border-right: 0;
  }

  .recipe-cost-summary div:nth-child(-n + 2) {
    border-bottom: 1px solid var(--line);
  }
}

.recipe-status-badge.done {
  border-color: #86efac;
  background: #dcfce7;
  color: #166534;
}

.recipe-status-badge.pending {
  border-color: #bfdbfe;
  background: #dbeafe;
  color: #1d4ed8;
}

.recipe-status-badge.active {
  border-color: #fde68a;
  background: #fef3c7;
  color: #92400e;
}

.recipe-status-badge.measured {
  border-color: #facc15;
  background: #fef9c3;
  color: #854d0e;
}

.recipe-status-badge.review {
  border-color: #fdba74;
  background: #ffedd5;
  color: #9a3412;
}

.recipe-status-badge.queued {
  border-color: #bfdbfe;
  background: #dbeafe;
  color: #1d4ed8;
}

.recipe-status-badge.waiting {
  border-color: #99f6e4;
  background: #ccfbf1;
  color: #0f766e;
}

.recipe-status-badge.approval-pending {
  border-color: #fed7aa;
  background: #ffedd5;
  color: #9a3412;
}

.recipe-status-badge.deleted {
  border-color: #fecaca;
  background: #fee2e2;
  color: #991b1b;
}

.recipe-status-badge.danger {
  border-color: #fecaca;
  background: #fee2e2;
  color: #991b1b;
}

.approval-open-badge {
  cursor: pointer;
}

.approval-open-badge:hover {
  filter: brightness(0.96);
  box-shadow: 0 0 0 2px rgba(234, 88, 12, 0.12);
}

.approval-count {
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}

.approval-summary {
  display: grid;
  grid-template-columns: minmax(120px, auto) 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
  font-weight: 800;
}

.approval-summary small {
  color: var(--muted);
  font-weight: 750;
}

.recipe-revision-approval-note {
  margin: 12px 16px 0;
  padding: 12px 14px;
  border: 1px solid #f59e0b;
  border-left-width: 5px;
  border-radius: 8px;
  background: #fffbeb;
  color: #78350f;
}

.recipe-revision-approval-note strong {
  display: block;
  font-size: 12px;
  letter-spacing: 0.03em;
}

.recipe-revision-approval-note p {
  margin: 5px 0;
  white-space: pre-wrap;
}

.recipe-revision-approval-note small {
  color: #92400e;
  font-weight: 700;
}

.approval-actions {
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
  padding: 16px 16px 24px;
  margin-top: 8px;
}

.approval-actions .danger-button {
  margin-right: 0;
}

.approval-actions .approval-review-button {
  border-color: #facc15;
  background: #fef3c7;
  color: #854d0e;
}

.approval-actions .approval-review-button:hover {
  background: #fde68a;
}

.approval-measurement-block {
  display: grid;
  gap: 10px;
  margin: 8px 16px 0;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}

.approval-measurement-block .lab-result-form {
  padding: 0;
}

.recipe-history-deleted td {
  background: #fff1f2;
  color: #991b1b;
}

.recipe-history-deleted td:first-child {
  border-left: 4px solid #dc2626;
}

.recipe-filter-panel {
  display: grid;
  grid-template-columns: minmax(320px, 1fr) auto auto;
  gap: 12px;
  align-items: end;
  padding: 18px;
  border-bottom: 1px solid var(--line);
  background: #fff;
}

.recipe-filter-search {
  min-width: 0;
}

.recipe-filter-panel label {
  display: grid;
  gap: 7px;
  color: #1f2a44;
  font-size: 13px;
  font-weight: 800;
}

.recipe-filter-panel input,
.recipe-filter-panel select {
  min-height: 38px;
  border: 1px solid #dfe4ec;
  border-radius: 6px;
  background: #fff;
}

.recipe-date-range,
.recipe-filter-combo {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.recipe-filter-combo {
  grid-template-columns: 150px 1fr;
}

.recipe-filter-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
}

.recipe-filter-submit {
  min-height: 38px;
  padding: 8px 16px;
  border-radius: 6px;
  background: #172033;
  color: #fff;
  font-weight: 800;
}

.recipe-filter-shortcuts {
  display: grid;
  gap: 12px;
  margin: 0 14px 14px;
  padding: 16px 18px 18px;
  border: 1px solid #d8dee8;
  border-radius: 8px;
  background: #eef2f7;
}

.recipe-year-row,
.recipe-month-row,
.recipe-day-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.recipe-year-row button,
.recipe-month-row button,
.recipe-day-row button {
  min-height: 28px;
  padding: 5px 9px;
  border: 1px solid #d7deea;
  border-radius: 999px;
  background: #edf0f4;
  color: #394457;
  font-weight: 700;
  cursor: pointer;
  transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.recipe-year-row button:hover,
.recipe-month-row button:hover,
.recipe-day-row button:hover {
  border-color: #93c5fd;
  background: #e0edff;
  color: #1d4ed8;
  transform: translateY(-1px);
}

.recipe-year-row button.active,
.recipe-month-row button.active,
.recipe-day-row button.active {
  border-color: #2563eb;
  background: #2563eb;
  color: #fff;
  box-shadow: 0 4px 10px rgba(37, 99, 235, 0.22);
}

.recipe-day-row {
  gap: 6px;
}

.recipe-day-row button {
  min-width: 32px;
}

.recipe-year-row span {
  margin-left: 10px;
  color: #394457;
  font-weight: 700;
}

.purchase-filter-panel {
  grid-template-columns: minmax(320px, 1fr) auto;
  gap: 8px;
  padding-left: 12px;
  padding-right: 12px;
}

.purchase-filter-panel .recipe-filter-combo {
  grid-template-columns: 110px 1fr;
}

.purchase-filter-panel .recipe-filter-actions {
  gap: 6px;
}

.purchase-filter-shortcuts {
  margin-top: 0;
}

.recipe-group-list {
  display: grid;
  gap: 16px;
  padding: 14px;
}

.list-pagination,
.list-pagination-summary {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 16px 18px 20px;
  color: var(--muted);
}

.list-pagination span {
  margin-right: 8px;
  font-size: 13px;
}

.list-pagination button {
  min-width: 36px;
  height: 34px;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  color: var(--ink);
  cursor: pointer;
}

.list-pagination button.active {
  border-color: var(--accent);
  background: var(--accent);
  color: #fff;
}

.list-pagination button:disabled {
  cursor: default;
  opacity: 0.45;
}

.recipe-list-group {
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
}

.recipe-list-group h4 {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
  padding: 11px 12px;
  border-bottom: 1px solid var(--line);
  background: #eef2f7;
  font-size: 15px;
}

.recipe-list-group h4 span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.recipe-list-scroll {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}

.recipe-list .row-actions button {
  transition: transform 0.16s ease, background 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease, opacity 0.16s ease;
}

.recipe-list .row-actions .recipe-open-button:hover:not(.is-loading) {
  transform: translateY(-2px);
  border-color: var(--accent);
  background: #eaf6f6;
  color: var(--accent);
  box-shadow: 0 10px 20px rgba(15, 139, 141, 0.16);
}

.recipe-list .row-actions button:active {
  transform: scale(0.96);
}

.recipe-list .row-actions button.is-loading {
  position: relative;
  padding-left: 34px;
  opacity: 0.9;
  background: #eaf6f6;
  color: var(--accent);
}

.recipe-list .row-actions button.is-loading::before {
  content: "";
  position: absolute;
  left: 12px;
  top: 50%;
  width: 13px;
  height: 13px;
  margin-top: -7px;
  border: 2px solid rgba(15, 139, 141, 0.24);
  border-top-color: var(--accent);
  border-radius: 50%;
  animation: consultant-spin 0.7s linear infinite;
}

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

.recipe-paper {
  border: 2px solid #202632;
  background-color: #fff;
  padding: 14px;
}

.recipe-title-row {
  min-height: 84px;
  display: grid;
  grid-template-columns: 180px 1fr 180px;
  align-items: center;
  border-bottom: 2px solid #202632;
  margin: -14px -14px 14px;
  padding: 12px 14px;
  background: rgba(255, 255, 255, 0.86);
}

.recipe-logo {
  width: 154px;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

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

.recipe-title {
  width: 100%;
  border: 0;
  background: transparent;
  text-align: center;
  font-size: 25px;
  font-weight: 800;
  color: #000;
}

.recipe-title-selector {
  position: relative;
}

.recipe-title-caret {
  margin-left: 8px;
  font-size: 14px;
}

.recipe-title-menu {
  position: absolute;
  z-index: 5;
  left: 50%;
  top: calc(100% + 8px);
  width: min(260px, 90vw);
  transform: translateX(-50%);
  border: 1px solid #202632;
  background: #fff;
  box-shadow: 0 12px 28px rgba(9, 21, 40, 0.18);
}

.recipe-title-menu button {
  width: 100%;
  min-height: 38px;
  padding: 8px 12px;
  border-bottom: 1px solid #dbe2ea;
  background: #fff;
  color: #000;
  font-weight: 800;
}

.recipe-title-menu button:last-child {
  border-bottom: 0;
}

.recipe-title-menu button:hover {
  background: #f3f6f9;
}

.recipe-meta-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 70px;
  margin-bottom: 16px;
}

.recipe-meta-grid label {
  grid-template-columns: 122px minmax(0, 1fr);
  display: grid;
  align-items: center;
  gap: 8px;
  color: #000;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.recipe-meta-grid input,
.recipe-meta-grid select,
.recipe-material-row input,
.recipe-material-row select {
  min-height: 28px;
  border-radius: 0;
  border: 1px solid #202632;
  padding: 4px 6px;
  background: rgba(255, 255, 255, 0.92);
}

.recipe-section-title {
  min-height: 28px;
  display: grid;
  place-items: center;
  border: 2px solid #202632;
  background: rgba(255, 255, 255, 0.9);
  color: #000;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.recipe-materials {
  background: rgba(255, 255, 255, 0.9);
  border-left: 1px solid #202632;
  border-right: 1px solid #202632;
}

.recipe-material-head,
.recipe-material-row,
.recipe-total-row {
  display: grid;
  grid-template-columns: 58px 1.2fr 1.1fr 0.85fr 1.8fr;
}

.recipe-material-head span,
.recipe-total-row span,
.recipe-total-row strong {
  min-height: 34px;
  display: grid;
  place-items: center;
  border-right: 1px solid #202632;
  border-bottom: 1px solid #202632;
  color: #000;
  font-size: 12px;
  font-weight: 850;
  text-align: center;
}

.recipe-material-head span:first-child,
.recipe-total-row span:first-child {
  border-left: 1px solid #202632;
}

.recipe-material-row input,
.recipe-material-row select {
  border-top: 0;
  border-left: 0;
  border-right: 1px solid #202632;
  border-bottom: 1px solid #202632;
}

.recipe-material-picker {
  min-width: 0;
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  overflow: visible;
  align-items: stretch;
}

.recipe-material-picker > select[name="raw_material_category"] {
  height: 100%;
  margin: 0;
  box-sizing: border-box;
}

.recipe-material-picker select,
.recipe-material-picker input {
  min-width: 0;
}

.recipe-material-combobox {
  position: relative;
  flex: 1;
  min-width: 0;
  min-height: 100%;
  height: 100%;
  display: flex;
  align-items: stretch;
}

[data-recipe-material-input-host],
.recipe-reference-picker {
  position: relative;
  min-width: 0;
  min-height: 28px;
}

[data-recipe-material-input-host] {
  display: flex;
  align-items: stretch;
  height: 100%;
}

.recipe-reference-picker > input[type="search"],
.recipe-unstocked-material-input {
  width: 100%;
  height: 100%;
  min-height: 28px;
  box-sizing: border-box;
}

.recipe-reference-dropdown {
  position: absolute;
  z-index: 18;
  top: calc(100% + 2px);
  left: 0;
  right: 0;
  min-width: 280px;
  max-height: 240px;
  overflow-y: auto;
  border: 1px solid #202632;
  background: #fff;
  box-shadow: 0 12px 26px rgba(9, 21, 40, 0.2);
}

.recipe-reference-options {
  display: grid;
}

.recipe-reference-options button {
  display: grid;
  gap: 2px;
  width: 100%;
  padding: 8px 10px;
  border: 0;
  border-bottom: 1px solid #dbe2ea;
  background: #fff;
  color: #111827;
  text-align: left;
}

.recipe-reference-options button:hover,
.recipe-reference-options button:focus-visible {
  background: #eaf6f6;
}

.recipe-reference-options button span {
  color: #5f6b7a;
  font-size: 11px;
}

.recipe-material-toggle {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 28px;
  padding: 4px 24px 4px 7px;
  border: 0;
  border-right: 1px solid #202632;
  border-bottom: 1px solid #202632;
  border-radius: 0;
  background: rgba(255, 255, 255, 0.92);
  color: #111827;
  text-align: left;
  cursor: pointer;
  display: flex;
  align-items: center;
  margin: 0;
  line-height: normal;
  box-sizing: border-box;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.recipe-material-toggle::after {
  content: '▾';
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
}

.recipe-material-dropdown {
  position: absolute;
  z-index: 80;
  top: calc(100% + 2px);
  left: 0;
  width: max(100%, 210px);
  padding: 6px;
  border: 1px solid #9ca3af;
  background: #fff;
  box-shadow: 0 8px 20px rgba(17, 24, 39, 0.18);
}

.recipe-material-dropdown input {
  width: 100%;
  margin-bottom: 5px;
  border: 1px solid #9ca3af;
}

.recipe-material-options {
  max-height: 230px;
  overflow-y: auto;
}

.recipe-material-options button {
  display: block;
  width: 100%;
  padding: 7px 8px;
  border: 0;
  background: #fff;
  color: #111827;
  text-align: left;
}

.recipe-material-options button:hover,
.recipe-material-options button:focus-visible {
  background: #e8f1f8;
}

.recipe-material-empty {
  padding: 9px 8px;
  color: #6b7280;
  font-size: 12px;
}

.recipe-material-native-select {
  display: none;
}

.recipe-material-row input:first-child {
  border-left: 1px solid #202632;
  text-align: center;
  background: #f9fbfd;
}

.recipe-material-row.recipe-material-locked input,
.recipe-material-row.recipe-material-locked select {
  background: #f4f7fb;
  color: #374151;
}

.recipe-meta-grid input.recipe-invalid,
.recipe-material-row input.recipe-invalid,
.recipe-material-row select.recipe-invalid {
  border: 2px solid var(--danger);
  background: #fff5f5;
  box-shadow: inset 0 0 0 1px rgba(192, 57, 43, 0.2);
}

.recipe-stock-error {
  margin: 0 0 10px;
  padding: 10px 12px;
  border: 1px solid #fecaca;
  border-radius: 6px;
  background: #fee2e2;
  color: #991b1b;
  font-weight: 800;
}

.recipe-total-row strong {
  background: #fff;
}

.recipe-total-row strong.recipe-total-invalid {
  border: 2px solid var(--danger);
  background: #fff5f5;
  color: var(--danger);
}

.recipe-row-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-start;
  padding: 8px 0 12px;
}

.recipe-add-row,
.recipe-delete-row {
  min-width: 118px;
  font-weight: 750;
}

.recipe-delete-row {
  color: var(--danger);
}

.recipe-notes {
  width: 100%;
  min-height: 72px;
  border: 2px solid #202632;
  border-top: 0;
  border-radius: 0;
  background: rgba(255, 255, 255, 0.88);
}

.recipe-prepared-row {
  display: flex;
  justify-content: flex-end;
  border: 2px solid #202632;
  border-top: 0;
  background: rgba(255, 255, 255, 0.88);
}

.recipe-prepared-fields {
  display: grid;
  justify-items: end;
}

.recipe-prepared-row label {
  display: grid;
  grid-template-columns: auto minmax(220px, 320px);
  gap: 10px;
  align-items: center;
  min-height: 46px;
  padding: 8px 12px;
  font-weight: 800;
}

.recipe-prepared-row input {
  min-height: 32px;
  border: 1px solid #c8d1df;
  border-radius: 6px;
  padding: 6px 9px;
  font: inherit;
}

.recipe-modal {
  width: min(1180px, 100%);
}

.recipe-modal .recipe-form,
.recipe-modal .lab-result-form {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  padding: 16px;
}

.recipe-modal .lab-result-screen {
  padding: 0;
}

.recipe-modal .module-header {
  margin: 0;
  padding: 14px 16px 0;
}

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

#recipe-form.recipe-saving .recipe-paper {
  animation: recipe-save-pulse 900ms ease-in-out infinite alternate;
}

#recipe-form.recipe-saved .recipe-paper {
  box-shadow: 0 0 0 3px rgba(22, 163, 74, 0.18);
}

.lab-result-form.lab-result-saving .lab-result-paper,
.lab-result-form.lab-result-saving .grease-result-paper {
  animation: recipe-save-pulse 900ms ease-in-out infinite alternate;
}

.lab-result-form.lab-result-saved .lab-result-paper,
.lab-result-form.lab-result-saved .grease-result-paper {
  box-shadow: 0 0 0 3px rgba(22, 163, 74, 0.18);
}

[data-recipe-save].is-saving,
[data-recipe-save].is-saved,
[data-lab-result-save].is-saving,
[data-lab-result-save].is-saved {
  position: relative;
  overflow: hidden;
  padding-left: 38px;
}

[data-recipe-save].is-saving::before,
[data-lab-result-save].is-saving::before {
  content: "";
  position: absolute;
  left: 14px;
  top: 50%;
  width: 14px;
  height: 14px;
  margin-top: -8px;
  border: 2px solid rgba(255, 255, 255, 0.45);
  border-top-color: #fff;
  border-radius: 50%;
  animation: consultant-spin 700ms linear infinite;
}

[data-recipe-save].is-saving::after,
[data-lab-result-save].is-saving::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.22), transparent);
  transform: translateX(-100%);
  animation: recipe-save-shimmer 900ms ease-in-out infinite;
}

[data-recipe-save].is-saved,
[data-lab-result-save].is-saved {
  background: #16a34a;
}

@keyframes recipe-save-pulse {
  from {
    box-shadow: 0 0 0 0 rgba(15, 139, 141, 0.08);
  }
  to {
    box-shadow: 0 0 0 4px rgba(15, 139, 141, 0.18);
  }
}

@keyframes recipe-save-shimmer {
  to {
    transform: translateX(100%);
  }
}

.lab-result-screen {
  display: grid;
  gap: 14px;
}

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

.lab-result-paper {
  border: 1px solid #000;
  background: #fff;
  color: #000;
  scrollbar-color: #94a3b8 transparent;
}

.lab-result-paper::-webkit-scrollbar-corner {
  background: transparent;
}

.lab-result-table {
  min-width: 760px;
  border-collapse: collapse;
}

.lab-result-table th,
.lab-result-table td {
  border: 1px solid #000;
  padding: 0;
  height: 19px;
  color: #000;
  background: #fff;
  font-size: 12px;
  line-height: 1.15;
  vertical-align: middle;
}

.lab-result-table th {
  height: 22px;
  text-align: center;
  font-weight: 900;
}

.lab-result-table td:first-child {
  padding-left: 3px;
}

.lab-result-table tbody td {
  text-align: left;
}

.lab-result-table tbody td:last-child,
.lab-result-table tbody td:last-child input {
  text-align: center;
}

.lab-result-table .lab-special-measurement-row td,
.lab-result-table .lab-special-measurement-row input {
  text-align: center;
}

.lab-result-table input,
.lab-approval-grid input {
  width: 100%;
  min-height: 18px;
  border: 0;
  border-radius: 0;
  padding: 1px 4px;
  color: #000;
  background: transparent;
  text-align: center;
  font-size: 12px;
}

.lab-result-table input::placeholder {
  color: #000;
  opacity: 1;
}

.lab-packaging-head td {
  height: 38px;
  text-align: center;
  text-decoration: underline;
}

.lab-packaging-row td {
  height: 56px;
}

.lab-approval-grid {
  min-height: 94px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  padding-top: 18px;
  background-image:
    linear-gradient(#d8d8d8 1px, transparent 1px),
    linear-gradient(90deg, #d8d8d8 1px, transparent 1px);
  background-size: 28px 18px;
}

.lab-approval-grid label {
  width: 300px;
  display: grid;
  grid-template-columns: 120px 1fr;
  align-items: center;
  min-height: 20px;
  color: #000;
  font-size: 12px;
  font-weight: 700;
}

.grease-result-paper {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid #d7dee8;
  border-radius: 8px;
  background: #f8fafc;
  color: #172033;
}

.grease-result-title {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  padding: 14px 16px;
  border: 1px solid #dbe3ee;
  border-radius: 8px;
  background: #fff;
}

.grease-result-title div {
  display: grid;
  gap: 3px;
}

.grease-result-title span,
.grease-result-title small,
.grease-panel-heading span {
  color: #667085;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.grease-result-title strong {
  color: #111827;
  font-size: 21px;
  font-weight: 900;
}

.grease-result-meta {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.grease-result-meta label,
.grease-measure-grid label,
.grease-packaging-grid label,
.grease-approval-grid label {
  display: grid;
  gap: 7px;
  color: #263145;
  font-size: 12px;
  font-weight: 850;
}

.grease-result-meta input,
.grease-measure-grid input,
.grease-packaging-grid input,
.grease-approval-grid input {
  width: 100%;
  min-height: 40px;
  border: 1px solid #d4dce8;
  border-radius: 6px;
  padding: 8px 10px;
  background: #fff;
  color: #111827;
  font-size: 14px;
}

.grease-result-meta input[readonly] {
  background: #eef2f7;
  color: #475467;
}

.grease-result-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
}

.grease-result-table th,
.grease-result-table td {
  border: 1px solid #202632;
  padding: 0;
  height: 24px;
  vertical-align: middle;
}

.grease-result-table th {
  background: #eef2f7;
  color: #111827;
  font-size: 12px;
  font-weight: 900;
  text-align: center;
}

.grease-result-table td:first-child {
  padding-left: 4px;
  text-align: left;
}

.grease-result-table td:last-child {
  text-align: center;
}

.grease-result-table input {
  width: 100%;
  min-height: 22px;
  border: 0;
  border-radius: 0;
  padding: 1px 4px;
  background: transparent;
  text-align: center;
  font-size: 12px;
}

.custom-measurement-row td:first-child input {
  text-align: left;
}

.custom-measurement-row td:last-child input {
  text-align: center;
}

.lab-result-table .custom-measurement-row td:first-child {
  padding-left: 0;
}

.grease-result-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.65fr);
  gap: 14px;
  align-items: start;
}

.grease-result-panel {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid #dbe3ee;
  border-radius: 8px;
  background: #fff;
}

.grease-panel-heading {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  padding-bottom: 10px;
  border-bottom: 1px solid #e6ebf2;
}

.grease-panel-heading h4 {
  margin: 0;
  color: #111827;
  font-size: 15px;
}

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

.grease-measure-grid label:first-child {
  grid-column: 1 / -1;
}

.grease-packaging-grid {
  display: grid;
  gap: 10px;
}

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

.grease-result-form .recipe-actions {
  padding: 0;
}

.print-only {
  display: none;
}

@media print {
  @page {
    size: A4;
    margin: 0.1mm;
  }

  html,
  body {
    width: 209.8mm;
    min-height: 296.8mm;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    color: #000 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  body:not(.printing-lab-combined) * {
    visibility: hidden;
  }

  body:not(.printing-lab-combined) #recipe-form,
  body:not(.printing-lab-combined) #recipe-form *,
  body.printing-additive-samples #additive-sample-form,
  body.printing-additive-samples #additive-sample-form *,
  body.printing-outgoing-samples #outgoing-sample-form,
  body.printing-outgoing-samples #outgoing-sample-form *,
  body.printing-analysis-report #analysis-report-form,
  body.printing-analysis-report #analysis-report-form *,
  body.printing-customer-order #customer-order-print,
  body.printing-customer-order #customer-order-print * {
    visibility: visible;
  }

  body:not(.printing-lab-combined) #recipe-form *,
  body.printing-additive-samples #additive-sample-form *,
  body.printing-outgoing-samples #outgoing-sample-form *,
  body.printing-analysis-report #analysis-report-form *,
  body.printing-customer-order #customer-order-print *,
  body.printing-lab-combined #lab-combined-print * {
    color: #000 !important;
    -webkit-text-fill-color: #000 !important;
  }

  body:not(.printing-lab-combined) #recipe-form {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 209.8mm;
    max-width: 209.8mm;
    padding: 0;
    background: #fff;
    color: #000;
    overflow: visible;
    box-sizing: border-box;
  }

  body:not(.printing-lab-combined) #recipe-form,
  body:not(.printing-lab-combined) #recipe-form * {
    box-sizing: border-box;
  }

  body:not(.printing-lab-combined) #recipe-form .recipe-paper {
    width: 209.8mm;
    max-width: 209.8mm;
    min-width: 0;
    padding: 5mm;
    border: 1.5px solid #000;
    background: #fff;
    color: #000;
  }

  body:not(.printing-lab-combined) #recipe-form .recipe-title-row {
    grid-template-columns: 38mm 1fr 28mm;
    min-height: 20mm;
    margin: -5mm -5mm 4mm;
    padding: 3mm 4mm;
    border-bottom: 1.5px solid #000;
  }

  body:not(.printing-lab-combined) #recipe-form .recipe-logo {
    width: 34mm;
    height: 12mm;
    border-radius: 12mm;
    font-size: 15pt;
  }

  body:not(.printing-lab-combined) #recipe-form .recipe-title {
    font-size: 18pt;
    line-height: 1.15;
  }

  body:not(.printing-lab-combined) #recipe-form .recipe-meta-grid {
    gap: 2mm 7mm;
    margin-bottom: 4mm;
  }

  body:not(.printing-lab-combined) #recipe-form .recipe-meta-grid label {
    grid-template-columns: 32mm minmax(0, 1fr);
    gap: 2mm;
    font-size: 8.5pt;
    line-height: 1.15;
  }

  body:not(.printing-lab-combined) #recipe-form .recipe-meta-grid input,
  body:not(.printing-lab-combined) #recipe-form .recipe-meta-grid select,
  body:not(.printing-lab-combined) #recipe-form .recipe-material-row input,
  body:not(.printing-lab-combined) #recipe-form .recipe-material-row select {
    min-height: 7mm;
    padding: 1mm 1.5mm;
    border-color: #000;
    background: #fff;
    color: #000;
    font-size: 8.5pt;
    line-height: 1.1;
  }

  body:not(.printing-lab-combined) #recipe-form .recipe-material-dropdown,
  body:not(.printing-lab-combined) #recipe-form .recipe-reference-dropdown {
    display: none;
  }

  body:not(.printing-lab-combined) #recipe-form .recipe-section-title {
    min-height: 7mm;
    border: 1.5px solid #000;
    font-size: 8.5pt;
  }

  body:not(.printing-lab-combined) #recipe-form .recipe-material-head,
  body:not(.printing-lab-combined) #recipe-form .recipe-material-row,
  body:not(.printing-lab-combined) #recipe-form .recipe-total-row {
    grid-template-columns: 11mm 43mm 39mm 30mm 57mm;
  }

  body:not(.printing-lab-combined) #recipe-form .recipe-material-head span,
  body:not(.printing-lab-combined) #recipe-form .recipe-total-row span,
  body:not(.printing-lab-combined) #recipe-form .recipe-total-row strong {
    min-height: 7mm;
    font-size: 8pt;
    line-height: 1.1;
  }

  body:not(.printing-lab-combined) #recipe-form .recipe-row-actions {
    display: none;
  }

  body:not(.printing-lab-combined) #recipe-form .recipe-notes {
    min-height: 18mm;
    border: 1.5px solid #000;
    border-top: 0;
    background: #fff;
    color: #000;
    font-size: 8.5pt;
  }

  body.printing-additive-samples #additive-sample-form {
    position: absolute;
    top: 0;
    left: 0;
    width: 209.8mm;
    max-width: 209.8mm;
    padding: 0;
  }

  body.printing-outgoing-samples #outgoing-sample-form {
    position: absolute;
    top: 0;
    left: 0;
    width: 209.8mm;
    max-width: 209.8mm;
    padding: 0;
  }

  body.printing-analysis-report #analysis-report-form {
    position: absolute;
    top: 0;
    left: 0;
    width: 209.8mm;
    max-width: 209.8mm;
    min-height: 296.8mm;
    padding: 0;
    box-sizing: border-box;
  }

  body.printing-analysis-report #analysis-report-form .analysis-report-paper {
    width: 209.8mm;
    max-width: 209.8mm;
    min-height: 296.8mm;
    margin: 0;
    padding: 5mm;
    border: 1.5px solid #000;
    border-radius: 0;
    box-sizing: border-box;
    background: #fff;
    color: #000;
  }

  body.printing-analysis-report #analysis-report-form input,
  body.printing-analysis-report #analysis-report-form textarea {
    color: #000 !important;
    -webkit-text-fill-color: #000 !important;
    background: #fff !important;
    opacity: 1 !important;
  }

  body.printing-analysis-report #analysis-report-form .analysis-report-top {
    grid-template-columns: 42mm minmax(0, 1fr) 24mm;
    min-height: 24mm;
    margin-bottom: 5mm;
  }

  body.printing-analysis-report #analysis-report-form .analysis-logo {
    margin: 3mm;
  }

  body.printing-analysis-report #analysis-report-form .analysis-title-field input {
    font-size: 18pt;
  }

  body.printing-analysis-report #analysis-report-form .analysis-info-grid,
  body.printing-analysis-report #analysis-report-form .analysis-product-name {
    margin-bottom: 2mm;
  }

  body.printing-analysis-report #analysis-report-form .analysis-product-name,
  body.printing-analysis-report #analysis-report-form .analysis-product-name input {
    font-size: 12pt;
  }

  body.printing-analysis-report #analysis-report-form .analysis-info-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1mm 3mm;
  }

  body.printing-analysis-report #analysis-report-form .analysis-info-grid label {
    grid-template-columns: 34mm minmax(0, 1fr);
    font-size: 7.5pt;
  }

  body.printing-analysis-report #analysis-report-form .analysis-info-grid input {
    min-height: 6mm;
    padding: 0.7mm 1mm;
    font-size: 7.5pt;
  }

  body.printing-analysis-report #analysis-report-form .analysis-results-table {
    width: 100%;
    max-width: 100%;
    margin-bottom: 5mm;
    overflow: hidden;
  }

  body.printing-analysis-report #analysis-report-form .analysis-results-grid {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed;
  }

  body.printing-analysis-report #analysis-report-form .analysis-results-head input,
  body.printing-analysis-report #analysis-report-form .analysis-results-row input {
    display: none !important;
  }

  body.printing-analysis-report #analysis-report-form .analysis-print-value {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-width: 0;
    min-height: 9mm;
    padding: 1.2mm 0.8mm;
    box-sizing: border-box;
    color: #000;
    font-size: 8pt;
    line-height: 1.2;
    overflow-wrap: anywhere;
    word-break: break-word;
    white-space: normal;
  }

  body.printing-analysis-report #analysis-report-form .analysis-results-head .analysis-print-value {
    background: #f3f6f9;
    font-weight: 800;
    text-align: center;
  }

  body.printing-analysis-report #analysis-report-form .analysis-results-row .analysis-print-value {
    text-align: center;
  }

  body.printing-analysis-report #analysis-report-form .analysis-results-row td:first-child .analysis-print-value {
    justify-content: flex-start;
    padding-left: 1.2mm;
    text-align: left;
  }

  body.printing-analysis-report #analysis-report-form.analysis-columns-wide .analysis-print-value {
    min-height: 8mm;
    padding: 0.7mm 0.4mm;
    font-size: 6.5pt;
  }

  body.printing-analysis-report #analysis-report-form.analysis-columns-ultra-wide .analysis-print-value {
    min-height: 7mm;
    padding: 0.5mm 0.25mm;
    font-size: 5.2pt;
  }

  body.printing-analysis-report #analysis-report-form .analysis-table-actions {
    display: none;
  }

  body.printing-customer-order #recipe-form,
  body.printing-customer-order #additive-sample-form,
  body.printing-customer-order #outgoing-sample-form,
  body.printing-customer-order #analysis-report-form {
    display: none !important;
  }

  body.printing-customer-order > *:not(#customer-order-print) {
    display: none !important;
  }

  body.printing-customer-order #customer-order-print {
    position: static;
    display: block;
    width: 201.8mm;
    min-height: 288.6mm;
    height: auto;
    margin: 4mm;
    overflow: visible;
    background: #fff;
    color: #000;
    break-after: auto;
    page-break-after: auto;
  }

  .customer-order-print-copy {
    display: flex;
    flex-direction: column;
    flex: 0 0 auto;
    width: 100%;
    min-height: var(--customer-order-copy-height, auto);
    padding: 2mm;
    margin: 0;
    overflow: visible;
    border: 1px solid #000;
    box-sizing: border-box;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .customer-order-print-copy + .customer-order-print-copy {
    border-top: 1px solid #000;
  }

  .customer-order-print-sheet:not(.copies-1) .customer-order-print-copy {
    padding: 1mm 1.5mm;
  }

  .customer-order-print-sheet:not(.copies-1) .customer-order-print-header {
    min-height: 10mm;
    margin-bottom: 0.6mm;
  }

  .customer-order-print-sheet:not(.copies-1) .customer-order-print-header img {
    max-height: 7.5mm;
    margin: 0.5mm 1.2mm;
  }

  .customer-order-print-sheet:not(.copies-1) .customer-order-print-header div {
    min-height: 10mm;
  }

  .customer-order-print-sheet:not(.copies-1) .customer-order-print-header strong {
    font-size: 10pt;
  }

  .customer-order-print-sheet:not(.copies-1) .customer-order-print-meta {
    margin-bottom: 0.6mm;
  }

  .customer-order-print-sheet:not(.copies-1) .customer-order-print-meta span {
    min-height: 3.4mm;
    padding: 0.25mm 0.7mm;
    line-height: 1;
  }

  .customer-order-print-header {
    display: grid;
    grid-template-columns: 42mm 1fr;
    align-items: center;
    min-height: 16mm;
    margin-bottom: 2mm;
    border: 1px solid #000;
  }

  .customer-order-print-header img {
    width: 37mm;
    max-height: 12mm;
    margin: 1.5mm;
    object-fit: contain;
  }

  .customer-order-print-header div {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 16mm;
    border-left: 1px solid #000;
  }

  .customer-order-print-header strong {
    font-size: 13pt;
  }

  .customer-order-print-meta {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 0;
    margin-bottom: 2mm;
    font-size: calc(var(--customer-order-font-size, 7pt) + 2pt);
  }

  .customer-order-print-meta span {
    min-height: 5mm;
    padding: 1mm 1.4mm;
    border-right: 1px solid #000;
    border-bottom: 1px solid #000;
    box-sizing: border-box;
  }

  .customer-order-print-meta span:nth-child(-n + 2) {
    border-top: 1px solid #000;
  }

  .customer-order-print-meta span:nth-child(odd) {
    border-left: 1px solid #000;
  }

  .customer-order-print-copy table {
    width: 100%;
    box-sizing: border-box;
    border-collapse: separate;
    border-spacing: 0;
    border-top: 1px solid #000;
    border-left: 1px solid #000;
    table-layout: fixed;
    font-size: var(--customer-order-font-size, 7pt);
  }

  .customer-order-print-copy .print-col-brand { width: 15%; }
  .customer-order-print-copy .print-col-product { width: 20%; }
  .customer-order-print-copy .print-col-packaging { width: 13%; }
  .customer-order-print-copy .print-col-weight { width: 9%; }
  .customer-order-print-copy .print-col-unit { width: 7%; }
  .customer-order-print-copy .print-col-piece { width: 7%; }
  .customer-order-print-copy .print-col-box { width: 6%; }
  .customer-order-print-copy .print-col-batch { width: 23%; }

  .customer-order-print-copy th,
  .customer-order-print-copy td {
    min-height: var(--customer-order-row-height, 5mm);
    padding: 0.2mm 0.7mm;
    overflow: visible;
    border: 0;
    border-right: 1px solid #000;
    border-bottom: 1px solid #000;
    line-height: 1.08;
    text-overflow: clip;
    overflow-wrap: anywhere;
    white-space: normal;
    vertical-align: middle;
  }

  .customer-order-print-copy th:first-child,
  .customer-order-print-copy td:first-child {
    font-size: calc(var(--customer-order-font-size, 7pt) * 0.94);
    font-weight: 700;
    overflow-wrap: normal;
    word-break: normal;
  }

  .customer-order-print-copy th:last-child,
  .customer-order-print-copy td:last-child {
    font-size: calc(var(--customer-order-font-size, 7pt) * 0.9);
    line-height: 1;
    overflow-wrap: anywhere;
    white-space: normal;
  }

  .customer-order-print-copy.is-dense th,
  .customer-order-print-copy.is-dense td {
    padding: 0.15mm 0.5mm;
  }

  .customer-order-print-copy.is-ultra-dense th,
  .customer-order-print-copy.is-ultra-dense td {
    padding: 0.05mm 0.35mm;
  }

  .customer-order-print-copy.is-ultra-dense .customer-order-print-header {
    min-height: 11mm;
    margin-bottom: 0.7mm;
  }

  .customer-order-print-copy.is-ultra-dense .customer-order-print-header img {
    max-height: 8mm;
    margin: 0.7mm 1.5mm;
  }

  .customer-order-print-copy.is-ultra-dense .customer-order-print-header div {
    min-height: 11mm;
  }

  .customer-order-print-copy.is-ultra-dense .customer-order-print-header strong {
    font-size: 10pt;
  }

  .customer-order-print-copy.is-ultra-dense .customer-order-print-meta {
    margin-bottom: 0.7mm;
    font-size: calc(var(--customer-order-font-size, 7pt) + 2pt);
  }

  .customer-order-print-copy.is-ultra-dense .customer-order-print-meta span {
    min-height: 3.5mm;
    padding: 0.4mm 0.8mm;
  }

  .customer-order-print-note {
    margin-top: 1.5mm;
    font-size: 6.5pt;
  }

  .recipe-actions {
    display: none;
  }

  .recipe-title-caret,
  .recipe-title-menu {
    display: none;
  }

  body.printing-lab-combined * {
    visibility: hidden;
  }

  body.printing-lab-combined #lab-combined-print,
  body.printing-lab-combined #lab-combined-print * {
    visibility: visible;
  }

  body.printing-lab-combined #lab-combined-print {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 209.8mm;
    background: #fff;
    color: #000;
  }

  body.printing-lab-combined #lab-combined-print > #recipe-form {
    display: grid;
    gap: 0;
    width: 209.8mm;
    padding: 0;
    background: #fff;
  }

  body.printing-lab-combined #lab-combined-print > .grease-result-form {
    display: block;
    width: 209.8mm;
    padding: 0;
    background: #fff;
  }

  body.printing-lab-combined #lab-combined-print > #recipe-form .recipe-row-actions {
    display: none;
  }

  .combined-print-page {
    position: relative;
    z-index: 1;
    isolation: isolate;
    overflow: hidden;
    width: 209.8mm;
    min-height: 296.8mm;
    padding: 0;
    background: #fff;
    break-after: page;
    page-break-before: auto;
    page-break-after: always;
  }

  .combined-print-page:last-child {
    break-after: auto;
    page-break-after: auto;
  }

  .lab-print-page {
    z-index: 2;
    break-before: page;
    page-break-before: always;
  }

  .combined-print-page:first-child {
    break-before: auto;
    page-break-before: auto;
  }

  .lab-result-paper,
  .recipe-paper,
  .grease-result-paper {
    break-inside: avoid;
  }

  body.printing-lab-combined .combined-print-page form,
  body.printing-lab-combined .grease-result-form {
    display: block;
    padding: 0;
  }

  body.printing-lab-combined .grease-result-paper {
    gap: 0;
    padding: 0;
    border: 1.5px solid #000;
    border-radius: 0;
    background: #fff;
    color: #000;
  }

  body.printing-lab-combined .grease-result-title {
    min-height: 13mm;
    padding: 2.5mm 4mm;
    border: 0;
    border-bottom: 1.5px solid #000;
    border-radius: 0;
    background: #fff;
  }

  body.printing-lab-combined .grease-result-title span,
  body.printing-lab-combined .grease-result-title small,
  body.printing-lab-combined .grease-panel-heading span {
    color: #000;
    font-size: 8.5pt;
  }

  body.printing-lab-combined .grease-result-title strong {
    color: #000;
    font-size: 14pt;
  }

  body.printing-lab-combined .grease-result-meta {
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    border-bottom: 1px solid #000;
  }

  body.printing-lab-combined .grease-result-meta label {
    gap: 1mm;
    min-height: 13mm;
    padding: 2mm;
    border-right: 1px solid #000;
    color: #000;
    font-size: 8.5pt;
  }

  body.printing-lab-combined .grease-result-meta label:last-child {
    border-right: 0;
  }

  body.printing-lab-combined .grease-result-layout {
    grid-template-columns: 1fr;
    gap: 0;
  }

  body.printing-lab-combined .grease-result-panel {
    gap: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: #fff;
  }

  body.printing-lab-combined .grease-panel-heading {
    min-height: 9mm;
    padding: 2mm 3mm;
    border-bottom: 1px solid #000;
    background: #f2f2f2;
  }

  body.printing-lab-combined .grease-panel-heading h4 {
    color: #000;
    font-size: 10pt;
  }

  body.printing-lab-combined .grease-measure-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }

  body.printing-lab-combined .grease-measure-grid label:first-child {
    grid-column: auto;
  }

  body.printing-lab-combined .grease-measure-grid label,
  body.printing-lab-combined .grease-approval-grid label {
    display: grid;
    grid-template-columns: 42mm 1fr;
    gap: 0;
    min-height: 8.5mm;
    border-bottom: 1px solid #000;
    color: #000;
    font-size: 9pt;
  }

  body.printing-lab-combined .grease-measure-grid label span,
  body.printing-lab-combined .grease-approval-grid label {
    align-items: center;
  }

  body.printing-lab-combined .grease-measure-grid label span,
  body.printing-lab-combined .grease-packaging-grid label span {
    display: flex;
    align-items: center;
    padding: 1.5mm 2mm;
    border-right: 1px solid #000;
    color: #000;
  }

  body.printing-lab-combined .grease-packaging-grid {
    grid-template-columns: repeat(5, 1fr);
    gap: 0;
    border-bottom: 1px solid #000;
  }

  body.printing-lab-combined .grease-packaging-grid label {
    grid-template-columns: 1fr;
    gap: 0;
    min-height: 24mm;
    border-right: 1px solid #000;
    color: #000;
    text-align: center;
  }

  body.printing-lab-combined .grease-packaging-grid label:last-child {
    border-right: 0;
  }

  body.printing-lab-combined .grease-packaging-grid label span {
    justify-content: center;
    min-height: 8mm;
    border-right: 0;
    border-bottom: 1px solid #000;
    text-decoration: underline;
  }

  body.printing-lab-combined .grease-approval-grid {
    grid-template-columns: 1fr;
    gap: 0;
    padding-top: 6mm;
    background-image:
      linear-gradient(#d8d8d8 1px, transparent 1px),
      linear-gradient(90deg, #d8d8d8 1px, transparent 1px);
    background-size: 28px 18px;
  }

  body.printing-lab-combined .grease-approval-grid label {
    width: 70mm;
    min-height: 8mm;
    border-bottom: 0;
    grid-template-columns: 32mm 1fr;
    padding-left: 1mm;
  }

  body.printing-lab-combined .grease-result-meta input,
  body.printing-lab-combined .grease-measure-grid input,
  body.printing-lab-combined .grease-packaging-grid input,
  body.printing-lab-combined .grease-approval-grid input {
    min-height: 8mm;
    border: 0;
    border-radius: 0;
    padding: 1mm 2mm;
    background: transparent;
    color: #000;
    font-size: 9pt;
    text-align: left;
  }

  body.printing-lab-combined .grease-packaging-grid input {
    min-height: 15mm;
    text-align: center;
  }
}

@media screen and (max-width: 980px) and (pointer: coarse) {
  html {
    height: auto;
    min-width: 0;
    min-height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: none;
    scroll-behavior: auto;
  }

  body {
    height: auto;
    min-width: 0;
    min-height: 100dvh;
    overflow-x: hidden;
    overflow-y: visible;
    overscroll-behavior-y: none;
  }

  .app-shell {
    height: auto;
    min-height: 100dvh;
    grid-template-columns: 1fr;
    overflow: visible;
  }

  .sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 25;
    width: min(86vw, 320px);
    max-height: 100dvh;
    transform: translateX(-100%);
    box-shadow: 22px 0 60px rgba(9, 21, 40, 0.28);
    -webkit-overflow-scrolling: touch;
  }

  .sidebar.open {
    transform: translateX(0);
  }

  .sidebar-close {
    display: grid;
    place-items: center;
  }

  .sidebar-backdrop {
    position: fixed;
    inset: 0;
    z-index: 20;
    display: block;
    background: rgba(9, 21, 40, 0.45);
  }

  .sidebar-backdrop.hidden {
    display: none;
  }

  .sidebar-logo {
    position: sticky;
    top: 0;
    z-index: 3;
    background: var(--nav);
  }

  .menu {
    max-height: calc(100dvh - 72px);
    overflow-y: auto;
    padding-bottom: max(28px, env(safe-area-inset-bottom));
    -webkit-overflow-scrolling: touch;
  }

  .workspace {
    height: auto;
    min-height: 100dvh;
    grid-template-rows: auto auto auto;
    overflow: visible;
  }

  .tab-content {
    min-height: 0;
    padding: 12px;
    overflow: visible;
    overscroll-behavior: auto;
  }

  .panel-header {
    align-items: stretch;
    flex-wrap: wrap;
  }

  .panel-header h3 {
    flex: 1 1 180px;
  }

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

  .toolbar {
    grid-template-columns: 1fr 1fr;
  }

  .stock-entry-panel,
  .stock-entry-form,
  .stock-entry-form.compact {
    grid-template-columns: 1fr;
  }

  .stock-entry-form .wide {
    grid-column: auto;
  }

  .stock-modern-head {
    display: none;
  }

  .stock-modern-table-tools,
  .stock-modern-total-band {
    grid-template-columns: 1fr;
  }

  .stock-color-controls {
    flex-wrap: wrap;
  }

  .stock-modern-row {
    grid-template-columns: 1fr 1fr;
  }

  .stock-modern-name {
    grid-column: 1 / -1;
  }

  .grease-result-meta,
  .grease-result-layout,
  .grease-approval-grid {
    grid-template-columns: 1fr;
  }

  .grease-measure-grid {
    grid-template-columns: 1fr;
  }

  .role-permission-layout {
    grid-template-columns: 1fr;
  }

  .role-permission-grid {
    grid-template-columns: 1fr 1fr;
  }

  .additive-sample-entry-row {
    grid-template-columns: 1fr;
  }

  .additive-sample-list-head,
  .additive-sample-list-row {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .outgoing-sample-row {
    grid-template-columns: 1fr 1fr;
  }

  .outgoing-sample-entry-row,
  .outgoing-sample-list-head,
  .outgoing-sample-list-row {
    grid-template-columns: 1fr 1fr;
  }

  .consultant-call-entry,
  .consultant-visitor-entry,
  .consultant-cargo-entry,
  .consultant-delivery-note-entry,
  .consultant-filter-row,
  .quality-process-form,
  .quality-filter-row,
  .admin-log-filter-row,
  .recipe-filter-panel,
  .consultant-call-list .consultant-list-head,
  .consultant-call-list .consultant-list-row,
  .consultant-visitor-list .consultant-list-head,
  .consultant-visitor-list .consultant-list-row,
  .consultant-cargo-list .consultant-list-head,
  .consultant-cargo-list .consultant-list-row,
  .consultant-delivery-note-list .consultant-list-head,
  .consultant-delivery-note-list .consultant-list-row {
    grid-template-columns: 1fr 1fr;
  }

  .recipe-title-row,
  .recipe-meta-grid {
    grid-template-columns: 1fr;
  }

  .recipe-paper,
  .lab-result-paper,
  .grease-result-paper {
    min-width: 760px;
  }

  #recipe-form,
  .lab-result-form,
  .grease-result-form {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .quality-process-form .wide {
    grid-column: auto;
  }

  .recipe-title {
    text-align: left;
  }

  .recipe-material-head,
  .recipe-material-row,
  .recipe-total-row {
    grid-template-columns: 46px 1fr 1fr 0.9fr 1fr;
  }
}

@media screen and (max-width: 640px) and (pointer: coarse) {
  .dashboard-update-item {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .dashboard-update-item small {
    text-align: left;
  }

  .login-shell {
    padding: 14px;
  }

  .login-panel {
    padding: 22px;
  }

  .topbar {
    grid-template-columns: auto auto 1fr auto auto;
    gap: 8px;
    min-height: 62px;
    padding: 8px 10px;
  }

  .topbar strong {
    font-size: 15px;
  }

  .topbar span {
    font-size: 11px;
  }

  .user-chip {
    display: none;
  }

  .notification-popover {
    left: 0;
    right: auto;
    width: min(330px, calc(100vw - 24px));
  }

  .tabs {
    min-height: 42px;
    padding: 6px 8px 0;
  }

  .tab {
    min-width: 118px;
    height: 36px;
  }

  .tab-content {
    padding: 10px;
  }

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

  .summary-card {
    min-width: 0;
    padding: 7px 3px;
    text-align: center;
  }

  .summary-card small {
    min-height: 24px;
    display: grid;
    place-items: center;
    font-size: 8.5px;
    font-weight: 850;
    line-height: 1.1;
    overflow-wrap: anywhere;
  }

  .summary-card strong {
    margin-top: 3px;
    font-size: 18px;
    line-height: 1;
  }

  .summary-grid,
  .dashboard-main-grid,
  .dashboard-announcement-panel,
  .modal form {
    grid-template-columns: 1fr;
  }

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

  .dashboard-main-grid {
    gap: 10px;
  }

  .dashboard-main-grid .panel {
    min-height: 0;
  }

  .dashboard-alert-panel .panel-header,
  .dashboard-recipe-panel .panel-header {
    min-height: 42px;
    padding: 8px 10px;
  }

  .dashboard-alert-panel .panel-header h3,
  .dashboard-recipe-panel .panel-header h3 {
    flex-basis: auto;
    font-size: 15px;
  }

  .dashboard-alert-panel .table-wrap,
  .dashboard-recipe-panel .table-wrap {
    overflow: hidden;
  }

  .dashboard-alert-panel table,
  .dashboard-recipe-table {
    min-width: 0;
    table-layout: fixed;
  }

  .dashboard-alert-panel th,
  .dashboard-alert-panel td,
  .dashboard-recipe-table th,
  .dashboard-recipe-table td {
    height: auto;
    padding: 6px 4px;
    font-size: 10px;
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .dashboard-alert-panel th:nth-child(1),
  .dashboard-alert-panel td:nth-child(1) {
    width: 22%;
  }

  .dashboard-alert-panel th:nth-child(2),
  .dashboard-alert-panel td:nth-child(2) {
    width: 39%;
  }

  .dashboard-alert-panel th:nth-child(3),
  .dashboard-alert-panel td:nth-child(3) {
    width: 18%;
  }

  .dashboard-alert-panel th:nth-child(4),
  .dashboard-alert-panel td:nth-child(4) {
    width: 21%;
  }

  .dashboard-alert-panel td:nth-child(1),
  .dashboard-alert-panel td:nth-child(2),
  .dashboard-alert-panel td:nth-child(3) {
    display: table-cell;
    max-width: 0;
  }

  .dashboard-alert-panel .secondary-button {
    min-height: 28px;
    padding: 4px 5px;
    font-size: 9px;
    line-height: 1.05;
    white-space: normal;
  }

  .dashboard-recipe-table th:nth-child(1),
  .dashboard-recipe-table td:nth-child(1) {
    width: 19%;
    max-width: 0;
    white-space: nowrap;
  }

  .dashboard-recipe-table th:nth-child(2),
  .dashboard-recipe-table td:nth-child(2) {
    width: 24%;
    max-width: 0;
    white-space: nowrap;
  }

  .dashboard-recipe-table th:nth-child(3),
  .dashboard-recipe-table td:nth-child(3) {
    width: 17%;
  }

  .dashboard-recipe-table th:nth-child(4),
  .dashboard-recipe-table td:nth-child(4) {
    width: 15%;
  }

  .dashboard-recipe-table th:nth-child(5),
  .dashboard-recipe-table td:nth-child(5) {
    width: 25%;
  }

  .dashboard-recipe-table .recipe-status-badge {
    max-width: 100%;
    padding: 4px 5px;
    font-size: 9px;
    line-height: 1.05;
    white-space: normal;
  }

  .dashboard-announcement-heading {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .toolbar {
    grid-template-columns: 1fr;
    width: 100%;
  }

  .module-header {
    display: grid;
    gap: 10px;
  }

  .module-header h2 {
    font-size: 20px;
  }

  .menu button,
  .menu-parent {
    min-height: 46px;
  }

  .menu-child {
    margin-left: 28px;
  }

  .recipe-filter-panel,
  .purchase-filter-panel,
  .recipe-date-range,
  .recipe-filter-combo {
    grid-template-columns: 1fr !important;
  }

  .recipe-filter-actions {
    justify-content: stretch;
  }

  .recipe-filter-actions button {
    flex: 1;
  }

  .recipe-filter-shortcuts {
    margin: 0 8px 10px;
    padding: 12px;
  }

  .recipe-year-row,
  .recipe-month-row,
  .recipe-day-row {
    gap: 6px;
  }

  .quality-process-form label,
  .quality-process-form .wide,
  .purchase-order-form label,
  .purchase-order-form .small-field,
  .purchase-order-form .wide {
    flex-basis: 100% !important;
  }

  .outgoing-sample-entry-row,
  .outgoing-sample-list-head,
  .outgoing-sample-list-row,
  .consultant-call-entry,
  .consultant-visitor-entry,
  .consultant-cargo-entry,
  .consultant-filter-row,
  .quality-process-form,
  .quality-filter-row,
  .admin-log-filter-row,
  .recipe-filter-panel {
    grid-template-columns: 1fr;
  }

  .modal {
    width: calc(100vw - 20px);
    max-height: calc(100dvh - 20px);
    overflow: auto;
  }

  .workspace,
  .tab-content,
  .panel,
  .modal,
  .modal header,
  .modal form,
  .view-switch,
  .table-wrap,
  .stock-ledger-table-wrap,
  .quality-table-wrap,
  .purchase-order-table-wrap,
  .company-vehicle-table-wrap,
  .admin-log-table-wrap,
  .analysis-report-modal-body,
  .recipe-group-list,
  .recipe-list-group,
  .consultant-card,
  .quality-card,
  .purchase-order-card,
  .admin-log-card,
  .stock-ledger-shell,
  .stock-modern-shell {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  .table-wrap,
  .stock-ledger-table-wrap,
  .quality-table-wrap,
  .purchase-order-table-wrap,
  .company-vehicle-table-wrap,
  .admin-log-table-wrap,
  .analysis-report-form,
  #recipe-form,
  .lab-result-form,
  .grease-result-form {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  table,
  .stock-ledger-table,
  .quality-process-table,
  .purchase-order-table,
  .admin-log-table,
  .recipe-list,
  .analysis-report-list-table {
    max-width: none;
  }

  .stock-ledger-table {
    min-width: 760px;
  }

  .quality-process-table,
  .purchase-order-table {
    min-width: 920px;
  }

  .admin-log-table,
  .company-vehicle-table-wrap table,
  .analysis-report-list-table,
  .recipe-list {
    min-width: 760px;
  }

  .panel-header,
  .sample-actions,
  .recipe-actions,
  .approval-actions,
  .quality-actions,
  .purchase-order-actions,
  .purchase-order-row-actions,
  .admin-log-filter-actions,
  .row-actions {
    flex-wrap: wrap;
  }

  .panel-header h3,
  .panel-header h2,
  .module-header h2,
  .module-header p,
  .topbar strong,
  .topbar span {
    min-width: 0;
  }

  .view-switch {
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 4px;
  }

  .view-switch button {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  .stock-ledger-summary,
  .stock-ledger-toolbar,
  .stock-settings-form,
  .stock-popup-body .stock-entry-form,
  .stock-popup-body .stock-entry-form.compact,
  .company-vehicle-form,
  .company-vehicle-modal .company-vehicle-form,
  .company-vehicle-settings-form,
  .role-permission-layout,
  .role-permission-grid,
  .role-module-grid,
  .purchase-order-form,
  .analysis-info-grid,
  .analysis-signatures,
  .analysis-product-name,
  .analysis-report-top,
  .analysis-revision-fields,
  .grease-result-meta,
  .grease-result-layout,
  .grease-measure-grid,
  .grease-packaging-grid,
  .grease-approval-grid,
  .lab-result-meta,
  .lab-measure-grid,
  .lab-approval-grid {
    grid-template-columns: 1fr !important;
  }

  .stock-ledger-tabs,
  .stock-color-controls,
  .recipe-year-row,
  .recipe-month-row,
  .recipe-day-row {
    overflow-x: auto;
    flex-wrap: nowrap;
    -webkit-overflow-scrolling: touch;
  }

  .stock-ledger-tabs button,
  .recipe-year-row button,
  .recipe-month-row button,
  .recipe-day-row button {
    flex: 0 0 auto;
  }

  .stock-modern-row {
    grid-template-columns: 1fr !important;
    gap: 6px;
  }

  .stock-modern-row > div:not(.stock-modern-name) {
    justify-content: space-between;
  }

  .stock-modern-status {
    min-width: 0;
    width: fit-content;
  }

  .consultant-call-list .consultant-list-head,
  .consultant-call-list .consultant-list-row,
  .consultant-visitor-list .consultant-list-head,
  .consultant-visitor-list .consultant-list-row,
  .consultant-cargo-list .consultant-list-head,
  .consultant-cargo-list .consultant-list-row,
  .consultant-delivery-note-list .consultant-list-head,
  .consultant-delivery-note-list .consultant-list-row,
  .additive-sample-list-head,
  .additive-sample-list-row,
  .outgoing-sample-list-head,
  .outgoing-sample-list-row {
    grid-template-columns: 1fr !important;
    gap: 5px;
  }

  .recipe-modal .recipe-form,
  .recipe-modal .lab-result-form,
  .analysis-report-modal-body {
    padding: 10px;
  }

  .recipe-paper,
  .lab-result-paper,
  .grease-result-paper,
  .analysis-report-paper {
    max-width: none;
  }

  .analysis-report-paper {
    width: 100%;
    min-width: 0;
  }

  .analysis-report-top,
  .analysis-title-field,
  .analysis-revision-fields,
  .analysis-product-name,
  .analysis-info-grid label,
  .analysis-signatures {
    gap: 8px;
  }

  .analysis-logo {
    width: min(220px, 100%);
    min-height: 54px;
  }

  .admin-log-summary {
    min-width: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-log-details pre {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
  }

  .notification-popover {
    max-width: calc(100vw - 16px);
  }

  input,
  select,
  textarea,
  button {
    max-width: 100%;
  }
}
.management-stock-report-panel .panel-header p {
  margin: 6px 0 0;
  color: #64748b;
}

.management-stock-report-choices {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 16px 0 20px;
}

.management-stock-report-choices button {
  min-height: 58px;
  border: 1px solid #cbd5e1;
  border-radius: 12px;
  background: #f8fafc;
  color: #1e293b;
  font-weight: 800;
  cursor: pointer;
}

.management-stock-report-choices button:hover,
.management-stock-report-choices button.active {
  border-color: #25256f;
  background: #25256f;
  color: #fff;
}

.management-stock-report-period {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  margin: -6px 0 16px;
  color: #334155;
  font-size: 13px;
  font-weight: 800;
}

.management-stock-report-period > strong {
  margin-right: 4px;
}

.management-stock-report-period label {
  display: flex;
  align-items: center;
  gap: 6px;
}

.management-stock-report-month-controls {
  display: flex;
  align-items: center;
  gap: 10px;
}

.management-stock-report-month-controls.hidden {
  display: none;
}

.management-stock-report-period select {
  width: 130px;
  min-height: 40px;
}

.management-stock-report-empty {
  display: grid;
  place-items: center;
  min-height: 240px;
  padding: 30px;
  border: 1px dashed #94a3b8;
  border-radius: 14px;
  background: #f8fafc;
  text-align: center;
}

.management-stock-report-empty strong {
  font-size: 22px;
  color: #1e293b;
}

.management-stock-report-empty span {
  color: #64748b;
}

.management-stock-report {
  overflow: hidden;
  border: 1px solid #cbd5e1;
  border-radius: 14px;
  background: #fff;
  color: #111827;
}

.management-stock-report-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 22px;
  border-bottom: 2px solid #25256f;
}

.management-stock-report-brand {
  display: flex;
  align-items: center;
  gap: 18px;
}

.management-stock-report-brand img {
  width: 190px;
  max-height: 70px;
  object-fit: contain;
}

.management-stock-report-brand span {
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
}

.management-stock-report-brand h2 {
  margin: 3px 0 0;
  color: #111827;
}

.management-stock-report-header-actions {
  display: flex;
  align-items: flex-end;
  flex-direction: column;
  gap: 10px;
}

.management-stock-report-header-actions small {
  color: #475569;
  font-weight: 700;
}

.management-stock-report-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  padding: 16px 20px;
  background: #f1f5f9;
}

.management-stock-report-summary > div {
  padding: 14px;
  border: 1px solid #dbe3ed;
  border-radius: 10px;
  background: #fff;
}

.management-stock-report-summary span {
  display: block;
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
}

.management-stock-report-summary strong {
  display: block;
  margin-top: 5px;
  color: #111827;
  font-size: 20px;
}

.management-stock-report-table {
  min-width: 1350px;
  border-collapse: separate;
  border-spacing: 0;
}

.management-stock-report-table-wrap {
  position: relative;
  max-height: min(62dvh, 640px);
  overflow: auto !important;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}

.management-stock-report-table th {
  position: sticky;
  top: 0;
  z-index: 5;
  background: #25256f;
  color: #fff;
  white-space: nowrap;
}

.stock-report-sort-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  min-height: 32px;
  padding: 4px 6px;
  border: 0;
  background: transparent;
  color: #fff;
  font: inherit;
  font-weight: 800;
  white-space: nowrap;
  cursor: pointer;
}

.stock-report-sort-button span {
  color: #cbd5e1;
  font-size: 10px;
}

.stock-report-sort-button:hover,
.stock-report-sort-button.active {
  background: rgba(255, 255, 255, .14);
}

.stock-report-sort-button.active span {
  color: #fff;
}

.management-stock-report-table td {
  color: #111827;
  vertical-align: middle;
  white-space: nowrap;
}

.management-stock-report-table td:nth-child(3) {
  min-width: 260px;
}

.management-stock-report-table tr.stock-report-critical td {
  background: #fff1f2;
}

.management-stock-report-table tr.stock-report-warning td {
  background: #fffbeb;
}

.stock-report-status {
  display: inline-flex;
  min-width: 86px;
  justify-content: center;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
}

.stock-report-status.healthy {
  background: #dcfce7;
  color: #166534;
}

.stock-report-status.warning {
  background: #fef3c7;
  color: #92400e;
}

.stock-report-status.critical {
  background: #fee2e2;
  color: #991b1b;
}

.stock-report-status.untracked {
  background: #e2e8f0;
  color: #475569;
}

.management-stock-report-footer {
  padding: 12px 20px;
  border-top: 1px solid #e2e8f0;
  color: #64748b;
  font-size: 12px;
}

@media screen and (max-width: 900px) and (pointer: coarse) {
  .management-stock-report-choices,
  .management-stock-report-summary {
    grid-template-columns: 1fr;
  }

  .management-stock-report-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .management-stock-report-header-actions {
    align-items: flex-start;
  }

  .management-stock-report-period {
    align-items: stretch;
    flex-direction: column;
  }

  .management-stock-report-month-controls {
    align-items: stretch;
    flex-direction: column;
  }
}

@media print {
  .recipe-logo,
  .analysis-logo,
  .customer-order-print-header {
    overflow: visible !important;
  }

  .recipe-logo img,
  .analysis-logo img,
  .customer-order-print-header img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
  }

  .recipe-logo img {
    max-height: 12mm !important;
  }

  .analysis-logo img {
    max-height: 18mm !important;
  }

  .customer-order-print-header img {
    max-width: 37mm !important;
    max-height: 12mm !important;
    margin-inline: auto !important;
  }
}
html.auth-restoring #login-view,
html.auth-restoring #app-view {
  visibility: hidden;
}

/* 0.1324 ortak okunabilirlik, kullanıcı ayarları ve sabit tablo başlıkları */
@media screen {
  .sidebar {
    grid-template-rows: 72px minmax(0, 1fr) auto;
  }

  .sidebar-user-settings {
    padding: 10px 12px 14px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(0, 0, 0, 0.08);
  }

  .sidebar-user-settings button {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 11px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.07);
    color: #fff;
    text-align: left;
    cursor: pointer;
  }

  .sidebar-user-settings button:hover {
    background: rgba(255, 255, 255, 0.14);
  }

  .sidebar-user-settings button > span:last-child {
    display: grid;
    gap: 2px;
  }

  .sidebar-user-settings small {
    color: #dbe7f4;
    font-size: 11px;
  }

  .user-settings-modal {
    width: min(920px, calc(100vw - 28px));
  }

  .user-settings-sections {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(280px, 0.7fr);
    gap: 16px;
    padding: 18px;
  }

  .user-settings-card {
    display: grid;
    align-content: start;
    gap: 12px;
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--panel);
  }

  .user-settings-card-title {
    display: grid;
    gap: 4px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--line);
  }

  .user-settings-card-title span,
  .user-setting-inline small {
    color: var(--muted);
    font-size: 12px;
  }

  .user-setting-toggle {
    display: flex !important;
    flex-direction: row !important;
    align-items: center;
    gap: 9px;
  }

  .user-setting-toggle input {
    width: 18px;
    height: 18px;
  }

  .user-setting-inline {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
  }

  .sample-measurement-type-modal {
    width: min(560px, calc(100vw - 28px));
  }

  .sample-measurement-type-options {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 470px;
    margin: 18px auto;
    gap: 12px;
  }

  .sample-measurement-type-button {
    min-height: 104px;
    border-radius: 14px;
  }

  .sample-row-actions {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
    padding: 4px !important;
  }

  .sample-edit-button,
  .admin-log-undo-button {
    min-height: 30px;
    padding: 5px 9px;
    border: 1px solid #93c5fd;
    border-radius: 7px;
    background: #eff6ff;
    color: #1e3a8a;
    font-weight: 800;
    cursor: pointer;
  }

  .sample-record-edit-modal {
    width: min(760px, calc(100vw - 28px));
  }

  .sample-record-edit-modal form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 18px;
  }

  .sample-record-edit-modal .wide,
  .sample-record-edit-modal footer {
    grid-column: 1 / -1;
  }

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

  .compact-cell-details {
    max-width: 280px;
  }

  .compact-cell-details summary {
    color: #111827;
    cursor: pointer;
    line-height: 1.35;
  }

  .compact-cell-details summary span {
    color: #1d4ed8;
    font-size: 11px;
    font-weight: 850;
    white-space: nowrap;
  }

  .compact-cell-details > div {
    margin-top: 7px;
    padding: 8px;
    border: 1px solid #bfdbfe;
    border-radius: 7px;
    background: #eff6ff;
    color: #111827;
    white-space: pre-wrap;
  }

  .production-origin-badge {
    display: inline-flex;
    padding: 5px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 850;
    white-space: nowrap;
  }

  .production-origin-badge.laboratory {
    color: #6b21a8;
    background: #f3e8ff;
    border: 1px solid #d8b4fe;
  }

  .production-origin-badge.planning {
    color: #1e3a8a;
    background: #dbeafe;
    border: 1px solid #93c5fd;
  }

  .admin-log-no-undo {
    color: #64748b;
  }

  .quality-packaging-type-field {
    min-width: 0;
  }

  body.sticky-table-headers table thead th {
    position: sticky;
    top: 0;
    z-index: 6;
  }

  body.sticky-table-headers .consultant-list-head,
  body.sticky-table-headers .additive-sample-list-head,
  body.sticky-table-headers .outgoing-sample-list-head {
    position: sticky;
    top: 0;
    z-index: 6;
  }

  body.sticky-table-headers .table-wrap,
  body.sticky-table-headers .quality-table-wrap,
  body.sticky-table-headers .purchase-order-table-wrap,
  body.sticky-table-headers .company-vehicle-table-wrap,
  body.sticky-table-headers .admin-log-table-wrap,
  body.sticky-table-headers .stock-ledger-table-wrap,
  body.sticky-table-headers .recipe-list-scroll,
  body.sticky-table-headers .consultant-list {
    max-height: calc(100vh - 250px);
    max-height: calc(100dvh - 250px);
    overflow: auto !important;
    scrollbar-gutter: stable;
  }

  .table-wrap table thead th,
  .purchase-order-table thead th,
  .company-vehicle-table thead th,
  .quality-process-table thead th,
  .admin-log-table thead th,
  .recipe-list thead th,
  .recipe-history-table thead th,
  .recipe-cost-management-table thead th,
  .analysis-report-list-table thead th,
  .dashboard-recipe-table thead th,
  .consultant-list-head,
  .additive-sample-list-head,
  .outgoing-sample-list-head {
    background: #dbe7f3 !important;
    color: #111827 !important;
    border-color: #b8c7d9 !important;
    box-shadow: inset 0 -1px 0 #9fb0c3;
  }

  .table-wrap tbody td,
  .purchase-order-table tbody td,
  .company-vehicle-table tbody td,
  .quality-process-table tbody td,
  .admin-log-table tbody td,
  .recipe-list tbody td,
  .recipe-history-table tbody td,
  .recipe-cost-management-table tbody td,
  .analysis-report-list-table tbody td,
  .dashboard-recipe-table tbody td {
    color: #111827;
  }

  body.dark-mode .table-wrap tbody td,
  body.dark-mode .purchase-order-table tbody td,
  body.dark-mode .company-vehicle-table tbody td,
  body.dark-mode .quality-process-table tbody td,
  body.dark-mode .admin-log-table tbody td,
  body.dark-mode .recipe-list tbody td {
    color: var(--ink);
  }

  .delivery-reminder-clickable-row td {
    background: #fff;
  }

  .delivery-reminder-clickable-row:hover td {
    background: #f2f7fc !important;
  }

  @media screen and (max-width: 760px) and (pointer: coarse) {
    .user-settings-sections,
    .sample-record-edit-modal form {
      grid-template-columns: 1fr;
    }

    .sidebar {
      width: min(90vw, 340px);
      height: 100dvh;
    }

    .sidebar .menu {
      min-height: 0;
      max-height: none;
      padding-bottom: 10px;
    }

    .menu button,
    .sidebar-user-settings button {
      min-height: 46px;
    }

    .topbar {
      grid-template-columns: 44px auto minmax(0, 1fr) 44px 52px;
      gap: 6px;
      padding: max(7px, env(safe-area-inset-top)) 8px 7px;
    }

    .topbar > div:not(.topbar-clock-notifications):not(.user-chip) {
      min-width: 0;
    }

    #top-subtitle {
      display: none;
    }

    #top-title {
      display: block;
      max-width: 100%;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .topbar-clock-notifications {
      gap: 3px;
    }

    .live-clock {
      display: none;
    }

    .notification-toggle,
    .theme-toggle-button,
    #menu-toggle {
      width: 44px;
      min-width: 44px;
      min-height: 44px;
    }

    #logout-button {
      min-height: 44px;
      padding-inline: 8px;
      font-size: 12px;
    }

    .notification-popover {
      position: fixed;
      top: max(66px, calc(env(safe-area-inset-top) + 58px));
      left: 8px;
      right: 8px;
      width: auto;
      max-height: calc(100dvh - 78px - env(safe-area-inset-bottom));
      overflow: auto;
    }

    .notification-item {
      min-height: 64px;
      padding: 11px 10px;
    }

    .tab-content {
      padding: 8px;
      padding-bottom: max(12px, env(safe-area-inset-bottom));
    }

    .panel,
    .quality-card,
    .purchase-order-card,
    .consultant-card,
    .admin-log-card {
      border-radius: 10px;
    }

    .panel-header,
    .table-panel-header {
      display: grid;
      grid-template-columns: 1fr;
      gap: 8px;
      padding: 12px;
    }

    .table-panel-description {
      margin: 0;
      font-size: 12px;
      line-height: 1.45;
    }

    .table-header-actions,
    .toolbar,
    .quality-actions,
    .recipe-actions,
    .sample-actions {
      width: 100%;
    }

    .table-header-actions > button,
    .toolbar > button,
    .quality-actions > button,
    .recipe-actions > button,
    .sample-actions > button {
      min-height: 44px;
    }

    input,
    select,
    textarea,
    button {
      font-size: 16px;
    }

    input,
    select,
    .customer-order-choice-toggle {
      min-height: 44px;
    }

    textarea {
      min-height: 88px;
    }

    .modal-root {
      align-items: flex-end;
      padding: 0;
    }

    .modal {
      width: 100vw;
      max-width: 100vw;
      max-height: 94dvh;
      margin: 0;
      border-radius: 16px 16px 0 0;
      padding-bottom: env(safe-area-inset-bottom);
    }

    .modal > header {
      position: sticky;
      top: 0;
      z-index: 12;
      background: var(--panel);
    }

    .modal > header .icon-button {
      min-width: 44px;
      min-height: 44px;
    }

    .user-settings-modal,
    .sample-record-edit-modal,
    .sample-measurement-type-modal {
      width: 100vw;
    }

    .user-settings-sections {
      padding: 10px;
      gap: 10px;
    }

    .user-settings-card {
      padding: 12px;
    }

    .user-setting-inline {
      display: grid;
      grid-template-columns: 1fr;
    }

    .sample-measurement-type-options {
      grid-template-columns: 1fr;
      margin: 12px;
    }

    .sample-measurement-type-button {
      min-height: 84px;
    }

    .recipe-meta-grid,
    .recipe-prepared-fields,
    .quality-process-form,
    .quality-filter-row,
    .delivery-reminder-summary {
      grid-template-columns: 1fr !important;
    }

    .recipe-meta-grid > *,
    .quality-process-form > * {
      grid-column: 1 / -1 !important;
    }

    .recipe-materials,
    .table-wrap,
    .quality-table-wrap,
    .purchase-order-table-wrap,
    .admin-log-table-wrap,
    .company-vehicle-table-wrap {
      overflow-x: auto;
      overscroll-behavior-inline: contain;
      -webkit-overflow-scrolling: touch;
    }

    .recipe-material-head,
    .recipe-material-row,
    .recipe-total-row {
      min-width: 780px;
    }

    .table-wrap table th,
    .table-wrap table td,
    .quality-process-table th,
    .quality-process-table td,
    .purchase-order-table th,
    .purchase-order-table td,
    .admin-log-table th,
    .admin-log-table td {
      padding: 10px 9px;
      line-height: 1.35;
    }

    .row-actions {
      display: grid;
      grid-template-columns: 1fr;
      min-width: 108px;
    }

    .row-actions button,
    .sample-row-actions button,
    .admin-log-undo-button {
      min-height: 40px;
    }

    .additive-sample-list-head,
    .outgoing-sample-list-head {
      display: none;
    }

    .additive-sample-list-row,
    .outgoing-sample-list-row {
      margin-bottom: 10px;
      padding: 10px;
      border: 1px solid var(--line);
      border-radius: 10px;
      background: var(--panel);
    }

    .additive-sample-list-row > span,
    .outgoing-sample-list-row > span {
      min-height: 32px;
      padding: 6px 8px;
      border-bottom: 1px solid var(--line);
    }

    .sample-row-actions {
      justify-content: stretch;
      border-bottom: 0 !important;
    }

    .sample-row-actions button {
      flex: 1;
    }

    .compact-cell-details {
      max-width: none;
    }

    body.sticky-table-headers table thead th {
      top: 0;
    }
  }
}

button,
a[href],
select,
summary,
[role="button"],
[tabindex]:not([tabindex="-1"]) {
  touch-action: manipulation;
  transition-duration: 0ms !important;
  transition-delay: 0ms !important;
}

/* 0.1325 ana sayfa günlük içerik, sade kullanıcı ayarları ve gerçek mobil yerleşim */
@media screen {
  .user-settings-modal {
    width: min(720px, calc(100vw - 28px));
  }

  .user-settings-tabs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    padding: 10px 18px;
    border-bottom: 1px solid var(--line);
    background: color-mix(in srgb, var(--panel) 92%, #dbeafe);
  }

  .user-settings-tabs button {
    min-height: 42px;
    border: 1px solid transparent;
    border-radius: 9px;
    background: transparent;
    color: var(--ink);
    font-weight: 800;
    cursor: pointer;
  }

  .user-settings-tabs button.active {
    border-color: #93c5fd;
    background: #dbeafe;
    color: #153e75;
    box-shadow: 0 2px 8px rgba(30, 64, 175, 0.12);
  }

  .user-settings-content {
    padding: 18px;
  }

  .user-settings-panel {
    display: grid;
    gap: 15px;
    max-width: 600px;
    margin: 0 auto;
  }

  .user-settings-panel[hidden] {
    display: none;
  }

  .user-settings-panel-heading {
    display: grid;
    gap: 4px;
    padding-bottom: 13px;
    border-bottom: 1px solid var(--line);
  }

  .user-settings-panel-heading strong {
    font-size: 17px;
  }

  .user-settings-panel-heading span,
  .user-sound-upload small {
    color: var(--muted);
    font-size: 12px;
  }

  .user-settings-panel footer {
    display: flex;
    justify-content: flex-end;
    padding-top: 4px;
  }

  .user-sound-upload {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    padding: 12px;
    border: 1px dashed #93c5fd;
    border-radius: 10px;
    background: #f5f9ff;
  }

  .user-sound-upload-copy {
    display: grid;
    gap: 3px;
    min-width: 0;
  }

  .user-sound-upload > label {
    cursor: pointer;
  }

  .user-sound-upload input[type="file"] {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
  }

  .user-sound-upload > small {
    grid-column: 1 / -1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .dashboard-daily-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(420px, 1.1fr);
    gap: 14px;
    margin: 14px 0;
  }

  .dashboard-quote-card,
  .dashboard-market-card {
    min-width: 0;
    padding: 16px 18px;
    border: 1px solid #c8d8e8;
    border-radius: 13px;
    background: var(--panel);
    box-shadow: 0 5px 18px rgba(30, 64, 93, 0.07);
  }

  .dashboard-quote-card {
    background: linear-gradient(135deg, #f4f8ff 0%, #fff 70%);
    border-left: 4px solid #3b82f6;
  }

  .dashboard-daily-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    color: #12345b;
  }

  .dashboard-daily-title > span {
    font-size: 14px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
  }

  .dashboard-daily-title small,
  .dashboard-market-card footer {
    color: #526579;
    font-size: 11px;
  }

  .dashboard-quote-card blockquote {
    margin: 14px 0 8px;
    color: #111827;
    font-size: clamp(16px, 1.5vw, 20px);
    font-weight: 720;
    line-height: 1.5;
  }

  .dashboard-quote-card cite {
    color: #526579;
    font-size: 12px;
    font-style: normal;
  }

  .dashboard-market-rates {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-top: 12px;
  }

  .dashboard-rate-item {
    display: flex;
    flex-direction: column;
    gap: 7px;
    min-width: 0;
    padding: 10px;
    border-radius: 9px;
    background: #f3f7fb;
  }

  .dashboard-rate-item > span {
    display: flex;
    justify-content: space-between;
    gap: 5px;
    color: #334155;
    font-size: 12px;
    font-weight: 800;
  }

  .dashboard-rate-item small {
    color: #64748b;
    font-size: 9px;
  }

  .dashboard-rate-item strong {
    color: #0f172a;
    font-size: 17px;
    white-space: nowrap;
  }

  .dashboard-market-card footer {
    padding-top: 9px;
  }
}

@media screen and (max-width: 900px) and (pointer: coarse) {
  .dashboard-daily-grid {
    grid-template-columns: 1fr;
  }
}

@media screen and (max-width: 600px) and (pointer: coarse) {
  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  .app-shell {
    min-width: 0;
  }

  .main-area,
  .content,
  .module-content,
  .panel,
  .dashboard-announcement-panel,
  .dashboard-daily-grid {
    min-width: 0;
    max-width: 100%;
  }

  .content,
  .module-content {
    padding: 10px !important;
  }

  .module-header {
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 10px;
  }

  .module-header h2 {
    font-size: 20px;
  }

  .module-header p {
    font-size: 12px;
    line-height: 1.4;
  }

  .dashboard-announcement-panel {
    padding: 12px;
    border-radius: 11px;
  }

  .dashboard-announcement-heading {
    align-items: center;
  }

  .dashboard-announcement-list {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(82%, 1fr);
    overflow-x: auto;
    gap: 9px;
    padding: 2px 2px 8px;
    scroll-snap-type: x mandatory;
    overscroll-behavior-inline: contain;
  }

  .dashboard-announcement-item {
    min-width: 0;
    padding: 12px;
    scroll-snap-align: start;
  }

  .dashboard-announcement-item h3 {
    font-size: 15px;
  }

  .dashboard-announcement-item p {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    font-size: 13px;
    line-height: 1.45;
  }

  .dashboard-daily-grid {
    gap: 9px;
    margin: 10px 0;
  }

  .dashboard-quote-card,
  .dashboard-market-card {
    padding: 13px;
    border-radius: 11px;
  }

  .dashboard-quote-card blockquote {
    margin: 10px 0 6px;
    font-size: 15px;
    line-height: 1.45;
  }

  .dashboard-market-rates {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .dashboard-rate-item {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 9px 10px;
  }

  .dashboard-rate-item > span {
    display: grid;
    justify-content: initial;
  }

  .dashboard-rate-item strong {
    font-size: 16px;
  }

  .summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .summary-card {
    min-width: 0;
    min-height: 112px;
    padding: 12px !important;
  }

  .summary-card small {
    line-height: 1.3;
  }

  .summary-card strong {
    font-size: 25px;
  }

  .summary-card span {
    font-size: 10px;
  }

  .dashboard-main-grid {
    grid-template-columns: 1fr !important;
    gap: 10px;
  }

  .panel-header {
    min-height: 48px;
    padding: 10px 12px;
  }

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

  .user-settings-modal {
    height: min(94dvh, 760px);
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr);
  }

  .user-settings-tabs {
    padding: 8px 10px;
    gap: 4px;
    overflow-x: auto;
  }

  .user-settings-tabs button {
    min-width: 104px;
    min-height: 44px;
    padding: 8px;
    font-size: 13px;
  }

  .user-settings-content {
    min-height: 0;
    overflow-y: auto;
    padding: 12px;
  }

  .user-settings-panel {
    gap: 13px;
  }

  .user-settings-panel footer,
  .user-settings-panel footer button {
    width: 100%;
  }

  .user-sound-upload {
    grid-template-columns: 1fr;
  }

  .user-sound-upload > label,
  .user-sound-upload > button {
    width: 100%;
    min-height: 44px;
  }

  .user-setting-inline {
    grid-template-columns: 1fr !important;
  }

  .user-setting-inline > button {
    width: 100%;
    min-height: 44px;
  }

  .admin-settings-grid {
    grid-template-columns: 1fr !important;
  }

  .admin-setting-row {
    grid-template-columns: 1fr !important;
    align-items: stretch !important;
    gap: 10px;
    padding: 13px !important;
  }

  .admin-setting-row > button {
    width: 100%;
    min-height: 44px;
  }

  .topbar .user-chip {
    max-width: 46px;
    padding: 0;
    justify-content: center;
  }

  .topbar .user-chip > span,
  .topbar .user-chip > div {
    display: none;
  }
}

@media screen and (max-width: 370px) and (pointer: coarse) {
  .summary-grid {
    grid-template-columns: 1fr !important;
  }

  .dashboard-announcement-list {
    grid-auto-columns: 92%;
  }
}

/* 0.1326 mobil tablo hizası, hızlı etkileşim ve görünür stok başlıkları */
.management-stock-report-table th,
.management-stock-report-table th .stock-report-sort-button,
.management-stock-report-table th .stock-report-sort-button span {
  color: #111827 !important;
}

.user-sound-file-input {
  display: none !important;
}

button:active,
[role="button"]:active {
  transition-duration: 0ms !important;
  transition-delay: 0ms !important;
  filter: brightness(.96);
}

@media screen and (max-width: 640px) and (pointer: coarse) {
  .recipe-overdue-alert {
    display: grid;
    grid-template-columns: 1fr;
    align-items: start;
    gap: 6px;
    min-height: 0;
    height: auto;
  }

  .recipe-overdue-alert strong,
  .recipe-overdue-alert > span,
  .recipe-overdue-alert-action {
    width: auto;
    min-width: 0;
    max-width: 100%;
    margin: 0;
    white-space: normal;
    overflow-wrap: normal;
    word-break: normal;
  }

  .recipe-overdue-alert-action {
    color: #991b1b;
    font-size: 12px;
  }

  .table-wrap,
  .quality-table-wrap,
  .purchase-order-table-wrap,
  .company-vehicle-table-wrap,
  .admin-log-table-wrap,
  .stock-ledger-table-wrap {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto !important;
    overflow-y: visible;
    overflow-wrap: normal !important;
    word-break: normal !important;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
  }

  .recipe-group-list {
    display: grid;
    width: 100%;
    max-width: 100%;
    overflow: visible !important;
  }

  .recipe-list-scroll {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto !important;
    overflow-y: visible;
    overflow-wrap: normal !important;
    word-break: normal !important;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
  }

  .table-wrap > table,
  .quality-table-wrap > table,
  .purchase-order-table-wrap > table,
  .company-vehicle-table-wrap > table,
  .admin-log-table-wrap > table,
  .stock-ledger-table-wrap > table {
    width: max-content;
    min-width: 100%;
    max-width: none;
    table-layout: auto;
  }

  .recipe-list-scroll > table {
    width: max-content;
    min-width: 1120px;
    max-width: none;
    table-layout: auto;
  }

  .table-wrap th,
  .table-wrap td,
  .quality-table-wrap th,
  .quality-table-wrap td,
  .purchase-order-table-wrap th,
  .purchase-order-table-wrap td,
  .company-vehicle-table-wrap th,
  .company-vehicle-table-wrap td,
  .admin-log-table-wrap th,
  .admin-log-table-wrap td,
  .stock-ledger-table-wrap th,
  .stock-ledger-table-wrap td {
    width: auto;
    max-width: none;
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: normal;
    vertical-align: middle;
  }

  .compact-cell-details,
  .compact-cell-details summary,
  .compact-cell-details > div {
    white-space: normal !important;
  }

  .row-actions,
  .sample-row-actions,
  .purchase-order-row-actions {
    display: flex !important;
    grid-template-columns: none !important;
    flex-wrap: nowrap !important;
    align-items: center;
    min-width: max-content;
    gap: 6px;
  }

  .row-actions button,
  .sample-row-actions button,
  .purchase-order-row-actions button {
    flex: 0 0 auto;
    width: auto;
    min-width: 76px;
    white-space: nowrap;
  }

  .consultant-list,
  .additive-sample-list,
  .outgoing-sample-list {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    padding: 0 10px 12px;
    overflow-wrap: normal;
    scrollbar-width: thin;
  }

  .consultant-list-head,
  .consultant-list-row,
  .additive-sample-list-head,
  .additive-sample-list-row,
  .outgoing-sample-list-head,
  .outgoing-sample-list-row {
    display: grid !important;
    margin: 0;
    border-radius: 0;
    white-space: normal;
  }

  .consultant-call-list .consultant-list-head,
  .consultant-call-list .consultant-list-row {
    min-width: 900px;
    grid-template-columns: minmax(150px, 1fr) minmax(180px, 1.2fr) 130px 100px minmax(180px, 1fr) 120px !important;
  }

  .consultant-visitor-list .consultant-list-head,
  .consultant-visitor-list .consultant-list-row {
    min-width: 820px;
    grid-template-columns: 135px 100px minmax(220px, 1fr) minmax(200px, 1fr) 120px !important;
  }

  .consultant-cargo-list .consultant-list-head,
  .consultant-cargo-list .consultant-list-row {
    min-width: 1050px;
    grid-template-columns: 135px 100px minmax(160px, .8fr) minmax(190px, 1fr) minmax(190px, 1fr) 120px !important;
  }

  .consultant-delivery-note-list .consultant-list-head,
  .consultant-delivery-note-list .consultant-list-row {
    min-width: 1100px;
    grid-template-columns: 120px minmax(190px, .8fr) 150px minmax(280px, 1.4fr) 160px 130px !important;
  }

  .additive-sample-list-head,
  .additive-sample-list-row {
    min-width: 720px;
    grid-template-columns: 1.1fr 1.45fr 1fr minmax(180px, .8fr) 120px !important;
  }

  .outgoing-sample-list-head,
  .outgoing-sample-list-row {
    min-width: 1180px;
    grid-template-columns: 120px 1.15fr .9fr 1.2fr .7fr .95fr 1.1fr minmax(250px, 1.2fr) !important;
  }

  .recipe-year-row,
  .recipe-month-row,
  .recipe-day-row,
  .view-switch,
  .tabs {
    scrollbar-width: thin;
  }

  .user-sound-upload > button {
    width: 100%;
    min-height: 44px;
  }

  html {
    height: auto;
    min-height: 100%;
    overflow-y: auto;
    overscroll-behavior-y: none;
  }

  body {
    height: auto;
    min-height: 100dvh;
    overflow-y: visible;
    overscroll-behavior-y: none;
  }

  .app-shell {
    height: auto;
    min-height: 100dvh;
    overflow: visible;
  }

  .workspace {
    height: auto;
    min-height: 100dvh;
    grid-template-rows: auto auto auto;
    overflow: visible;
  }

  .tab-content {
    min-height: 0;
    overflow: visible;
    overscroll-behavior: auto;
  }
}

/* 0.1330 son katman: sonraki eski mobil kuralların yoğun görünümü ezmesini engeller. */
.dashboard-announcement-panel,
.dashboard-quote-card,
.dashboard-history-card,
.dashboard-market-card {
  border: 1px solid var(--line) !important;
  border-radius: 8px !important;
  background: var(--surface) !important;
  box-shadow: none !important;
}

.dashboard-daily-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

@media screen and (max-width: 900px) and (pointer: coarse) {
  .dashboard-daily-grid {
    grid-template-columns: 1fr !important;
  }
}

@media screen and (max-width: 760px) and (pointer: coarse) {
  body { font-size: 11px !important; }
  .tab-content { padding: 6px !important; }
  .panel,
  .dashboard-announcement-panel,
  .dashboard-quote-card,
  .dashboard-history-card,
  .dashboard-market-card { padding: 7px !important; }
  input,
  select,
  textarea,
  button {
    min-height: 28px !important;
    padding: 4px 6px !important;
    font-size: 11px !important;
  }
  table th,
  table td,
  .consultant-list-head > *,
  .consultant-list-row > *,
  .outgoing-sample-list-head > *,
  .outgoing-sample-list-row > * {
    min-height: 30px !important;
    padding: 3px 5px !important;
    font-size: 10px !important;
  }
  .modal {
    width: calc(100vw - 8px) !important;
    max-height: calc(100vh - 8px) !important;
  }
  .modal > header,
  .modal > footer,
  .modal form { padding: 7px !important; }
}

.customer-order-filling-table tr.is-filled > td {
  background: #bbf7d0 !important;
  border-color: #4ade80 !important;
  color: #14532d !important;
  font-weight: 750;
}

/* 0.1331: okunabilir başlıklar, günlük bilgiler ve güvenli mobil pencereler */
.dashboard-announcement-panel {
  border-color: #8ec5df !important;
  background: linear-gradient(135deg, #e8f5ff 0%, #effbf4 52%, #fff8df 100%) !important;
  box-shadow: 0 8px 22px rgba(24, 78, 112, 0.1) !important;
}

.dashboard-announcement-item {
  border-color: rgba(63, 121, 151, 0.24) !important;
  background: rgba(255, 255, 255, 0.78) !important;
}

.dashboard-announcement-item:nth-child(even) {
  background: rgba(236, 253, 245, 0.86) !important;
}

.dashboard-meal-menu-launch-row {
  display: flex;
  justify-content: flex-end;
  margin: 10px 0 14px;
}

.dashboard-meal-menu-image,
.user-meal-menu-preview {
  display: grid;
  min-height: 220px;
  place-items: center;
  padding: 12px;
  background: #f5f8fa;
}

.dashboard-meal-menu-image img,
.user-meal-menu-preview img {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: 70dvh;
  object-fit: contain;
}

.user-meal-menu-upload-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px;
}

.additive-sample-list-head,
.outgoing-sample-list-head,
.consultant-call-list .consultant-list-head {
  border-color: #77b6c9 !important;
  background: #ccebee !important;
  color: #0a1d24 !important;
}

.additive-sample-list-head > *,
.outgoing-sample-list-head > *,
.consultant-call-list .consultant-list-head > * {
  color: #0a1d24 !important;
  font-weight: 750;
}

@media print {
  #recipe-form .recipe-material-picker > select[name="raw_material_category"] {
    display: none !important;
  }

  #recipe-form .recipe-material-combobox .recipe-material-toggle {
    width: 100%;
    min-height: 100%;
    border: 0 !important;
    background: transparent !important;
    color: #000 !important;
    text-align: left;
  }

  #recipe-form .recipe-material-combobox.is-empty .recipe-material-toggle {
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
  }

  #recipe-form .recipe-material-dropdown,
  #recipe-form .recipe-material-native-select {
    display: none !important;
  }
}

.dashboard-meal-menu-button {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 210px;
  border: 1px solid #0f8b8d;
  background: #e7f8f7;
  color: #102a2b;
  text-align: left;
}

.dashboard-meal-menu-button > span:first-child {
  font-size: 1.4rem;
}

.dashboard-meal-menu-button > span:last-child {
  display: grid;
  gap: 1px;
}

.dashboard-meal-menu-button small {
  color: #245153;
  font-weight: 500;
}

.dashboard-daily-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.dashboard-weather-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 9px;
  padding: 12px;
  border: 1px solid #a9d5ec;
  border-radius: 8px;
  background: linear-gradient(145deg, #eef9ff, #f8fcff);
}

.dashboard-weather-current {
  display: grid;
  grid-template-columns: auto auto 1fr;
  align-items: center;
  gap: 8px;
}

.dashboard-weather-current > span {
  font-size: 1.8rem;
}

.dashboard-weather-current > strong {
  color: #102a43;
  font-size: 1.9rem;
}

.dashboard-weather-current > div {
  display: grid;
}

.dashboard-weather-current small,
.dashboard-weather-card footer {
  color: #354b60;
}

.dashboard-weather-details {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5px 9px;
  font-size: 0.76rem;
}

.dashboard-meal-menu-days {
  display: grid;
  gap: 8px;
  padding: 12px;
  overflow-y: auto;
}

.dashboard-meal-menu-days label,
.dashboard-meal-menu-days article {
  display: grid;
  grid-template-columns: 110px 1fr;
  align-items: center;
  gap: 10px;
  padding: 8px;
  border: 1px solid #d6e4ec;
  border-radius: 8px;
  background: #fff;
}

.dashboard-meal-menu-days .is-today {
  border-color: #0f8b8d;
  background: #eaf9f7;
}

.dashboard-meal-menu-days textarea {
  width: 100%;
  resize: vertical;
}

.dashboard-quote-card blockquote {
  font-weight: 400 !important;
}

.table-wrap table thead th,
.quality-table-wrap table thead th,
.purchase-order-table-wrap table thead th,
.company-vehicle-table-wrap table thead th,
.admin-log-table-wrap table thead th,
.dashboard-critical-stock-table table thead th,
.recipe-list thead th,
.stock-ledger-table thead th {
  border-color: #77b6c9 !important;
  background: #ccebee !important;
  color: #0a1d24 !important;
}

.recipe-list {
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

.recipe-list thead th {
  height: auto !important;
  line-height: 1.2 !important;
  vertical-align: middle !important;
}

@media screen {
  .tab-content table thead th,
  .modal table thead th {
    border-color: #77b6c9 !important;
    background: #ccebee !important;
    color: #0a1d24 !important;
  }
}

@media screen and (max-width: 1100px) and (pointer: coarse) {
  .dashboard-daily-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media screen and (max-width: 760px) and (pointer: coarse) {
  .dashboard-daily-grid {
    grid-template-columns: 1fr !important;
  }

  .dashboard-meal-menu-launch-row {
    justify-content: stretch;
  }

  .dashboard-meal-menu-button {
    width: 100%;
    min-width: 0;
  }

  .modal-root {
    align-items: center !important;
    padding: 12px !important;
    overflow: hidden !important;
  }

  .modal {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    max-height: calc(100dvh - 24px) !important;
    border-radius: 12px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    touch-action: pan-y;
    -webkit-overflow-scrolling: touch;
  }

  .modal > header {
    position: sticky !important;
    top: 0;
    z-index: 40;
    background: var(--surface);
  }

  .modal > header .icon-button {
    min-width: 34px !important;
    flex: 0 0 34px;
  }

  .modal .table-wrap,
  .modal .recipe-list-scroll,
  .modal .dashboard-critical-stock-table {
    max-width: 100%;
    overflow-x: auto !important;
    overflow-y: visible !important;
    touch-action: pan-x pan-y;
  }

  .dashboard-meal-menu-days label,
  .dashboard-meal-menu-days article {
    grid-template-columns: 1fr;
  }
}

/* 0.1334 son öncelik katmanı */
@media screen {
  .tab-content table thead th,
  .modal table thead th,
  .stock-ledger-table thead th,
  .management-stock-report-table thead th,
  .consultant-list-head,
  .additive-sample-list-head,
  .outgoing-sample-list-head,
  .stock-modern-head {
    border-color: var(--nav-2) !important;
    background: var(--nav) !important;
    color: #dbe7f4 !important;
    box-shadow: none !important;
  }

  .tab-content table thead th *,
  .modal table thead th *,
  .consultant-list-head > *,
  .additive-sample-list-head > *,
  .outgoing-sample-list-head > *,
  .stock-modern-head > * {
    color: #dbe7f4 !important;
  }

  .dashboard-daily-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(0, .82fr) minmax(150px, .9fr) !important;
    align-items: stretch;
  }

  .dashboard-meal-menu-button {
    width: 100%;
    min-width: 0;
    min-height: 100%;
    justify-content: center;
    border-radius: 8px;
  }
}

@media screen and (max-width: 1100px) and (pointer: coarse) {
  .dashboard-daily-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media screen and (max-width: 760px) and (pointer: coarse) {
  .dashboard-daily-grid {
    grid-template-columns: 1fr !important;
  }

  .view-switch {
    display: flex !important;
    width: 100%;
    max-width: 100%;
    flex-wrap: nowrap !important;
    padding-bottom: 7px;
    overflow-x: auto !important;
    overflow-y: hidden !important;
  }

  .view-switch button {
    flex: 0 0 auto;
    width: auto !important;
    min-width: max-content;
    white-space: nowrap;
  }
}

/* 0.1337: ekran bazlı hız, sade proses formu ve kesin baskı öncelikleri */
@media screen {
  .unified-search-button {
    min-width: 92px !important;
    border: 1px solid #0f766e !important;
    background: #0f8b8d !important;
    color: #fff !important;
    font-weight: 800 !important;
  }

  .unified-search-button:hover,
  .unified-search-button:focus-visible {
    background: #0b6f71 !important;
  }

  .site-speed-settings-toolbar {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 14px;
    padding: 10px 12px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #f7fafc;
  }

  .site-speed-select-all {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    color: var(--ink);
    font-weight: 800;
  }

  .site-speed-select-all input {
    width: 18px;
    height: 18px;
  }

  .purchase-order-table tbody tr {
    cursor: default !important;
  }

  .purchase-order-table tbody tr:hover td {
    cursor: default !important;
  }

  .purchase-order-row-actions button {
    cursor: pointer !important;
  }

  .quality-card:has(.quality-process-form) {
    border: 1px solid #cbd8e5;
    background: #f4f7fa;
    box-shadow: none;
  }

  .quality-card:has(.quality-process-form) .quality-title {
    padding: 12px 14px;
    border-bottom-color: #cbd8e5;
    background: #fff;
  }

  .quality-process-form {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
    padding: 10px !important;
    background: #f4f7fa;
  }

  .quality-process-row {
    position: relative;
    display: grid !important;
    width: 100%;
    gap: 8px !important;
    align-items: end !important;
    padding: 26px 10px 10px;
    border: 1px solid #d6e0e9;
    border-left: 4px solid #7895ad;
    border-radius: 8px;
    background: #fff;
    box-sizing: border-box;
  }

  .quality-process-row::before {
    content: attr(data-row-title);
    position: absolute;
    top: 7px;
    left: 10px;
    color: #40576b;
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .02em;
  }

  .quality-process-row-1 {
    grid-template-columns: 145px 120px minmax(140px, 1fr) minmax(175px, 1.2fr) 185px !important;
  }

  .quality-process-row-2 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    align-items: stretch !important;
  }

  .quality-process-row-3 {
    grid-template-columns: 125px 125px 145px 180px minmax(180px, 1fr) !important;
  }

  .quality-process-row-4 {
    grid-template-columns: repeat(4, minmax(105px, 1fr)) !important;
  }

  .quality-process-row-5 {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .quality-process-row > *,
  .quality-process-row label,
  .quality-process-row .quality-choice-field,
  .quality-process-row .wide {
    min-width: 0 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }

  .quality-process-row input,
  .quality-process-row select,
  .quality-process-row textarea,
  .quality-process-row .customer-order-choice-toggle {
    min-height: 34px !important;
    box-sizing: border-box;
  }

  .quality-stock-group {
    position: relative;
    display: grid;
    grid-template-rows: 32px auto 36px auto;
    gap: 7px;
    min-width: 0;
    padding: 8px;
    border: 1px solid #d7e1ea;
    border-radius: 7px;
    background: #f9fbfd;
  }

  .quality-stock-group-head {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
  }

  .quality-stock-group-head > strong {
    color: #23384a;
    font-weight: 850;
  }

  .quality-stock-group-head > span {
    color: #6b7f90;
    white-space: nowrap;
  }

  .quality-stock-group-head label {
    display: flex;
    width: auto !important;
    align-items: center;
    justify-content: flex-end;
    gap: 5px;
    white-space: nowrap;
  }

  .quality-stock-group-head select {
    width: 62px;
    min-height: 30px !important;
    padding: 3px 5px;
  }

  .quality-stock-category {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 7px;
  }

  .quality-stock-category select {
    width: 100%;
  }

  .quality-stock-group .customer-order-choice {
    min-width: 0;
    width: 100%;
  }

  .quality-stock-group .customer-order-choice-toggle {
    width: 100%;
    min-width: 0;
    overflow: hidden;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .quality-stock-group .customer-order-choice-panel {
    z-index: 190;
  }

  .quality-stock-amount {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 7px;
  }

  .quality-stock-amount input {
    width: 100%;
  }

  .quality-stock-manual {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 7px;
  }

  .quality-stock-manual input {
    width: 100%;
  }

  .quality-stock-manual.hidden,
  .quality-stock-group [data-quality-stock-picker].hidden {
    display: none !important;
  }

  .quality-stock-group.is-disabled {
    background: #f1f3f5;
  }

  .quality-stock-group.is-category-pending {
    background: #f6f8fa;
  }

  .quality-stock-group.is-disabled > :not(.quality-stock-group-head) {
    opacity: .48;
  }

  .quality-process-row-5 textarea {
    min-height: 70px !important;
  }

  .management-stock-report-table thead th,
  .management-stock-report-table thead th button,
  .management-stock-report-table thead th button span {
    border-color: color-mix(in srgb, var(--sidebar-background-color, #1f2a44), white 24%) !important;
    background: var(--sidebar-background-color, #1f2a44) !important;
    color: var(--sidebar-menu-font-color, #dbe7f4) !important;
    -webkit-text-fill-color: var(--sidebar-menu-font-color, #dbe7f4) !important;
    font-weight: 850 !important;
    opacity: 1 !important;
  }
}

@media screen and (max-width: 1180px) and (pointer: coarse) {
  .quality-process-row-1,
  .quality-process-row-3,
  .quality-process-row-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .quality-process-row-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media screen and (max-width: 760px) and (pointer: coarse) {
  .site-speed-settings-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .quality-process-row-1,
  .quality-process-row-2,
  .quality-process-row-3,
  .quality-process-row-4 {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media print {
  body.printing-quality-process-list > * {
    display: none !important;
  }

  body.printing-quality-process-list #quality-process-print-area {
    display: block !important;
    position: static !important;
    width: 287mm !important;
    max-width: 287mm !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  body.printing-quality-process-list #quality-process-print-area,
  body.printing-quality-process-list #quality-process-print-area * {
    visibility: visible !important;
  }

  body.printing-quality-process-list .quality-table-wrap {
    display: block !important;
    width: 287mm !important;
    max-width: 287mm !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  body.printing-quality-process-list .quality-process-day-group {
    display: block !important;
    margin: 0 0 2mm !important;
    break-inside: auto !important;
    page-break-inside: auto !important;
  }

  body.printing-quality-process-list .quality-process-day-group h4 {
    margin: 0 0 .8mm !important;
    padding: .8mm 1mm !important;
    border-radius: 0 !important;
    color: #000 !important;
    background: #eef2f7 !important;
    font-size: 7pt !important;
  }

  body.printing-quality-process-list .quality-process-table {
    display: table !important;
    width: 287mm !important;
    max-width: 287mm !important;
    min-width: 287mm !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
    font-size: 6pt !important;
  }

  body.printing-quality-process-list .quality-process-table thead {
    display: table-header-group !important;
  }

  body.printing-quality-process-list .quality-process-table tr {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  body.printing-quality-process-list .quality-process-table th,
  body.printing-quality-process-list .quality-process-table td {
    height: auto !important;
    padding: .7mm .45mm !important;
    border: .2mm solid #333 !important;
    color: #000 !important;
    background: #fff !important;
    font-size: 6pt !important;
    line-height: 1.15 !important;
    vertical-align: middle !important;
    white-space: normal !important;
    overflow: visible !important;
    overflow-wrap: anywhere;
    word-break: normal;
  }

  body.printing-quality-process-list .quality-process-table th {
    background: #e7edf3 !important;
    font-weight: 850 !important;
  }

  body.printing-quality-process-list col.quality-print-date { width: 5%; }
  body.printing-quality-process-list col.quality-print-time { width: 3.5%; }
  body.printing-quality-process-list col.quality-print-customer { width: 6.5%; }
  body.printing-quality-process-list col.quality-print-product { width: 8%; }
  body.printing-quality-process-list col.quality-print-batch { width: 5.5%; }
  body.printing-quality-process-list col.quality-print-packaging { width: 7%; }
  body.printing-quality-process-list col.quality-print-amount { width: 4%; }
  body.printing-quality-process-list col.quality-print-label { width: 7%; }
  body.printing-quality-process-list col.quality-print-box,
  body.printing-quality-process-list col.quality-print-cap { width: 6%; }
  body.printing-quality-process-list col.quality-print-gramaj { width: 3.5%; }
  body.printing-quality-process-list col.quality-print-weight { width: 4%; }
  body.printing-quality-process-list col.quality-print-status { width: 3%; }
  body.printing-quality-process-list col.quality-print-total { width: 5%; }
  body.printing-quality-process-list col.quality-print-writing { width: 7%; }
  body.printing-quality-process-list col.quality-print-notes { width: 8%; }

  body.printing-quality-process-list .quality-process-table th:last-child,
  body.printing-quality-process-list .quality-process-table td:last-child,
  body.printing-quality-process-list col.quality-print-actions {
    display: none !important;
  }
}

/* 0.1338: ana sayfa beşli satır, kesin liste başlıkları ve okunaklı proses tipografisi */
@media screen {
  .dashboard-daily-grid {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 12px !important;
    width: 100% !important;
  }

  .dashboard-daily-grid > .dashboard-quote-card,
  .dashboard-daily-grid > .dashboard-history-card,
  .dashboard-daily-grid > .dashboard-market-card,
  .dashboard-daily-grid > .dashboard-weather-card,
  .dashboard-daily-grid > .dashboard-meal-menu-button {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 180px !important;
    height: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    align-self: stretch !important;
  }

  .dashboard-daily-grid > .dashboard-meal-menu-button {
    justify-self: end !important;
  }

  .outgoing-sample-list-head,
  .additive-sample-list-head,
  .consultant-call-list .consultant-list-head,
  .consultant-visitor-list .consultant-list-head,
  .consultant-cargo-list .consultant-list-head,
  .consultant-delivery-note-list .consultant-list-head {
    border-color: color-mix(in srgb, var(--sidebar-background-color, #1f2a44), white 24%) !important;
    background: var(--sidebar-background-color, #1f2a44) !important;
    color: var(--sidebar-menu-font-color, #dbe7f4) !important;
    -webkit-text-fill-color: var(--sidebar-menu-font-color, #dbe7f4) !important;
    opacity: 1 !important;
  }

  .outgoing-sample-list-head > *,
  .additive-sample-list-head > *,
  .consultant-call-list .consultant-list-head > *,
  .consultant-visitor-list .consultant-list-head > *,
  .consultant-cargo-list .consultant-list-head > *,
  .consultant-delivery-note-list .consultant-list-head > * {
    border-color: inherit !important;
    background: transparent !important;
    color: var(--sidebar-menu-font-color, #dbe7f4) !important;
    -webkit-text-fill-color: var(--sidebar-menu-font-color, #dbe7f4) !important;
    font-weight: 850 !important;
    opacity: 1 !important;
  }

  .quality-card:has(.quality-process-form),
  .quality-process-form,
  .quality-process-form label,
  .quality-process-form .wide,
  .quality-process-form input,
  .quality-process-form select,
  .quality-process-form textarea,
  .quality-process-form .customer-order-choice-toggle,
  .quality-process-form .customer-order-choice-panel,
  .quality-process-form .customer-order-choice-option {
    color: #172b3a !important;
    -webkit-text-fill-color: #172b3a !important;
    opacity: 1 !important;
  }

  .quality-process-form label,
  .quality-process-form .quality-stock-group-head,
  .quality-process-form .quality-stock-amount,
  .quality-process-form input,
  .quality-process-form select,
  .quality-process-form textarea,
  .quality-process-form button,
  .quality-process-form .customer-order-choice-toggle,
  .quality-process-form .customer-order-choice-option {
    font-size: 13px !important;
  }

  .quality-process-form label,
  .quality-process-form .quality-stock-group-head,
  .quality-process-form .quality-stock-amount {
    font-weight: 750 !important;
  }

  .quality-process-row {
    padding-top: 38px !important;
  }

  .quality-process-row::before {
    top: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    left: 0 !important;
    display: flex !important;
    align-items: center !important;
    min-height: 28px !important;
    padding: 4px 10px !important;
    border-radius: 8px 8px 0 0 !important;
    background: var(--sidebar-background-color, #1f2a44) !important;
    color: var(--sidebar-menu-font-color, #dbe7f4) !important;
    -webkit-text-fill-color: var(--sidebar-menu-font-color, #dbe7f4) !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    opacity: 1 !important;
  }

  .quality-process-form input::placeholder,
  .quality-process-form textarea::placeholder {
    color: #40586a !important;
    -webkit-text-fill-color: #40586a !important;
    opacity: 1 !important;
  }

  .quality-stock-group.is-disabled {
    background: #e8edf2 !important;
  }

  .quality-stock-group.is-disabled > :not(.quality-stock-group-head) {
    opacity: 1 !important;
  }

  .quality-stock-group.is-disabled input,
  .quality-stock-group.is-disabled button {
    color: #25394a !important;
    -webkit-text-fill-color: #25394a !important;
    opacity: 1 !important;
  }
}

@media screen and (max-width: 1100px) and (pointer: coarse) {
  .dashboard-daily-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media screen and (max-width: 680px) and (pointer: coarse) {
  .dashboard-daily-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* 0.1339: takip ayrımı, kritik stok sekmeleri ve güvenli baskı sınırları */
.recipe-upcoming-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 3px 7px;
  border: 1px solid #93c5fd;
  border-radius: 999px;
  background: #eff6ff;
  color: #1d4ed8;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}

.dashboard-critical-stock-tabs {
  display: grid;
  grid-template-columns: repeat(5, minmax(120px, 1fr));
  gap: 8px;
  padding: 12px 14px;
  border-bottom: 1px solid var(--line);
  background: #f8fafc;
}

.dashboard-critical-stock-tabs button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 42px;
  padding: 8px 10px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  background: #fff;
  color: #334155;
  font-weight: 750;
  cursor: pointer;
}

.dashboard-critical-stock-tabs button strong {
  min-width: 24px;
  padding: 2px 6px;
  border-radius: 999px;
  background: #e2e8f0;
  text-align: center;
}

.dashboard-critical-stock-tabs button.active {
  border-color: var(--nav-2);
  background: var(--nav-2);
  color: var(--sidebar-text-color, #fff);
}

.dashboard-critical-stock-tabs button.active strong {
  background: rgba(255, 255, 255, .18);
}

.quality-batch-dropdown {
  right: 0;
  left: auto;
  width: min(420px, calc(100vw - 40px));
}

@media screen and (max-width: 760px) and (pointer: coarse) {
  .dashboard-critical-stock-tabs {
    display: flex;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
  }

  .dashboard-critical-stock-tabs button {
    flex: 0 0 170px;
  }

  .quality-batch-dropdown {
    right: auto;
    left: 0;
    width: min(360px, calc(100vw - 32px));
  }
}

@media print {
  @page {
    size: A4;
    margin: .1mm;
  }

  body.printing-recipe #recipe-print-host,
  body.printing-recipe #recipe-print-host #recipe-form,
  body.printing-recipe #recipe-print-host .recipe-paper {
    width: 209.8mm !important;
    max-width: 209.8mm !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  body.printing-recipe #recipe-print-host .recipe-materials {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  body.printing-recipe #recipe-print-host .recipe-material-head,
  body.printing-recipe #recipe-print-host .recipe-material-row,
  body.printing-recipe #recipe-print-host .recipe-total-row {
    width: 100% !important;
    grid-template-columns: 11mm minmax(0, 1.2fr) minmax(0, 1.1fr) minmax(25mm, .85fr) minmax(45mm, 1.8fr) !important;
    box-sizing: border-box !important;
  }
}

/* 0.1340: açılır filtreler, geniş reçete seçimi ve güvenilir baskı katmanı */
@media screen {
  .collapsible-filter-shell {
    width: 100%;
    margin: 0 0 12px;
    border: 1px solid #b8c7d6;
    border-radius: 10px;
    background: #f8fafc;
    overflow: hidden;
  }

  .collapsible-filter-shell > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 42px;
    padding: 9px 13px;
    background: var(--sidebar-background-color, #1f2a44);
    color: var(--sidebar-menu-font-color, #fff);
    font-size: 13px;
    font-weight: 850;
    cursor: pointer;
    list-style: none;
  }

  .collapsible-filter-shell > summary::-webkit-details-marker {
    display: none;
  }

  .collapsible-filter-shell > summary::after {
    content: "▾";
    font-size: 15px;
    transition: transform 120ms ease;
  }

  .collapsible-filter-shell[open] > summary::after {
    transform: rotate(180deg);
  }

  .collapsible-filter-shell > .recipe-filter-panel,
  .collapsible-filter-shell > .admin-log-filter-row,
  .collapsible-filter-shell > .management-stock-report-choices,
  .collapsible-filter-shell > .management-stock-report-period,
  .collapsible-filter-shell > .stock-demo-filters {
    margin: 10px !important;
  }

  .recipe-material-dropdown {
    width: min(620px, calc(100vw - 48px)) !important;
    max-width: none !important;
  }

  .recipe-material-options button {
    min-height: 36px;
    white-space: normal;
    line-height: 1.3;
  }

  .recipe-prepared-fields {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: min(100%, 620px);
    margin-left: auto;
  }

  .recipe-prepared-fields label {
    grid-template-columns: auto minmax(0, 1fr) !important;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  .quality-list-actions,
  .company-vehicle-title-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin: 0 0 12px;
  }
}

@media screen and (max-width: 760px) and (pointer: coarse) {
  .recipe-prepared-fields {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media print {
  @page {
    size: A4;
    margin: 6mm;
  }

  body.printing-recipe #recipe-print-host,
  body.printing-recipe #recipe-print-host #recipe-form,
  body.printing-recipe #recipe-print-host .recipe-paper {
    width: 198mm !important;
    max-width: 198mm !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
  }

  body.printing-recipe #recipe-print-host .recipe-paper {
    padding: 2mm !important;
    border: .35mm solid #000 !important;
    overflow: visible !important;
  }

  body.printing-recipe #recipe-print-host .recipe-title-row,
  body.printing-recipe #recipe-print-host .recipe-meta-grid,
  body.printing-recipe #recipe-print-host .recipe-section-title,
  body.printing-recipe #recipe-print-host .recipe-materials,
  body.printing-recipe #recipe-print-host .recipe-notes,
  body.printing-recipe #recipe-print-host .recipe-prepared-row {
    max-width: 100% !important;
    border-color: #000 !important;
    box-sizing: border-box !important;
  }

  body.printing-recipe #recipe-print-host .recipe-material-head,
  body.printing-recipe #recipe-print-host .recipe-material-row,
  body.printing-recipe #recipe-print-host .recipe-total-row,
  body.printing-recipe #recipe-print-host .recipe-material-head > *,
  body.printing-recipe #recipe-print-host .recipe-material-row > *,
  body.printing-recipe #recipe-print-host .recipe-total-row > * {
    border-color: #000 !important;
  }

  body.printing-recipe #recipe-print-host.recipe-print-batch .recipe-print-sheet {
    break-after: page !important;
    page-break-after: always !important;
  }

  body.printing-recipe #recipe-print-host.recipe-print-batch .recipe-print-sheet:last-child {
    break-after: auto !important;
    page-break-after: auto !important;
  }

  body.printing-quality-process-list > *:not(#quality-process-print-host) {
    display: none !important;
  }

  body.printing-quality-process-list #quality-process-print-host,
  body.printing-quality-process-list #quality-process-print-host #quality-process-print-area,
  body.printing-quality-process-list #quality-process-print-host .quality-table-wrap {
    display: block !important;
    position: static !important;
    width: 287mm !important;
    max-width: 287mm !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    visibility: visible !important;
  }

  body.printing-quality-process-list #quality-process-print-host * {
    visibility: visible !important;
  }
}

/* 0.1341: sabit kritik stok penceresi ve ortak reçete baskı belgesi */
@media screen {
  .dashboard-critical-stock-list-modal {
    width: min(1040px, calc(100vw - 36px)) !important;
    max-width: min(1040px, calc(100vw - 36px)) !important;
    height: min(700px, calc(100dvh - 36px)) !important;
    max-height: min(700px, calc(100dvh - 36px)) !important;
    display: flex !important;
    flex-direction: column;
    overflow: hidden !important;
  }

  .dashboard-critical-stock-list-modal > header,
  .dashboard-critical-stock-list-modal > footer,
  .dashboard-critical-stock-list-modal > .dashboard-critical-stock-tabs {
    flex: 0 0 auto;
  }

  .dashboard-critical-stock-list-modal [data-critical-stock-table-host] {
    display: flex;
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
  }

  .dashboard-critical-stock-list-modal .dashboard-critical-stock-table {
    flex: 1 1 auto;
    min-height: 0;
    padding: 12px 16px;
    overflow: auto !important;
    position: relative;
    scroll-padding-top: 44px;
  }

  .dashboard-critical-stock-list-modal .dashboard-critical-stock-table table {
    min-width: 960px;
    margin: 0;
    border-collapse: separate;
    border-spacing: 0;
  }

  .dashboard-critical-stock-list-modal .dashboard-critical-stock-table thead th {
    position: sticky;
    top: 0;
    z-index: 7;
    padding: 0;
    box-shadow: 0 1px 0 rgba(15, 23, 42, .18);
  }

  .dashboard-critical-stock-list-modal .dashboard-critical-stock-table tbody tr {
    height: 43px;
  }

  .dashboard-critical-stock-list-modal .dashboard-critical-stock-table th,
  .dashboard-critical-stock-list-modal .dashboard-critical-stock-table td {
    text-align: center !important;
    vertical-align: middle !important;
  }

  .critical-stock-sort-button {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 42px;
    padding: 9px 11px;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    font-weight: 850;
    text-align: center;
    cursor: pointer;
  }

  .critical-stock-sort-button span {
    position: absolute;
    right: 11px;
    min-width: 12px;
    margin-left: 0;
    text-align: center;
  }

  .critical-stock-selection-heading,
  .critical-stock-selection-cell {
    width: 112px;
    min-width: 112px;
  }

  .dashboard-critical-stock-list-modal .dashboard-critical-stock-table .critical-stock-selection-heading {
    padding: 9px 11px;
  }

  .critical-stock-select-button {
    min-width: 82px;
    min-height: 32px;
    padding: 6px 10px;
    border: 1px solid #94a3b8;
    border-radius: 7px;
    background: #ffffff;
    color: #334155;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
  }

  .critical-stock-select-button.selected {
    border-color: #166534;
    background: #dcfce7;
    color: #166534;
  }

  .dashboard-critical-stock-list-modal > footer [data-critical-stock-download] {
    min-width: 238px;
  }
}

@media screen and (max-width: 760px) and (pointer: coarse) {
  .dashboard-critical-stock-list-modal {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    height: calc(100dvh - 24px) !important;
    max-height: calc(100dvh - 24px) !important;
    overflow: hidden !important;
  }

  .dashboard-critical-stock-list-modal .dashboard-critical-stock-table {
    overflow: auto !important;
  }
}

@media print {
  @page {
    size: A4 portrait;
    margin: 6mm;
  }

  body.printing-recipe #recipe-print-host {
    display: block !important;
    width: 198mm !important;
    max-width: 198mm !important;
    margin: 0 auto !important;
    padding: 0 !important;
    background: #fff !important;
    color: #000 !important;
    overflow: visible !important;
  }

  body.printing-recipe #recipe-print-host .recipe-print-sheet {
    display: block !important;
    width: 198mm !important;
    max-width: 198mm !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
  }

  body.printing-recipe #recipe-print-host .recipe-print-document,
  body.printing-recipe #recipe-print-host .recipe-print-document * {
    box-sizing: border-box !important;
    color: #000 !important;
    text-shadow: none !important;
  }

  body.printing-recipe #recipe-print-host .recipe-print-document {
    width: 198mm !important;
    max-width: 198mm !important;
    margin: 0 !important;
    padding: 2.5mm !important;
    border: .35mm solid #000 !important;
    background: #fff !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 8.5pt !important;
    line-height: 1.16 !important;
    break-inside: avoid-page;
    page-break-inside: avoid;
  }

  body.printing-recipe #recipe-print-host .recipe-print-header {
    display: grid !important;
    grid-template-columns: 32mm minmax(0, 1fr) 32mm !important;
    align-items: center;
    min-height: 19mm;
    margin: -2.5mm -2.5mm 3.5mm !important;
    padding: 2.5mm 3.5mm !important;
    border-bottom: .35mm solid #000 !important;
  }

  body.printing-recipe #recipe-print-host .recipe-print-logo {
    display: flex !important;
    align-items: center;
    width: 26mm;
    height: 11mm;
  }

  body.printing-recipe #recipe-print-host .recipe-print-logo img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain;
  }

  body.printing-recipe #recipe-print-host .recipe-print-header h1 {
    margin: 0 !important;
    font-size: 18pt !important;
    font-weight: 900 !important;
    line-height: 1.05 !important;
    text-align: center !important;
  }

  body.printing-recipe #recipe-print-host .recipe-print-meta {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 2mm 12mm !important;
    margin: 0 0 3.5mm !important;
  }

  body.printing-recipe #recipe-print-host .recipe-print-meta-field {
    display: grid !important;
    grid-template-columns: 29mm minmax(0, 1fr) !important;
    align-items: center;
    min-height: 7mm;
    gap: 1.8mm;
  }

  body.printing-recipe #recipe-print-host .recipe-print-meta-field strong {
    font-size: 8pt !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
  }

  body.printing-recipe #recipe-print-host .recipe-print-meta-field span {
    display: flex !important;
    align-items: center;
    min-width: 0;
    min-height: 6.5mm;
    padding: 1mm 1.5mm;
    border: .2mm solid #000 !important;
    background: #fff !important;
    font-weight: 750 !important;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }

  body.printing-recipe #recipe-print-host .recipe-print-section-title {
    display: grid !important;
    min-height: 7mm;
    margin: 0 !important;
    padding: 1.4mm 2mm;
    border: .35mm solid #000 !important;
    background: #fff !important;
    font-size: 8.5pt !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
    place-items: center;
    text-align: center;
  }

  body.printing-recipe #recipe-print-host .recipe-print-materials {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    border-collapse: collapse !important;
    table-layout: fixed !important;
    background: #fff !important;
  }

  body.printing-recipe #recipe-print-host .recipe-print-col-no { width: 10%; }
  body.printing-recipe #recipe-print-host .recipe-print-col-material { width: 23%; }
  body.printing-recipe #recipe-print-host .recipe-print-col-batch { width: 21%; }
  body.printing-recipe #recipe-print-host .recipe-print-col-percent { width: 17%; }
  body.printing-recipe #recipe-print-host .recipe-print-col-quantity { width: 29%; }

  body.printing-recipe #recipe-print-host .recipe-print-materials th,
  body.printing-recipe #recipe-print-host .recipe-print-materials td {
    min-height: 7.4mm;
    padding: 1.2mm 1.7mm;
    border: .2mm solid #000 !important;
    background: #fff !important;
    font-size: 8.4pt !important;
    line-height: 1.1 !important;
    overflow-wrap: anywhere;
    vertical-align: middle;
  }

  body.printing-recipe #recipe-print-host .recipe-print-materials thead th,
  body.printing-recipe #recipe-print-host .recipe-print-materials tfoot th,
  body.printing-recipe #recipe-print-host .recipe-print-materials tfoot td {
    font-weight: 900 !important;
    text-align: center !important;
  }

  body.printing-recipe #recipe-print-host .recipe-print-materials tbody td:first-child,
  body.printing-recipe #recipe-print-host .recipe-print-materials tbody td:nth-child(2),
  body.printing-recipe #recipe-print-host .recipe-print-materials tbody td:nth-child(3),
  body.printing-recipe #recipe-print-host .recipe-print-materials tbody td:nth-child(4),
  body.printing-recipe #recipe-print-host .recipe-print-materials tbody td:nth-child(5) {
    text-align: center !important;
  }

  body.printing-recipe #recipe-print-host .recipe-print-notes {
    min-height: 20mm;
    padding: 2.2mm;
    border: .35mm solid #000 !important;
    border-top: 0 !important;
    background: #fff !important;
    font-size: 9pt !important;
    line-height: 1.25 !important;
    overflow-wrap: anywhere;
    white-space: pre-wrap;
  }

  body.printing-recipe #recipe-print-host .recipe-print-signatures {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    min-height: 12mm;
    margin-top: 1.5mm !important;
    padding: 1.5mm 2mm;
    border: .35mm solid #000 !important;
    background: #fff !important;
  }

  body.printing-recipe #recipe-print-host .recipe-print-signatures > div {
    display: flex !important;
    align-items: center;
    min-width: 0;
  }

  body.printing-recipe #recipe-print-host .recipe-print-signatures .recipe-print-meta-field {
    width: 100%;
    grid-template-columns: 20mm minmax(0, 1fr) !important;
  }

  body.printing-recipe #recipe-print-host .recipe-print-signatures .recipe-print-meta-field span {
    min-height: 7mm;
  }

  body.printing-recipe #recipe-print-host.recipe-print-batch .recipe-print-sheet {
    break-after: page !important;
    page-break-after: always !important;
  }

  body.printing-recipe #recipe-print-host.recipe-print-batch .recipe-print-sheet:last-child {
    break-after: auto !important;
    page-break-after: auto !important;
  }
}

/* Proses listesindeki tarih basligi yatay tablodan bagimsiz kalir. */
@media screen {
  .quality-process-bottom-scroll {
    position: sticky;
    top: calc(100dvh - 34px);
    z-index: 8;
    height: 18px;
    margin: 0 14px 8px;
    overflow-x: auto;
    overflow-y: hidden;
    border: 1px solid #b8c7d9;
    border-radius: 6px;
    background: #f8fbfd;
    scrollbar-gutter: stable;
    scrollbar-width: thin;
    box-shadow: 0 2px 6px rgba(23, 32, 51, .08);
  }

  .quality-process-bottom-scroll-track {
    height: 1px;
    min-width: 100%;
  }

  .quality-table-wrap[data-quality-process-table-wrap] {
    overflow: visible !important;
  }

  .quality-process-day-table-scroll {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto !important;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .quality-process-day-table-scroll::-webkit-scrollbar {
    height: 0;
  }

  .quality-process-day-table-scroll .quality-process-table {
    width: max-content;
    min-width: 1900px;
  }

  .quality-process-table col.quality-print-actions,
  .quality-process-table th:last-child,
  .quality-process-table td:last-child {
    width: 150px;
    min-width: 150px;
  }

  .quality-process-table td:last-child .row-actions {
    width: max-content;
    min-width: 132px;
    justify-content: center;
  }
}

.management-feedback-request {
  margin: 0 0 14px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
}

.management-feedback-request p {
  margin: 6px 0 0;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

body.dark-mode .management-feedback-request {
  background: #172033;
}

@media print {
  body.printing-quality-process-list .quality-process-bottom-scroll {
    display: none !important;
  }

  body.printing-quality-process-list #quality-process-print-host .quality-process-day-table-scroll {
    display: block !important;
    width: 287mm !important;
    min-width: 287mm !important;
    max-width: 287mm !important;
    overflow: visible !important;
  }

  body.printing-quality-process-list #quality-process-print-host .quality-process-table {
    width: 287mm !important;
    min-width: 287mm !important;
    max-width: 287mm !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
  }

  body.printing-quality-process-list #quality-process-print-host .quality-process-table th,
  body.printing-quality-process-list #quality-process-print-host .quality-process-table td {
    padding: .35mm .25mm !important;
    font-size: 4.2pt !important;
    line-height: 1.08 !important;
    white-space: normal !important;
    overflow: visible !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
    text-overflow: clip !important;
  }
}

/* 0.1348 son katman: küçük ekran kuralları da dahil olmak üzere okunaklı yazı ve 15 satırlık ana sayfa tabloları. */
@media screen {
  body { font-size: 15px !important; }

  button,
  input,
  select,
  textarea,
  label,
  .menu-child,
  .tab-button { font-size: 14px !important; }

  table th,
  table td,
  .consultant-list-head > *,
  .consultant-list-row > *,
  .outgoing-sample-list-head > *,
  .outgoing-sample-list-row > * { font-size: 13px !important; }

  .analysis-results-grid th:nth-child(3) input,
  .analysis-results-grid td:nth-child(3) input { font-size: 13px !important; }

  .analysis-report-form.analysis-columns-wide .analysis-results-grid th:nth-child(3) input,
  .analysis-report-form.analysis-columns-wide .analysis-results-grid td:nth-child(3) input { font-size: 11px !important; }

  .analysis-report-form.analysis-columns-ultra-wide .analysis-results-grid th:nth-child(3) input,
  .analysis-report-form.analysis-columns-ultra-wide .analysis-results-grid td:nth-child(3) input { font-size: 9px !important; }

  .dashboard-detail-modal {
    display: flex !important;
    height: min(840px, calc(100dvh - 36px)) !important;
    max-height: min(840px, calc(100dvh - 36px)) !important;
    flex-direction: column;
    overflow: hidden !important;
  }

  .dashboard-fixed-table-modal {
    --dashboard-visible-rows: 15;
    display: flex !important;
    height: min(calc((43px * var(--dashboard-visible-rows)) + 190px), calc(100dvh - 36px)) !important;
    max-height: calc(100dvh - 36px) !important;
    flex-direction: column;
    overflow: hidden !important;
  }

  .dashboard-fixed-table-modal > .dashboard-critical-stock-table {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto !important;
  }

  .dashboard-fixed-table-modal > .dashboard-critical-stock-table thead th {
    position: sticky !important;
    top: 0;
    z-index: 7;
  }

  .dashboard-fixed-table-modal .dashboard-critical-stock-table tbody tr {
    height: 43px;
  }

  .dashboard-detail-modal .dashboard-critical-stock-table {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto !important;
  }

  .dashboard-detail-modal .dashboard-critical-stock-table thead th {
    position: sticky !important;
    top: 0;
    z-index: 7;
  }

  .dashboard-critical-stock-list-modal {
    height: min(900px, calc(100dvh - 36px)) !important;
    max-height: min(900px, calc(100dvh - 36px)) !important;
  }

  .quality-process-bottom-scroll {
    position: fixed !important;
    z-index: 19 !important;
    top: auto !important;
    right: 16px !important;
    bottom: 8px !important;
    left: 276px !important;
    width: auto !important;
    margin: 0 !important;
    box-shadow: 0 2px 10px rgba(23, 32, 51, .2) !important;
  }

  .quality-process-day-table-scroll {
    scrollbar-width: none !important;
  }

  .quality-process-day-table-scroll::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
  }

  .tonnage-placeholder-content {
    display: grid;
    gap: 8px;
    min-height: 180px;
    place-content: center;
    padding: 24px;
    color: var(--muted);
    text-align: center;
  }

  .tonnage-placeholder-content strong {
    color: var(--ink);
    font-size: 20px;
  }

  .tonnage-placeholder-content p {
    margin: 0;
  }
}

@media screen and (max-width: 980px) and (pointer: coarse) {
  .quality-process-bottom-scroll {
    right: 8px !important;
    bottom: 6px !important;
    left: 8px !important;
  }
}

/* 0.1356: İrsaliye listesinin kolonları işlem düğmelerinden etkilenmeden sabit kalır. */
@media screen {
  .consultant-delivery-note-list {
    display: block !important;
    width: 100%;
    max-width: 100%;
    overflow-x: auto !important;
  }

  .consultant-delivery-note-list .consultant-list-head,
  .consultant-delivery-note-list .consultant-list-row {
    display: grid !important;
    min-width: 1100px !important;
    grid-template-columns: 120px minmax(190px, .8fr) 150px minmax(280px, 1.4fr) 160px 130px !important;
    align-items: stretch;
  }

  .consultant-delivery-note-list.is-readonly .consultant-list-head,
  .consultant-delivery-note-list.is-readonly .consultant-list-row {
    min-width: 970px !important;
    grid-template-columns: 120px minmax(190px, .8fr) 150px minmax(280px, 1.4fr) 160px !important;
  }

  .consultant-delivery-note-list .delivery-note-row-actions {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-width: 0;
    padding: 5px 6px !important;
  }

  .consultant-delivery-note-list .delivery-note-row-actions .delivery-note-replace-button {
    flex: 1 1 auto;
    width: auto !important;
    min-width: 0 !important;
    padding: 7px 8px;
  }

  .consultant-delivery-note-list .delivery-note-row-actions .sample-delete-button {
    flex: 0 0 34px;
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
  }
}

/* 0.1361 son öncelik: tüm dinamik listelerde mobil yatay kaydırmayı korur. */
@media screen {
  .consultant-call-list .consultant-list-head,
  .consultant-call-list .consultant-list-row {
    grid-template-columns: minmax(150px, 1fr) minmax(180px, 1.2fr) 130px 100px minmax(180px, 1fr) 140px !important;
  }

  .consultant-visitor-list .consultant-list-head,
  .consultant-visitor-list .consultant-list-row {
    grid-template-columns: 135px 100px minmax(220px, 1fr) minmax(200px, 1fr) 140px !important;
  }

  .consultant-cargo-list .consultant-list-head,
  .consultant-cargo-list .consultant-list-row {
    grid-template-columns: 135px 100px minmax(160px, .8fr) minmax(190px, 1fr) minmax(190px, 1fr) 140px !important;
  }
}

@media screen and (max-width: 760px) and (pointer: coarse) {
  .mobile-horizontal-scroll-host {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: visible;
    touch-action: pan-x pan-y !important;
    -webkit-overflow-scrolling: touch;
  }

  .mobile-horizontal-scroll-host > table {
    width: max-content !important;
    min-width: 100% !important;
    max-width: none !important;
  }
}

/* 0.1363: kompakt Mixing yerleşimi ve cihaz türüne bağlı duyarlı görünüm. */
@media screen {
  .mixing-calculator {
    border: 1px solid #d8e1ea;
    border-radius: 10px;
    background: #f8fafc;
  }

  .mixing-title {
    padding: 13px 16px;
    border-bottom: 1px solid #d8e1ea;
    background: #ffffff;
    color: #1e293b;
    font-size: 18px;
    letter-spacing: .01em;
    text-align: left;
  }

  .mixing-mode-row {
    align-items: center;
    padding: 12px 16px;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
  }

  .mixing-mode-row label {
    display: flex;
    align-items: center;
    gap: 10px;
    width: auto;
    color: #334155;
    font-size: 13px;
  }

  .mixing-mode-row select {
    width: 210px;
    min-height: 36px;
    border-color: #b8c6d5;
    background: #fff;
  }

  .mixing-mode-row button {
    min-height: 36px;
    border: 1px solid #0f8b8d;
    background: #ffffff;
    color: #0f7476;
    font-weight: 850;
  }

  .mixing-grid {
    padding: 14px 16px;
  }

  .mixing-card.mixing-single-card {
    grid-template-columns: minmax(0, 1fr) minmax(245px, 290px);
    gap: 12px;
    align-items: stretch;
  }

  .mixing-single-card > h3 {
    grid-column: 1;
    grid-row: 1;
    padding: 8px 11px;
    border: 1px solid #cbd8e3;
    border-bottom: 0;
    border-radius: 7px 7px 0 0;
    background: #edf6f6;
    color: #116b6d;
    font-size: 14px;
    text-align: left;
  }

  .mixing-single-card .mixing-table-scroll {
    grid-column: 1;
    grid-row: 2;
    overflow: hidden;
    border-radius: 0 0 7px 7px;
  }

  .mixing-single-card .mixing-table {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid #cbd8e3;
  }

  .mixing-single-card .mixing-table th,
  .mixing-single-card .mixing-table td {
    height: 32px;
    min-height: 0;
    padding: 3px 5px;
    border: 0;
    border-right: 1px solid #d8e1ea;
    border-bottom: 1px solid #d8e1ea;
    font-size: 12px;
  }

  .mixing-single-card .mixing-table tr > :last-child {
    border-right: 0;
  }

  .mixing-single-card .mixing-table tfoot tr > * {
    border-bottom: 0;
  }

  .mixing-single-card .mixing-table thead th,
  .mixing-single-card .mixing-table tfoot th {
    background: #f1f5f9 !important;
    color: #334155 !important;
    font-weight: 850;
  }

  .mixing-single-card .mixing-table th:nth-child(1),
  .mixing-single-card .mixing-table td:nth-child(1) {
    width: 46px;
  }

  .mixing-single-card .mixing-table th:nth-child(3),
  .mixing-single-card .mixing-table td:nth-child(3) {
    width: 118px;
  }

  .mixing-single-card .mixing-table th:nth-child(4),
  .mixing-single-card .mixing-table td:nth-child(4) {
    width: 92px;
  }

  .mixing-single-card .mixing-table input {
    min-height: 25px;
    padding: 2px 5px;
    border: 1px solid #d6dee7;
    border-radius: 4px;
    background: #ffffff;
    font-size: 12px;
  }

  .mixing-single-card .mixing-result-box {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: stretch;
    border: 1px solid #cbd8e3;
    border-radius: 7px;
    background: #ffffff;
    overflow: hidden;
  }

  .mixing-single-card .mixing-result-box h4 {
    padding: 9px 10px;
    background: #334155;
    color: #ffffff;
    font-size: 13px;
  }

  .mixing-single-card .mixing-result-box > div {
    grid-template-columns: minmax(0, 1fr) 94px;
  }

  .mixing-single-card .mixing-result-box span,
  .mixing-single-card .mixing-result-box strong {
    min-height: 34px;
    padding: 7px 8px;
    border-top: 1px solid #e2e8f0;
    font-size: 12px;
  }

  .mixing-single-card .mixing-result-box strong {
    border-left: 1px solid #e2e8f0;
    background: #ecfdf5;
    color: #166534;
  }

  .mixing-index-card {
    margin: 0 16px 16px;
    border: 1px solid #cbd8e3;
    border-radius: 7px;
    background: #ffffff;
    overflow: hidden;
  }

  .mixing-index-card > h3 {
    padding: 8px 11px;
    background: #edf6f6;
    color: #116b6d;
    font-size: 14px;
    text-align: left;
  }

  .mixing-index-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    padding: 10px;
  }

  .mixing-index-grid label,
  .mixing-index-grid > div {
    display: grid;
    grid-template-columns: 1fr;
    gap: 4px;
    min-height: 0;
    padding: 0;
    border: 0;
    color: #475569;
    font-size: 12px;
  }

  .mixing-index-grid input,
  .mixing-index-grid > div strong {
    min-height: 32px;
    padding: 5px 7px;
    border: 1px solid #d6dee7;
    border-radius: 5px;
    background: #ffffff;
    text-align: center;
  }

  .mixing-index-grid > div span {
    min-height: 0;
    padding: 0;
    border: 0;
  }

  .mixing-index-grid > div strong {
    background: #ecfdf5;
    color: #166534;
  }

  body.dark-mode .mixing-calculator,
  body.dark-mode .mixing-mode-row,
  body.dark-mode .mixing-single-card .mixing-table thead th,
  body.dark-mode .mixing-single-card .mixing-table tfoot th,
  body.dark-mode .mixing-index-card > h3,
  body.dark-mode .mixing-single-card > h3 {
    background: #1e293b !important;
    color: #e2e8f0 !important;
  }

  body.dark-mode .mixing-title,
  body.dark-mode .mixing-index-card,
  body.dark-mode .mixing-single-card .mixing-result-box {
    background: #0f172a;
    color: #e2e8f0;
  }
}

/* 0.1364: net tablo yazıları, kompakt VI kartı ve masaüstü dar menü. */
@media screen {
  body:not(.dark-mode) table:not(.analysis-results-grid) th,
  body:not(.dark-mode) table:not(.analysis-results-grid) td,
  body:not(.dark-mode) table:not(.analysis-results-grid) input,
  body:not(.dark-mode) table:not(.analysis-results-grid) select,
  body:not(.dark-mode) table:not(.analysis-results-grid) button {
    color: #000000 !important;
  }

  table:not(.analysis-results-grid) th,
  table:not(.analysis-results-grid) td,
  table:not(.analysis-results-grid) input,
  table:not(.analysis-results-grid) select,
  table:not(.analysis-results-grid) button {
    font-size: 13px !important;
    text-transform: uppercase !important;
  }

  table:not(.analysis-results-grid) thead th,
  table:not(.analysis-results-grid) thead th button {
    font-size: 14px !important;
    font-weight: 900 !important;
  }

  .mixing-calculator,
  .mixing-title,
  .mixing-mode-row,
  .mixing-index-card,
  .mixing-single-card .mixing-result-box,
  .mixing-single-card .mixing-table thead th,
  .mixing-single-card .mixing-table tfoot th,
  body.dark-mode .mixing-calculator,
  body.dark-mode .mixing-title,
  body.dark-mode .mixing-mode-row,
  body.dark-mode .mixing-index-card,
  body.dark-mode .mixing-single-card .mixing-result-box,
  body.dark-mode .mixing-single-card .mixing-table thead th,
  body.dark-mode .mixing-single-card .mixing-table tfoot th {
    color: #000000 !important;
  }

  .mixing-calculator,
  .mixing-calculator input,
  .mixing-calculator select,
  .mixing-calculator button,
  .mixing-calculator span,
  .mixing-calculator strong,
  .mixing-calculator h3,
  .mixing-calculator h4,
  .mixing-calculator th,
  .mixing-calculator td,
  .mixing-calculator label {
    color: #000000 !important;
    text-transform: uppercase !important;
  }

  .mixing-title {
    font-size: 20px;
    font-weight: 900;
  }

  .mixing-single-card > h3,
  .mixing-index-card > h3 {
    color: #000000 !important;
    font-size: 16px;
    font-weight: 900;
  }

  .mixing-single-card .mixing-table thead th {
    color: #000000 !important;
    font-size: 15px !important;
  }

  .mixing-single-card .mixing-table td,
  .mixing-single-card .mixing-table input,
  .mixing-single-card .mixing-table tfoot th {
    color: #000000 !important;
    font-size: 13px !important;
  }

  .mixing-row-add-button {
    grid-column: 1;
    grid-row: 3;
    justify-self: start;
    width: auto;
    min-height: 34px;
    padding: 6px 12px;
    border: 1px solid #64748b;
    border-radius: 6px;
    background: #ffffff;
    color: #000000 !important;
    font-size: 12px;
    font-weight: 900;
  }

  .mixing-single-card .mixing-result-box {
    grid-row: 1 / span 3;
  }

  .mixing-single-card .mixing-result-box h4 {
    background: #dbe4ec;
    color: #000000 !important;
    font-size: 15px;
  }

  .mixing-single-card .mixing-result-box span,
  .mixing-single-card .mixing-result-box strong {
    color: #000000 !important;
    font-size: 13px;
  }

  .mixing-index-card {
    width: min(360px, calc(100% - 32px));
    margin: 0 16px 16px;
    background: #ffffff !important;
  }

  .mixing-index-card > h3 {
    background: #edf2f6 !important;
  }

  .mixing-index-compact {
    display: grid;
  }

  .mixing-index-compact label,
  .mixing-index-compact > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 112px;
    align-items: center;
    min-height: 37px;
    margin: 0;
    border-top: 1px solid #d8e1ea;
    font-size: 13px;
    font-weight: 850;
  }

  .mixing-index-compact span {
    padding: 7px 9px;
  }

  .mixing-index-compact input,
  .mixing-index-compact strong {
    width: 100%;
    min-height: 37px;
    padding: 6px 8px;
    border: 0;
    border-left: 1px solid #d8e1ea;
    border-radius: 0;
    background: #ffffff !important;
    color: #000000 !important;
    text-align: center;
  }

  .mixing-index-compact strong {
    display: grid;
    place-items: center;
    background: #eaf8ef !important;
    font-size: 14px;
  }

  .mixing-index-status {
    margin: 0;
    padding: 0 9px 8px;
    color: #991b1b !important;
    font-size: 11px;
  }
}

@media screen and (pointer: fine) {
  .app-shell {
    transition: grid-template-columns 160ms ease;
  }

  .app-shell.sidebar-compact {
    grid-template-columns: 76px minmax(0, 1fr);
  }

  .sidebar-compact .sidebar {
    overflow: hidden;
  }

  .sidebar-compact .sidebar-logo {
    justify-content: center;
    padding: 0 10px;
  }

  .sidebar-compact .sidebar-home-button {
    flex: 0 0 auto;
    justify-content: center;
  }

  .sidebar-compact .sidebar-brand-label,
  .sidebar-compact .menu-parent > span:not(.menu-icon),
  .sidebar-compact .menu-label,
  .sidebar-compact .sidebar-user-settings button > span:last-child {
    display: none !important;
  }

  .sidebar-compact .menu {
    padding: 10px 8px;
    scrollbar-gutter: auto;
  }

  .sidebar-compact .menu > button,
  .sidebar-compact .menu-parent {
    justify-content: center;
    padding: 7px;
  }

  .sidebar-compact .menu-child {
    display: none !important;
  }

  .sidebar-compact .menu .menu-icon {
    flex-basis: 34px;
    width: 34px;
    height: 34px;
    font-size: 13px;
  }

  .sidebar-compact .sidebar-user-settings {
    padding: 9px;
  }

  .sidebar-compact .sidebar-user-settings button {
    justify-content: center;
    padding: 8px;
  }
}

@media screen and (max-width: 760px) and (pointer: coarse) {
  table:not(.analysis-results-grid) th,
  table:not(.analysis-results-grid) td,
  table:not(.analysis-results-grid) input,
  table:not(.analysis-results-grid) select,
  table:not(.analysis-results-grid) button {
    font-size: 11px !important;
  }

  table:not(.analysis-results-grid) thead th,
  table:not(.analysis-results-grid) thead th button {
    font-size: 12px !important;
  }

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

  .mixing-row-add-button {
    grid-column: 1;
    grid-row: auto;
    min-height: 30px !important;
  }

  .mixing-single-card .mixing-result-box {
    grid-row: auto;
  }

  .mixing-index-card {
    width: calc(100% - 16px);
    margin: 0 8px 8px;
  }

  .mixing-index-compact label,
  .mixing-index-compact > div {
    grid-template-columns: minmax(0, 1fr) 96px;
    min-height: 32px;
    font-size: 11px;
  }

  .mixing-index-compact input,
  .mixing-index-compact strong {
    min-height: 32px !important;
    font-size: 11px !important;
  }
}

/* 0.1367 mobil son renk önceliği. */
@media screen and (max-width: 760px) and (pointer: coarse) {
  .mixing-single-card > h3,
  .mixing-single-card .mixing-table thead th,
  .mixing-single-card .mixing-result-box h4,
  .mixing-index-card > h3 {
    background: var(--sidebar-background-color, #1f2a44) !important;
    color: var(--sidebar-menu-font-color, #ffffff) !important;
    -webkit-text-fill-color: var(--sidebar-menu-font-color, #ffffff) !important;
  }
}

/* 0.1367 son öncelik: Mixing mavi başlıkları, görünür Devamı ve Sipariş Takip sütunları. */
@media screen {
  .mixing-single-card > h3,
  .mixing-single-card .mixing-table thead th,
  .mixing-single-card .mixing-result-box h4,
  .mixing-index-card > h3 {
    border-color: color-mix(in srgb, var(--sidebar-background-color, #1f2a44), white 24%) !important;
    background: var(--sidebar-background-color, #1f2a44) !important;
    color: var(--sidebar-menu-font-color, #ffffff) !important;
    -webkit-text-fill-color: var(--sidebar-menu-font-color, #ffffff) !important;
  }

  .mixing-single-card .mixing-table thead th *,
  .mixing-single-card .mixing-result-box h4 *,
  .mixing-index-card > h3 * {
    color: var(--sidebar-menu-font-color, #ffffff) !important;
    -webkit-text-fill-color: var(--sidebar-menu-font-color, #ffffff) !important;
  }

  .mixing-single-card .mixing-table tbody td,
  .mixing-single-card .mixing-table tbody input,
  .mixing-single-card .mixing-table tfoot td,
  .mixing-single-card .mixing-table tfoot th {
    background: #ffffff !important;
    color: #000000 !important;
    -webkit-text-fill-color: #000000 !important;
  }

  .compact-cell-more {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 54px;
    min-height: 23px;
    padding: 2px 6px;
    border: 1px solid #2563eb;
    border-radius: 5px;
    background: #eff6ff;
    color: #1d4ed8 !important;
    -webkit-text-fill-color: #1d4ed8 !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1;
    cursor: pointer;
  }

  .compact-cell-short {
    overflow: visible !important;
    white-space: normal !important;
    text-overflow: clip !important;
    overflow-wrap: anywhere;
  }

  .compact-cell-trigger:hover .compact-cell-more,
  .compact-cell-trigger:focus .compact-cell-more {
    background: #dbeafe;
  }

  .purchase-order-table .purchase-product-column {
    width: 310px !important;
    min-width: 280px !important;
    max-width: 340px !important;
    text-align: left !important;
    white-space: normal !important;
  }

  .purchase-order-table .table-note-column {
    width: 165px !important;
    min-width: 145px !important;
    max-width: 175px !important;
  }

  .dashboard-history-loading {
    width: calc(100% - 24px);
    height: 54px;
    margin: 18px 12px;
    border-radius: 7px;
    background: linear-gradient(90deg, #e2e8f0 25%, #f8fafc 50%, #e2e8f0 75%);
    background-size: 200% 100%;
    animation: dashboard-history-loading 1.2s linear infinite;
  }

  @keyframes dashboard-history-loading {
    from { background-position: 200% 0; }
    to { background-position: -200% 0; }
  }
}

@media screen and (max-width: 760px) and (pointer: coarse) {
  .purchase-order-table .purchase-product-column {
    width: 250px !important;
    min-width: 230px !important;
  }

  .purchase-order-table .table-note-column {
    width: 145px !important;
    min-width: 130px !important;
    max-width: 150px !important;
  }
}

/* 0.1365 son öncelik: mavi başlıklarda açık yazı, ortak büyük harf ve okunabilirlik. */
@media screen {
  body:not(.dark-mode) .tab-content table:not(.analysis-results-grid) thead th,
  body:not(.dark-mode) .tab-content table:not(.analysis-results-grid) thead th *,
  body:not(.dark-mode) .modal table:not(.analysis-results-grid) thead th,
  body:not(.dark-mode) .modal table:not(.analysis-results-grid) thead th *,
  body:not(.dark-mode) .management-stock-report-table thead th,
  body:not(.dark-mode) .management-stock-report-table thead th *,
  body:not(.dark-mode) .stock-ledger-table thead th,
  body:not(.dark-mode) .stock-ledger-table thead th * {
    color: var(--sidebar-menu-font-color, #dbe7f4) !important;
    -webkit-text-fill-color: var(--sidebar-menu-font-color, #dbe7f4) !important;
  }

  .additive-sample-list-head,
  .outgoing-sample-list-head,
  .consultant-list-head,
  .additive-sample-list-row,
  .outgoing-sample-list-row,
  .consultant-list-row {
    text-transform: uppercase !important;
  }

  .additive-sample-list-head,
  .outgoing-sample-list-head,
  .consultant-list-head,
  .additive-sample-list-head > *,
  .outgoing-sample-list-head > *,
  .consultant-list-head > * {
    color: var(--sidebar-menu-font-color, #dbe7f4) !important;
    -webkit-text-fill-color: var(--sidebar-menu-font-color, #dbe7f4) !important;
    font-size: 14px !important;
    font-weight: 900 !important;
  }

  body:not(.dark-mode) .additive-sample-list-row,
  body:not(.dark-mode) .outgoing-sample-list-row,
  body:not(.dark-mode) .consultant-list-row,
  body:not(.dark-mode) .additive-sample-list-row > *,
  body:not(.dark-mode) .outgoing-sample-list-row > *,
  body:not(.dark-mode) .consultant-list-row > * {
    color: #000000 !important;
    -webkit-text-fill-color: #000000 !important;
  }

  .additive-sample-list-row,
  .outgoing-sample-list-row,
  .consultant-list-row,
  .additive-sample-list-row > *,
  .outgoing-sample-list-row > *,
  .consultant-list-row > * {
    font-size: 13px !important;
  }

  .quality-card:has(.quality-process-form) .quality-title h3,
  .quality-process-row::before,
  .quality-process-row > label,
  .quality-process-row > label > span,
  .quality-process-row .quality-choice-field > span,
  .quality-stock-group-head > strong,
  .quality-stock-group-head label,
  .quality-stock-category,
  .quality-stock-amount,
  .quality-stock-manual {
    color: #000000 !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
  }

  .quality-process-row::before {
    letter-spacing: .035em;
  }

  .collapsible-filter-shell > summary {
    color: var(--sidebar-menu-font-color, #ffffff) !important;
    -webkit-text-fill-color: var(--sidebar-menu-font-color, #ffffff) !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    letter-spacing: .035em;
    text-transform: uppercase !important;
  }
}

@media screen and (max-width: 760px) and (pointer: coarse) {
  .additive-sample-list-head,
  .outgoing-sample-list-head,
  .consultant-list-head,
  .additive-sample-list-head > *,
  .outgoing-sample-list-head > *,
  .consultant-list-head > * {
    font-size: 12px !important;
  }

  .additive-sample-list-row,
  .outgoing-sample-list-row,
  .consultant-list-row,
  .additive-sample-list-row > *,
  .outgoing-sample-list-row > *,
  .consultant-list-row > * {
    font-size: 11px !important;
  }

  .quality-card:has(.quality-process-form) .quality-title h3,
  .quality-process-row::before,
  .quality-process-row > label,
  .quality-process-row > label > span,
  .quality-process-row .quality-choice-field > span,
  .quality-stock-group-head > strong,
  .quality-stock-group-head label,
  .quality-stock-category,
  .quality-stock-amount,
  .quality-stock-manual {
    font-size: 12px !important;
  }

  .collapsible-filter-shell > summary {
    font-size: 13px !important;
  }
}

/* 0.1366: satır eklenirken sağdaki Mixing sonuç kartı uzamaz. */
@media screen {
  .mixing-single-card .mixing-result-box {
    align-self: start !important;
    height: max-content !important;
  }
}

@media screen and (max-width: 760px) and (pointer: coarse) {
  .management-module .view-switch,
  body:has([data-management-stock-report]) .view-switch,
  body:has([data-management-feedback-form]) .view-switch {
    display: none !important;
  }

  .mixing-calculator {
    width: 100%;
    border-radius: 7px;
  }

  .mixing-title {
    padding: 9px 10px;
    font-size: 14px;
    text-align: center;
  }

  .mixing-mode-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 7px;
    padding: 8px;
  }

  .mixing-mode-row label {
    display: grid;
    grid-template-columns: 74px minmax(0, 1fr);
    gap: 5px;
    width: 100%;
    font-size: 11px;
  }

  .mixing-mode-row select {
    width: 100%;
    min-width: 0;
  }

  .mixing-mode-row button {
    width: auto !important;
    white-space: nowrap;
  }

  .mixing-grid {
    padding: 8px;
  }

  .mixing-card.mixing-single-card {
    grid-template-columns: minmax(0, 1fr);
    gap: 7px;
  }

  .mixing-single-card > h3,
  .mixing-single-card .mixing-table-scroll,
  .mixing-single-card .mixing-result-box {
    grid-column: 1;
    grid-row: auto;
  }

  #tab-content .mixing-single-card .mixing-table-scroll {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  #tab-content .mixing-single-card .mixing-table {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    table-layout: fixed !important;
  }

  .mixing-single-card .mixing-table th,
  .mixing-single-card .mixing-table td {
    height: 29px !important;
    min-height: 0 !important;
    padding: 2px 3px !important;
    font-size: 9px !important;
  }

  .mixing-single-card .mixing-table th:nth-child(1),
  .mixing-single-card .mixing-table td:nth-child(1) {
    width: 30px;
  }

  .mixing-single-card .mixing-table th:nth-child(3),
  .mixing-single-card .mixing-table td:nth-child(3) {
    width: 74px;
  }

  .mixing-single-card .mixing-table th:nth-child(4),
  .mixing-single-card .mixing-table td:nth-child(4) {
    width: 60px;
  }

  .mixing-single-card .mixing-table input {
    width: 100%;
    min-width: 0;
    min-height: 24px !important;
    padding: 1px 3px !important;
    font-size: 10px !important;
  }

  .mixing-single-card .mixing-result-box {
    width: 100%;
  }

  .mixing-single-card .mixing-result-box h4 {
    padding: 7px 8px;
    font-size: 11px;
  }

  .mixing-single-card .mixing-result-box > div {
    grid-template-columns: minmax(0, 1fr) 88px;
  }

  .mixing-single-card .mixing-result-box span,
  .mixing-single-card .mixing-result-box strong {
    min-height: 29px;
    padding: 5px 6px;
    font-size: 10px;
  }

  .mixing-index-card {
    margin: 0 8px 8px;
  }

  .mixing-index-card > h3 {
    padding: 7px 8px;
    font-size: 11px;
  }

  .mixing-index-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 5px;
    padding: 6px;
  }

  .mixing-index-grid label,
  .mixing-index-grid > div {
    min-width: 0;
    font-size: 9px;
  }

  .mixing-index-grid input,
  .mixing-index-grid > div strong {
    width: 100%;
    min-width: 0;
    min-height: 26px !important;
    padding: 2px 3px !important;
    font-size: 10px !important;
  }
}

/* 0.1364 son mobil öncelik: Mixing yazıları ve alanları ekrana sığarken okunaklı kalır. */
@media screen and (max-width: 760px) and (pointer: coarse) {
  .mixing-mode-row {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .mixing-row-add-button {
    grid-column: 1 !important;
    grid-row: auto !important;
    justify-self: start;
  }

  .mixing-single-card .mixing-table thead th {
    color: #000000 !important;
    font-size: 12px !important;
  }

  .mixing-single-card .mixing-table td,
  .mixing-single-card .mixing-table input,
  .mixing-single-card .mixing-table tfoot th {
    color: #000000 !important;
    font-size: 11px !important;
  }

  .mixing-single-card .mixing-result-box {
    grid-row: auto !important;
  }

  .mixing-index-card {
    width: calc(100% - 16px) !important;
  }

  .mixing-index-compact label,
  .mixing-index-compact > div {
    grid-template-columns: minmax(0, 1fr) 96px;
    min-height: 32px;
    font-size: 11px;
  }

  .mixing-index-compact input,
  .mixing-index-compact strong {
    min-height: 32px !important;
    font-size: 11px !important;
  }
}

/* 0.1367 kesin mobil renk önceliği. */
@media screen and (max-width: 760px) and (pointer: coarse) {
  .mixing-single-card > h3,
  .mixing-single-card .mixing-table thead th,
  .mixing-single-card .mixing-result-box h4,
  .mixing-index-card > h3 {
    background: var(--sidebar-background-color, #1f2a44) !important;
    color: var(--sidebar-menu-font-color, #ffffff) !important;
    -webkit-text-fill-color: var(--sidebar-menu-font-color, #ffffff) !important;
  }
}
.tonnage-record-table {
  min-width: 2300px;
}

.tonnage-record-table th,
.tonnage-record-table td {
  white-space: nowrap;
}

/* 0.1369: Tarihte Bugün yükleme zemini ve üç sütunlu büyük Mixing düzeni. */
.dashboard-history-loading {
  display: none !important;
  background: transparent !important;
  animation: none !important;
}

.dashboard-history-pending {
  margin: 14px 0 0 !important;
  padding: 0 !important;
  background: transparent !important;
  color: var(--muted) !important;
}

@media screen and (min-width: 1000px) and (pointer: fine) {
  .mixing-calculator {
    overflow-x: auto;
  }

  .mixing-grid {
    display: grid !important;
    grid-template-columns: minmax(1050px, 1.8fr) minmax(460px, .75fr) !important;
    gap: 20px !important;
    align-items: start !important;
    min-width: 1530px;
    padding: 22px !important;
  }

  .mixing-card.mixing-single-card {
    grid-template-columns: minmax(610px, 1.35fr) minmax(420px, .85fr) !important;
    gap: 18px !important;
    align-items: start !important;
  }

  .mixing-single-card > h3,
  .mixing-index-card > h3 {
    min-height: 52px;
    padding: 14px 16px !important;
    border-width: 2px !important;
    font-size: 22px !important;
  }

  .mixing-single-card .mixing-table,
  .mixing-single-card .mixing-result-box,
  .mixing-index-card {
    border: 2px solid #64748b !important;
    box-shadow: 0 4px 12px rgb(15 23 42 / 14%) !important;
  }

  .mixing-single-card .mixing-table th,
  .mixing-single-card .mixing-table td {
    height: 48px !important;
    padding: 7px 9px !important;
    border-right: 2px solid #94a3b8 !important;
    border-bottom: 2px solid #94a3b8 !important;
    font-size: 18px !important;
  }

  .mixing-single-card .mixing-table thead th,
  .mixing-single-card .mixing-table tfoot th {
    font-size: 19px !important;
  }

  .mixing-single-card .mixing-table th:nth-child(1),
  .mixing-single-card .mixing-table td:nth-child(1) {
    width: 58px !important;
  }

  .mixing-single-card .mixing-table th:nth-child(2),
  .mixing-single-card .mixing-table td:nth-child(2) {
    width: 250px !important;
  }

  .mixing-single-card .mixing-table th:nth-child(3),
  .mixing-single-card .mixing-table td:nth-child(3) {
    width: 160px !important;
  }

  .mixing-single-card .mixing-table th:nth-child(4),
  .mixing-single-card .mixing-table td:nth-child(4) {
    width: 130px !important;
  }

  .mixing-single-card .mixing-table input {
    min-height: 40px !important;
    padding: 7px 9px !important;
    border: 2px solid #94a3b8 !important;
    font-size: 18px !important;
  }

  .mixing-row-add-button {
    min-height: 48px !important;
    padding: 10px 18px !important;
    border-width: 2px !important;
    font-size: 17px !important;
  }

  .mixing-single-card .mixing-result-box h4 {
    min-height: 52px;
    padding: 14px 16px !important;
    font-size: 21px !important;
  }

  .mixing-single-card .mixing-result-box > div {
    grid-template-columns: minmax(0, 1fr) 145px !important;
  }

  .mixing-single-card .mixing-result-box span,
  .mixing-single-card .mixing-result-box strong {
    min-height: 52px !important;
    padding: 12px 14px !important;
    border-top-width: 2px !important;
    font-size: 18px !important;
  }

  .mixing-index-card {
    width: auto !important;
    min-width: 460px;
    margin: 0 !important;
  }

  .mixing-index-compact label,
  .mixing-index-compact > div {
    grid-template-columns: minmax(0, 1fr) 150px !important;
    min-height: 56px !important;
    border-top-width: 2px !important;
    font-size: 18px !important;
  }

  .mixing-index-compact span {
    padding: 12px 14px !important;
  }

  .mixing-index-compact input,
  .mixing-index-compact strong {
    min-height: 56px !important;
    padding: 10px 12px !important;
    border-left-width: 2px !important;
    font-size: 19px !important;
  }
}

/* 0.1370: satın alma ürün hizası, maliyet kaynağı seçimi ve reçete satır sabitleme. */
@media screen {
  .purchase-order-table .purchase-product-column {
    text-align: center !important;
  }

  .recipe-form:not(.recipe-form-approval-view) .recipe-material-head,
  .recipe-form:not(.recipe-form-approval-view) .recipe-material-row,
  .recipe-form:not(.recipe-form-approval-view) .recipe-total-row {
    grid-template-columns: 58px 1.2fr 1.1fr .85fr 1.8fr 92px;
  }

  .recipe-row-lock-button {
    min-height: 28px;
    border: 1px solid #202632;
    border-top: 0;
    border-left: 0;
    border-radius: 0;
    background: #f8fafc;
    color: #334155;
    font-size: 11px;
    font-weight: 850;
    cursor: pointer;
  }

  .recipe-row-lock-button:hover:not(:disabled),
  .recipe-row-lock-button:focus-visible,
  .recipe-row-lock-button.active {
    background: #dbeafe;
    color: #1d4ed8;
  }

  .recipe-material-row.recipe-material-quantity-locked [name="usage_percent"],
  .recipe-material-row.recipe-material-quantity-locked [name="quantity_kg"] {
    background: #eff6ff;
    color: #1d4ed8;
    font-weight: 850;
  }

  .recipe-cost-table {
    min-width: 1160px;
  }

  .recipe-cost-table th:nth-child(1) { width: 20%; }
  .recipe-cost-table th:nth-child(2) { width: 10%; }
  .recipe-cost-table th:nth-child(3) { width: 11%; }
  .recipe-cost-table th:nth-child(4),
  .recipe-cost-table th:nth-child(5),
  .recipe-cost-table th:nth-child(6) { width: 13%; }
  .recipe-cost-table th:nth-child(7) { width: 20%; }

  .recipe-cost-source-cell {
    display: grid;
    justify-items: center;
    gap: 7px;
  }

  .recipe-cost-source-select {
    min-width: 100px;
    padding: 6px 10px;
  }
}

.recipe-cost-source-picker-overlay {
  position: fixed;
  inset: 0;
  z-index: 10020;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgb(15 23 42 / 58%);
}

.recipe-cost-source-picker {
  width: min(920px, 96vw);
  max-height: min(760px, 90vh);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 12px;
  border: 1px solid var(--line, #d8dee9);
  background: var(--surface, #fff);
  color: var(--ink, #172033);
  box-shadow: 0 24px 70px rgb(15 23 42 / 35%);
}

.recipe-cost-source-picker > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 18px;
  border-bottom: 1px solid var(--line);
}

.recipe-cost-source-picker > header h3,
.recipe-cost-source-picker > header small {
  display: block;
  margin: 0;
}

.recipe-cost-source-search {
  display: grid;
  gap: 6px;
  padding: 14px 18px;
  border-bottom: 1px solid var(--line);
  font-weight: 800;
}

.recipe-cost-source-search input {
  min-height: 42px;
}

.recipe-cost-source-options {
  display: grid;
  gap: 8px;
  overflow: auto;
  padding: 14px 18px 18px;
}

.recipe-cost-source-head {
  display: grid;
  grid-template-columns: minmax(230px, 1.35fr) minmax(130px, .65fr) minmax(140px, .7fr) minmax(125px, .55fr);
  gap: 12px;
  padding: 10px 18px;
  border-bottom: 1px solid var(--line, #d8dee9);
  background: #eef4fb;
  color: var(--ink, #172033);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.recipe-cost-source-option {
  display: grid;
  grid-template-columns: minmax(230px, 1.35fr) minmax(130px, .65fr) minmax(140px, .7fr) minmax(125px, .55fr);
  gap: 12px;
  align-items: center;
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: var(--surface, #fff);
  color: var(--ink, #172033);
  text-align: left;
}

.recipe-cost-source-option:hover,
.recipe-cost-source-option:focus-visible {
  border-color: #3b82f6;
  background: #eff6ff;
}

.recipe-cost-source-choose {
  width: 100%;
  min-height: 38px;
  white-space: nowrap;
}

.recipe-cost-source-option span,
.recipe-cost-source-option strong,
.recipe-cost-source-option small {
  display: block;
}

.recipe-cost-source-option small {
  margin-top: 3px;
  color: var(--muted);
}

.recipe-cost-source-empty {
  padding: 32px 18px;
  color: var(--muted);
  text-align: center;
}

@media screen and (max-width: 760px) and (pointer: coarse) {
  .recipe-cost-source-picker-overlay {
    padding: 8px;
  }

  .recipe-cost-source-head {
    display: none;
  }

  .recipe-cost-source-option {
    grid-template-columns: 1fr;
  }
}

/* 0.1371: anlaşılır log görünümü ve satın alma tarih grupları. */
@media screen {
  .purchase-day-group {
    display: grid;
    gap: 8px;
    margin-bottom: 18px;
  }

  .purchase-day-group > h4 {
    margin: 0;
    padding: 10px 12px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: #eef2f7;
    color: var(--ink);
    font-size: 15px;
    font-weight: 900;
  }

  .purchase-day-table-scroll {
    overflow-x: auto;
  }

  .purchase-day-table-scroll > table {
    min-width: 1420px;
  }

  .admin-log-filter-row {
    grid-template-columns: minmax(240px, 1.4fr) minmax(180px, .8fr) minmax(190px, .9fr) 150px 150px auto;
  }

  .admin-log-table {
    min-width: 1050px;
  }

  .admin-log-table th:nth-child(1),
  .admin-log-table td:nth-child(1) { width: 135px; }

  .admin-log-table th:nth-child(2),
  .admin-log-table td:nth-child(2) { width: 500px; }

  .admin-log-table th:nth-child(3),
  .admin-log-table td:nth-child(3) { width: 230px; min-width: 230px; }

  .admin-log-table th:nth-child(4),
  .admin-log-table td:nth-child(4) { width: 95px; }

  .admin-log-table th:nth-child(5),
  .admin-log-table td:nth-child(5) { width: 90px; }

  .admin-log-human-summary {
    line-height: 1.5;
    white-space: normal !important;
  }

  .admin-log-human-summary strong {
    color: var(--ink);
    font-size: 13px;
  }

  .admin-log-details pre {
    width: min(820px, 76vw);
    max-width: 820px;
    font-family: Inter, "Segoe UI", Arial, sans-serif;
    line-height: 1.6;
  }
}
