/* Приёмка: рабочие поля на виду, реквизиты и закупочная история по запросу. */
.receiving-page { max-width: 960px; margin: 0 auto; }
.receiving-heading { margin: 8px 0 24px; }
.receiving-heading h1 { margin: 0 0 8px; font-size: 1.8rem; overflow-wrap: anywhere; }
.receiving-heading p { margin: 0; font-size: .95rem; }
.receiving-heading a { color: inherit; text-decoration: none; }
.receiving-heading a:hover { text-decoration: underline; }
.receipt-metadata { padding: 0; margin-bottom: 20px; }
.receipt-metadata > summary { display: flex; align-items: center; gap: 16px; padding: 20px 24px; min-height: 88px; cursor: pointer; list-style: none; font-weight: 600; }
.receipt-metadata > summary::-webkit-details-marker, .receiving-purchase > summary::-webkit-details-marker { display: none; }
.receipt-metadata summary > span { flex: 1; min-width: 0; }
.receipt-metadata summary small { display: block; font-size: .85rem; font-weight: 400; margin-top: 4px; overflow-wrap: anywhere; }
.receipt-chevron { flex-shrink: 0; color: var(--muted); transition: transform .15s; }
details[open] > summary > .receipt-chevron { transform: rotate(90deg); }
.receipt-metadata-fields { padding: 0 24px 24px; row-gap: 16px; }
.receiving-upload { width: 100%; margin: 0 0 24px; color: var(--accent); }
.receiving-page .delivery-heading { gap: 8px; margin-bottom: 12px; }
.receiving-page .delivery-heading h2 { font-size: 1.3rem; }
.receiving-page [data-receive-all] { color: var(--accent); font-size: .9rem; padding-inline: 8px; }
.receiving-page .delivery-line { padding: 24px; }
.receiving-page .delivery-product p { margin: 0 0 22px; font-size: .9rem; }
.receiving-page .delivery-inputs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.receiving-page .delivery-inputs input { width: 100%; min-width: 0; }
.receiving-amount { position: relative; }
.receiving-amount input { padding-right: 48px; }
.receiving-amount input[readonly] { background: var(--field); }
.receiving-amount input:not([readonly]) { outline: 2px solid var(--accent); outline-offset: -2px; }
.receiving-amount [data-edit-receipt-amount] { position: absolute; inset: 0 0 0 auto; width: 44px; min-height: 44px; padding: 0; font-size: .85rem; }
.receiving-amount [data-edit-receipt-amount][hidden] { display: none; }
.receiving-amount [aria-pressed=true] { color: var(--accent); }
.receiving-amount .icon { width: 18px; height: 18px; }
.receiving-purchase { margin-top: 20px; border-top: 1px solid var(--field); }
.receiving-purchase > summary { display: flex; align-items: center; gap: 12px; min-height: 56px; padding: 14px 0 0; list-style: none; cursor: pointer; font-size: .9rem; }
.receiving-purchase summary > .icon:first-child { color: var(--muted); }
.receiving-purchase summary > .receipt-chevron { margin-left: auto; width: 20px; }
.receiving-purchase-body { display: grid; gap: 8px; padding: 12px 0 0 36px; font-size: .85rem; }
.receiving-purchase-body a { color: var(--accent); width: fit-content; min-height: 44px; display: inline-flex; align-items: center; }
.receiving-page .delivery-line-result { font-size: .85rem; margin-top: 16px; }
.receiving-page .delivery-line-result[hidden] { display: none; }
.receiving-page .delivery-confirm .rc-total { font-size: 1.5rem; font-weight: 700; font-variant-numeric: tabular-nums; flex-wrap: wrap; }
.receiving-page .delivery-confirm .delivery-note { margin-top: 8px; font-size: .85rem; }
.receiving-page .delivery-confirm [data-overdelivery-box] .delivery-note { margin-top: 12px; }
@media (max-width: 700px) {
  .receiving-page .delivery-inputs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .receiving-page .delivery-inputs > .field:first-child { grid-column: auto; }
  .receiving-page .delivery-inputs > .field:last-child { grid-column: 1 / -1; }
  .receiving-page .delivery-line { padding: 20px; }
  .receipt-metadata > summary { padding: 18px 20px; gap: 12px; }
  .receipt-metadata-fields { padding: 0 20px 20px; grid-template-columns: minmax(0, 1fr); }
  .receiving-page .delivery-confirm { padding: 20px; }
  .receiving-page .delivery-confirm .btn-primary { padding-inline: 12px; }
}
@media (prefers-reduced-motion: reduce) { .receipt-chevron { transition: none; } }
.invoice-page { max-width: 780px; margin: 0 auto; }
.settings-path { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 24px; font-size: .9rem; color: var(--muted); }
.settings-path a { color: var(--muted); text-decoration: none; min-height: 44px; display: inline-flex; align-items: center; }
.settings-path a:hover { color: var(--text); }
.settings-path .icon { width: 16px; height: 16px; flex-shrink: 0; }
.supplier-page { max-width: 1040px; margin: 0 auto; }
.supplier-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin-bottom: 24px; }
.supplier-heading h1 { margin: 0; }
.supplier-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.supplier-card { padding: 24px; border-radius: 20px; background: var(--surface); min-width: 0; }
.supplier-card-heading { display: flex; align-items: center; gap: 14px; color: var(--text); text-decoration: none; min-height: 56px; }
.supplier-card-heading > .icon { flex-shrink: 0; color: var(--muted); }
.supplier-card-heading > .icon:last-child { margin-left: auto; width: 18px; }
.supplier-card-heading div { min-width: 0; }
.supplier-card-heading strong { display: block; font-size: 1.2rem; overflow-wrap: anywhere; }
.supplier-card-heading span { display: block; margin-top: 4px; font-size: .9rem; }
.supplier-contact { margin: 16px 0 20px; line-height: 1.6; font-size: .95rem; }
.supplier-contact span { display: block; }
.supplier-telegram { border-top: 1px solid var(--field); padding-top: 20px; }
.supplier-telegram-status { display: flex; gap: 10px; align-items: flex-start; margin-bottom: 16px; }
.supplier-telegram-status strong { font-size: 1rem; }
.supplier-telegram-status span { display: block; margin-top: 4px; font-size: .9rem; overflow-wrap: anywhere; }
.supplier-telegram > .btn { width: 100%; }
.supplier-card-archived .supplier-card-heading { color: var(--muted); }
.supplier-binding { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 24px; padding: 20px 24px; background: var(--surface); border-radius: 20px; }
.supplier-binding span { display: block; margin-top: 6px; overflow-wrap: anywhere; }
@media (max-width: 700px) {
  .supplier-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .supplier-card { padding: 20px; }
  .supplier-heading > .btn, .supplier-binding > .btn { width: 100%; }
  .supplier-heading { margin-bottom: 20px; }
}
@media (max-width: 480px) { .supplier-topbar-title { display: none; } }
.receipt-checkout { max-width: 780px; margin: 0 auto; }
.rc-form.receipt-checkout { padding: 0; background: transparent; }
.receipt-checkout-heading { margin-bottom: 20px; }
.receipt-checkout-heading h1 { margin: 6px 0 0; }
.receipt-checkout-heading .invoice-step { margin: 0; }
.receipt-preview { background: var(--surface); border-radius: 20px; padding: 24px; }
.receipt-preview[hidden] { display: none; }
.receipt-preview-supplier { font-weight: 700; font-size: 1.15rem; margin: 0 0 6px; overflow-wrap: anywhere; }
.receipt-preview-document { font-size: .9rem; margin: 0 0 12px; overflow-wrap: anywhere; }
.receipt-preview-lines { list-style: none; margin: 0; padding: 0; }
.receipt-preview-lines li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 5px 16px; padding: 16px 0; border-top: 1px solid var(--field); }
.receipt-preview-lines li > strong { overflow-wrap: anywhere; }
.receipt-preview-lines li > .muted { grid-column: 1; font-size: .95rem; }
.receipt-preview-amount { grid-column: 2; grid-row: 1 / 3; align-self: center; white-space: nowrap; }
.receipt-preview-warning { grid-column: 1 / -1; color: var(--check); font-size: .9rem; margin: 6px 0 0; }
.receipt-editor { margin: 8px 0 0; }
.receipt-editor > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 56px; padding: 12px 4px; cursor: pointer; color: var(--accent); font-size: .95rem; list-style: none; }
.receipt-editor > summary::-webkit-details-marker { display: none; }
.receipt-editor > summary .icon { flex-shrink: 0; width: 20px; height: 20px; }
.receipt-editor[open] > summary .icon { transform: rotate(90deg); }
.receipt-editor-content { padding: 16px 0; }
.receipt-checkout .delivery-confirm { margin-top: 8px; padding: 0; background: transparent; }
.receipt-checkout .rc-total { margin-top: 8px; padding-top: 12px; gap: 16px; flex-wrap: wrap; }
.receipt-checkout-note { font-size: .9rem; line-height: 1.5; margin: 12px 0; }
.receipt-checkout .form-actions { margin-top: 16px; }
@media (max-width: 480px) {
  .receipt-topbar-title { display: none; }
  .receipt-preview { padding: 18px; }
  .receipt-preview-lines li { gap: 5px 12px; font-size: 1rem; }
  .receipt-checkout .btn-big { padding-left: 12px; padding-right: 12px; }
}
.invoice-step { font-size: .9rem; margin-bottom: 10px; }
.invoice-page h1 { margin-top: 0; }
.invoice-upload { margin: 28px 0 20px; position: relative; }
.invoice-file-input { position: absolute; width: 1px; height: 1px; padding: 0; opacity: 0; overflow: hidden; }
.invoice-drop { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 12px; padding: 34px 20px; border: 2px dashed var(--muted); border-radius: 18px; cursor: pointer; overflow-wrap: anywhere; }
.invoice-drop > .icon { width: 32px; height: 32px; color: var(--accent); }
.invoice-drop:hover, .invoice-drop.is-dragging, .invoice-file-input:focus-visible + .invoice-drop { border-color: var(--accent); background: var(--field); }
.invoice-drop-hint { font-size: .85rem; }
.invoice-upload > p, .invoice-examples > p { font-size: .95rem; line-height: 1.5; }
.invoice-example-actions { display: flex; flex-wrap: wrap; gap: 20px; }
.invoice-example-actions > div { flex: 1; min-width: 200px; text-align: center; }
.invoice-example-actions .btn { width: 100%; margin-bottom: 12px; }
.invoice-example-actions a, .invoice-help { font-size: .9rem; }
.invoice-manual { text-align: center; margin: 26px 0; }
.invoice-help > summary { cursor: pointer; min-height: 44px; padding-top: 12px; }
.invoice-help p { line-height: 1.6; }
.invoice-rows { display: grid; gap: 12px; margin: 20px 0; }
.invoice-row { padding: 24px; min-width: 0; }
.invoice-row-heading { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 16px; margin-bottom: 18px; }
.invoice-row-heading strong { overflow-wrap: anywhere; }
.invoice-row-heading > span { font-size: .85rem; }
.invoice-row-fields { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(110px, .35fr) minmax(140px, .4fr); gap: 16px; }
.invoice-row .field { margin: 0; min-width: 0; }
.invoice-row .field-label { font-size: .9rem; }
.invoice-row-details { margin-top: 14px; font-size: .9rem; }
.invoice-row-details > summary { cursor: pointer; min-height: 44px; padding-top: 12px; color: var(--muted); }
.invoice-new-fields { display: grid; grid-template-columns: minmax(0, 1fr) 160px; gap: 16px; margin: 16px 0; }
.invoice-packing { margin-top: 18px; max-width: 540px; }
.invoice-packing input { width: 100%; min-height: 56px; padding: 12px 18px; border: 0; border-radius: 14px; background: var(--field); color: var(--text); font: inherit; }
.invoice-packing small { display: block; margin-top: 8px; color: var(--muted); }
.invoice-packing[hidden], .invoice-new-fields[hidden] { display: none; }
.invoice-skip { margin: 8px 0 0; font-size: .9rem; color: var(--muted); }
.invoice-row.is-skipped .invoice-row-fields, .invoice-row.is-skipped .invoice-row-details { opacity: .5; }
.invoice-row-warning { color: var(--problem); font-size: .9rem; }
.invoice-metadata, .invoice-warnings, .invoice-confirm { margin: 24px 0; }
.invoice-metadata .field { margin-bottom: 12px; }
.invoice-confirm .rc-total { margin-top: 0; padding-top: 0; flex-wrap: wrap; gap: 12px; }
.invoice-confirm .btn { margin-top: 24px; }
.invoice-result-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--field); }
.invoice-table-card { padding: 8px 20px; margin: 20px 0; }
.invoice-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.invoice-table th { color: var(--muted); font-size: .85rem; text-align: left; padding: 16px 10px; }
.invoice-table th:first-child { width: 48%; }
.invoice-table th:last-child { width: 112px; }
.invoice-table .num { text-align: right; }
.invoice-table .invoice-row { padding: 0; }
.invoice-summary > td { padding: 12px 10px; border-top: 1px solid var(--field); vertical-align: middle; }
.invoice-summary .num { white-space: nowrap; font-variant-numeric: tabular-nums; }
.invoice-product { overflow-wrap: anywhere; }
.invoice-product strong { font-weight: 600; }
.invoice-position { font-size: .85rem; }
.invoice-product small { display: block; font-size: .8rem; margin-top: 2px; }
.invoice-row:not(.needs-review) [data-invoice-match] { display: none; }
.invoice-row.is-skipped [data-invoice-match] { display: block; }
.invoice-row.is-skipped .invoice-product strong { text-decoration: line-through; color: var(--muted); }
.invoice-row.needs-review [data-invoice-match] { color: var(--problem); }
.invoice-row-action { text-align: right; }
.invoice-row-action .btn { min-height: 44px; padding: 0 8px; font-size: .85rem; }
.invoice-editor-content { padding: 16px 20px; background: var(--field); border-radius: 14px; margin-bottom: 12px; }
.invoice-editor .invoice-row-fields input, .invoice-editor .invoice-row-fields select, .invoice-editor .invoice-packing input { background: var(--surface); }
.invoice-editor[hidden], [data-invoice-toggle][hidden] { display: none !important; }
.invoice-mobile-label { display: none; }
@media (max-width: 700px) {
  .invoice-table-card { padding: 0 12px; }
  .invoice-table, .invoice-table .invoice-row { display: block; width: 100%; }
  .invoice-table thead { display: none; }
  .invoice-summary { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 78px; gap: 4px 8px; border-top: 1px solid var(--field); padding: 12px 0; }
  .invoice-summary > td { border: 0; padding: 0; min-width: 0; }
  .invoice-summary .invoice-product { grid-column: 1 / 3; }
  .invoice-summary .num { grid-row: 2; text-align: left; white-space: normal; overflow-wrap: anywhere; }
  .invoice-summary .invoice-row-action { grid-column: 3; grid-row: 1 / 3; align-self: center; }
  .invoice-mobile-label { display: block; font-size: .75rem; color: var(--muted); }
  .invoice-editor, .invoice-editor > td { display: block; width: 100%; }
  .invoice-editor-content { padding: 16px 12px; }
  .invoice-editor .invoice-row-fields { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 700px) {
  .invoice-upload, .invoice-examples, .invoice-row, .invoice-confirm, .invoice-metadata { padding: 20px; }
  .invoice-row-fields { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .invoice-row-fields > .field:first-child { grid-column: 1 / -1; }
  .invoice-new-fields { grid-template-columns: minmax(0, 1fr); }
  .invoice-metadata .rc-head { grid-template-columns: minmax(0, 1fr); }
  .invoice-result-row { grid-template-columns: minmax(0, 1fr) auto; }
  .invoice-result-row > strong { grid-column: 1 / -1; }
  .invoice-confirm .btn { padding-left: 12px; padding-right: 12px; }
}
.delivery-form button:disabled, .order-message button:disabled { opacity: .45; cursor: default; }
@media (max-width: 700px) {
  .delivery-line { padding: 20px; }
  .delivery-inputs { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .delivery-inputs > .field:first-child { grid-column: 1 / -1; }
  .delivery-form .rc-head { gap: 20px; }
  .delivery-summary .btn-big { width: 100%; padding: 0 20px; }
  .delivery-intro .btn { padding-left: 0; }
  .delivery-confirm .rc-total { flex-wrap: wrap; }
  .delivery-form .btn-big { padding-left: 16px; padding-right: 16px; }
}
