:root {
  color-scheme: light;
  --ink: #1c1f24;
  --muted: #66707a;
  --line: #d8dde3;
  --panel: #ffffff;
  --soft: #eef3f1;
  --accent: #166c5f;
  --accent-dark: #0f5148;
  --warning: #a8442a;
  --warning-soft: #f8e5df;
  --fifo-yellow: #fff9df;
  --fifo-yellow-strong: #715b17;
  --fifo-red: #fff0ee;
  --fifo-red-strong: #8b342b;
  --invoice: #235c99;
  --invoice-soft: #e4eff9;
  --sold: #157347;
  --sold-soft: #dff4e8;
  --shadow: 0 20px 50px rgba(28, 31, 36, 0.12);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* {
  box-sizing: border-box;
}

body {
  min-width: 320px;
  margin: 0;
  color: var(--ink);
  background:
    linear-gradient(rgba(247, 251, 253, 0.93), rgba(247, 251, 253, 0.93)),
    radial-gradient(circle at 92% 12%, rgba(34, 95, 131, 0.12), transparent 24%),
    radial-gradient(circle at 12% 18%, rgba(21, 115, 71, 0.1), transparent 22%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 900'%3E%3Cg fill='none' stroke-linecap='round'%3E%3Cpath d='M-40 240c108-60 214-60 322 0s214 60 322 0 214-60 322 0 214 60 322 0 214-60 322 0' stroke='%2399bbd4' stroke-opacity='.42' stroke-width='16'/%3E%3Cpath d='M-40 360c108-60 214-60 322 0s214 60 322 0 214-60 322 0 214 60 322 0 214-60 322 0' stroke='%2367a1c9' stroke-opacity='.28' stroke-width='10'/%3E%3Cpath d='M-40 500c108-60 214-60 322 0s214 60 322 0 214-60 322 0 214 60 322 0 214-60 322 0' stroke='%2388c1a3' stroke-opacity='.26' stroke-width='8'/%3E%3Cpath d='M-40 660c108-60 214-60 322 0s214 60 322 0 214-60 322 0 214 60 322 0 214-60 322 0' stroke='%23b6cddd' stroke-opacity='.3' stroke-width='12'/%3E%3C/g%3E%3C/svg%3E") center / cover fixed,
    #f2f7fa;
}

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

button {
  min-height: 42px;
  border: 1px solid #c9d8d4;
  border-radius: 8px;
  padding: 0 16px;
  color: #234b44;
  background: #f4f8f7;
  cursor: pointer;
  font-weight: 650;
  transition: background 140ms ease, border-color 140ms ease, color 140ms ease, transform 140ms ease;
}

button:hover {
  border-color: #9bbdb4;
  color: var(--accent-dark);
  background: #eaf3f0;
  transform: translateY(-1px);
}

button:disabled {
  cursor: wait;
  opacity: 0.62;
  transform: none;
}

#addBtn,
#addRepairBtn,
#addDemoBtn {
  border-color: #2f8f7d;
  color: #fff;
  background: #2b8a78;
  box-shadow: 0 8px 18px rgba(43, 138, 120, 0.18);
}

#addBtn:hover,
#addRepairBtn:hover,
#addDemoBtn:hover {
  border-color: #257867;
  color: #fff;
  background: #257867;
}

#printBtn,
#printRepairBtn {
  min-height: 30px;
  padding: 0 10px;
  color: var(--muted);
  background: #f6f7f8;
  border-color: #d7dde1;
  font-size: 0.76rem;
  font-weight: 700;
}

#printBtn:hover,
#printRepairBtn:hover {
  color: var(--ink);
  background: #eceff1;
  border-color: #c6d0d6;
}

button.ghost {
  color: var(--muted);
  background: #f4f5f6;
  border-color: #dde2e5;
}

button.ghost:hover {
  color: var(--ink);
  background: #e8ecef;
}

button.danger {
  color: #8b2e20;
  background: #fff1ed;
  border-color: #d7aca2;
}

button.danger:hover {
  color: #6f2419;
  background: #f8ded6;
  border-color: #c5897b;
}

.scroll-top-btn {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 30;
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  gap: 7px;
  border-color: #003f5a;
  padding: 0 14px;
  color: #fff;
  background: #003f5a;
  box-shadow: 0 12px 26px rgba(0, 63, 90, 0.26);
  font-size: 0.82rem;
  font-weight: 850;
}

.scroll-top-btn span {
  display: inline-grid;
  width: 21px;
  height: 21px;
  place-items: center;
  border-radius: 999px;
  color: #003f5a;
  background: #ffffff;
  font-size: 0.86rem;
  line-height: 1;
  font-weight: 900;
}

.scroll-top-btn:hover {
  border-color: #075f61;
  color: #fff;
  background: #075f61;
  box-shadow: 0 14px 30px rgba(7, 95, 97, 0.28);
  transform: translateY(-1px);
}

.scroll-top-btn[hidden] {
  display: none;
}

.icon-button {
  display: inline-flex;
  min-width: 48px;
  min-height: 30px;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 0 7px;
}

.icon-button-label {
  color: var(--muted);
  font-size: 0.61rem;
  font-weight: 850;
}

.io-glyph {
  width: 18px;
  height: 16px;
  color: #4d746b;
  overflow: visible;
}

.tray-path,
.arrow-path {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.export-glyph .arrow-path {
  transform: rotate(180deg);
  transform-box: view-box;
  transform-origin: 12px 9px;
}

.app-shell {
  width: min(1840px, calc(100% - 12px));
  margin: 12px auto;
}

.top-panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 18px;
  border: 1px solid rgba(216, 221, 227, 0.75);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: var(--shadow);
}

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

.header-logo {
  width: 42px;
  height: 42px;
  object-fit: contain;
  flex: 0 0 auto;
}

.header-title-block {
  min-width: 0;
}

.top-switch-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 10px;
}

.eyebrow {
  margin: 0 0 5px;
  color: var(--accent);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

h1,
h2,
.lead {
  margin: 0;
}

h1 {
  font-size: clamp(1.55rem, 2rem, 2.35rem);
  line-height: 1;
  color: #003f5a;
}

h2 {
  font-size: 1.45rem;
}

.lead {
  max-width: 720px;
  margin-top: 7px;
  color: var(--muted);
  font-size: 0.94rem;
}

.stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(100px, 1fr));
  gap: 8px;
  min-width: min(460px, 100%);
}

.stats div {
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--soft);
}

.stats span {
  display: block;
  font-size: 1.28rem;
  font-weight: 850;
}

.stats small {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 700;
}

.notebook-switch {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 2px;
  padding: 3px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.68);
}

.notebook-navigation {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 10px;
}

.connection-panel {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 8px;
  margin-left: auto;
}

.connection-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 800;
}

.connection-status::before {
  width: 7px;
  height: 7px;
  border-radius: 6px;
  background: #8e989f;
  content: "";
}

.connection-status[data-state="online"]::before {
  background: #2b9b69;
}

.connection-status[data-state="syncing"]::before {
  background: #d59a28;
}

.connection-status[data-state="error"]::before {
  background: #c44032;
}

.connection-user {
  max-width: 260px;
  overflow: hidden;
  color: #35505d;
  font-size: 0.76rem;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.logout-button,
.workstation-button {
  min-height: 28px;
  padding: 0 9px;
  color: var(--muted);
  background: rgba(255, 255, 255, 0.7);
  font-size: 0.72rem;
}

.workstation-button {
  max-width: 190px;
  overflow: hidden;
  color: #315f48;
  background: #eef7f0;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.notebook-switch-button {
  flex: 0 0 auto;
  min-height: 30px;
  border: 0;
  border-radius: 6px;
  padding: 0 10px;
  color: var(--muted);
  background: transparent;
  font-size: 0.82rem;
  font-weight: 800;
  white-space: nowrap;
}

.notebook-switch-button:hover {
  color: var(--ink);
  background: rgba(238, 243, 241, 0.8);
  transform: none;
}

.notebook-switch-button.active {
  color: var(--accent);
  background: #fff;
  box-shadow: 0 3px 10px rgba(28, 31, 36, 0.08);
}

.pricing-shortcut {
  min-height: 32px;
  border: 1px solid rgba(0, 122, 122, 0.22);
  padding: 0 11px;
  color: #003f5a;
  background: rgba(0, 122, 122, 0.05);
  white-space: nowrap;
}

.pricing-shortcut:hover {
  border-color: rgba(0, 122, 122, 0.34);
  color: #003f5a;
  background: rgba(0, 122, 122, 0.08);
}

.pricing-shortcut.active {
  border-color: rgba(0, 122, 122, 0.42);
  color: #003f5a;
  background: rgba(0, 122, 122, 0.11);
  box-shadow: none;
}

.private-notebook-button {
  color: #315f48;
}

.private-module-section {
  padding-top: 18px;
}

.private-module-panel {
  width: min(980px, 100%);
  margin: 0 auto;
  padding: 0 0 32px;
}

.private-module-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
  padding: 4px 2px 14px;
  border-bottom: 1px solid var(--line);
}

.private-module-head h2 {
  margin: 2px 0 0;
  color: #003f5a;
  font-size: 1.35rem;
}

.private-module-badge {
  border-radius: 6px;
  padding: 5px 8px;
  color: #49645b;
  background: #edf5f0;
  font-size: 0.7rem;
  font-weight: 850;
  text-transform: uppercase;
}

.private-form-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(180px, 0.6fr);
  gap: 14px 18px;
  align-items: start;
}

.private-form-grid > label {
  display: grid;
  gap: 6px;
}

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

.capd-form-grid {
  grid-template-columns: minmax(220px, 2fr) minmax(130px, 1fr) minmax(130px, 0.9fr) minmax(76px, 0.45fr) minmax(150px, 0.9fr);
}

.capd-patient-field,
.capd-pesel-field,
.capd-birth-date-field,
.capd-age-field,
.capd-date-field {
  grid-column: auto;
}

.person-name-field.capd-patient-field {
  border: 0;
  padding: 0;
  background: transparent;
}

.person-name-field.capd-patient-field input {
  border-width: 1.5px;
  background: #f6fbfc;
}

.capd-pesel-field input {
  letter-spacing: 0;
  font-variant-numeric: tabular-nums;
}

.capd-pesel-field input.invalid {
  border-color: #c85c50;
  color: #8d3931;
  background: #fff5f3;
}

.capd-pesel-status {
  min-height: 0;
  color: #77878c;
  font-size: 0.66rem;
  font-weight: 800;
}

.capd-pesel-status:empty {
  display: none;
}

.capd-pesel-status[data-state="valid"] {
  color: #39745f;
}

.capd-pesel-status[data-state="error"] {
  color: #a44339;
}

.capd-birth-date-field input:read-only,
.capd-age-field input:read-only {
  color: #31525d;
  background: #f2f6f6;
  font-weight: 850;
}

.capd-age-field small {
  color: #728287;
  font-size: 0.64rem;
  line-height: 1.3;
}

.capd-scope-panel {
  display: grid;
  gap: 4px;
  border-left: 4px solid #9aa7ac;
  padding: 11px 14px;
  background: #f5f7f7;
}

.capd-scope-panel[data-scope="young"] {
  border-left-color: #b98545;
  background: #fbf5ea;
}

.capd-scope-panel[data-scope="six-tests"] {
  border-left-color: #477d8d;
  background: #eef5f7;
}

.capd-scope-panel[data-scope="full"] {
  border-left-color: #3a8a7f;
  background: #edf7f4;
}

.capd-scope-panel > span {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 800;
}

.capd-scope-panel strong {
  color: #003f5a;
  font-size: 1rem;
}

.capd-scope-panel p {
  margin: 0;
  color: var(--muted);
  font-size: 0.82rem;
}

.capd-norm-reference-panel {
  display: grid;
  gap: 10px;
  border: 1px solid #d7e2df;
  border-left: 4px solid #05867f;
  border-radius: 6px;
  padding: 12px 14px;
  background: #f7fbfa;
}

.capd-norm-reference-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.capd-norm-reference-head h3 {
  margin: 2px 0 0;
  color: #003f5a;
  font-size: 0.96rem;
}

.capd-norm-reference-content {
  display: grid;
  gap: 10px;
}

.capd-norm-reference-content[hidden] {
  display: none;
}

.capd-norm-reference-controls {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

.capd-norm-age-field,
.capd-norm-version-field {
  display: grid;
  min-width: 150px;
  width: min(180px, 100%);
  gap: 4px;
}

.capd-norm-version-field {
  width: min(210px, 100%);
}

.capd-norm-age-field > span,
.capd-norm-version-field > span {
  color: #5d747b;
  font-size: 0.68rem;
  font-weight: 850;
}

.capd-norm-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid #c6d9d5;
  border-radius: 6px;
  padding: 6px 9px;
  background: #fff;
  color: #315d64;
  font: inherit;
  font-size: 0.72rem;
  font-weight: 800;
  cursor: pointer;
}

.capd-norm-toggle:hover {
  border-color: #76aaa3;
  background: #f1f8f6;
}

.capd-norm-toggle i {
  width: 7px;
  height: 7px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
  transition: transform 160ms ease;
}

.capd-norm-toggle[aria-expanded="true"] i {
  transform: translateY(2px) rotate(225deg);
}

.capd-norm-reference-table-wrap {
  overflow-x: auto;
}

.capd-norm-reference-table {
  width: 100%;
  min-width: 790px;
  border-collapse: collapse;
  font-size: 0.73rem;
}

.capd-norm-reference-table th,
.capd-norm-reference-table td {
  border-bottom: 1px solid #dce6e4;
  padding: 7px 9px;
  text-align: left;
  vertical-align: top;
}

.capd-norm-reference-table th {
  color: #355b65;
  background: #eef6f4;
  font-size: 0.67rem;
}

.capd-norm-reference-table td:first-child strong,
.capd-norm-reference-table td:first-child span {
  display: block;
}

.capd-norm-reference-table td:first-child strong {
  color: #003f5a;
  font-size: 0.78rem;
}

.capd-norm-reference-table td:first-child span {
  margin-top: 2px;
  color: #687b81;
  font-size: 0.65rem;
}

.capd-norm-reference-note {
  margin: 0;
  color: #667a80;
  font-size: 0.68rem;
  line-height: 1.4;
}

.capd-norm-reference-table td:last-child {
  color: #526b72;
  font-size: 0.67rem;
  white-space: nowrap;
}

.capd-tests-panel {
  display: grid;
  gap: 12px;
}

.capd-tests-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px solid var(--line);
  padding: 4px 2px 8px;
}

.capd-tests-head h3,
.capd-practical-summary h3 {
  margin: 2px 0 0;
  color: #003f5a;
  font-size: 1rem;
}

.capd-tests-head > span {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 800;
}

.capd-test-list {
  display: grid;
  gap: 10px;
}

.capd-test-item {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(250px, 0.8fr);
  gap: 16px;
  border: 1px solid #dce4e2;
  border-left: 4px solid #5d8c86;
  border-radius: 6px;
  padding: 13px 14px;
  background: #fbfcfc;
}

.capd-test-item:nth-child(2n) {
  border-left-color: #8a775f;
}

.capd-test-item:nth-child(3n) {
  border-left-color: #748455;
}

.capd-test-main {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.capd-test-main > p,
.capd-test-details p,
.capd-practical-summary p {
  margin: 0;
  color: #53666d;
  font-size: 0.8rem;
  line-height: 1.48;
}

.capd-test-title {
  display: flex;
  align-items: baseline;
  gap: 9px;
}

.capd-test-title strong {
  color: #003f5a;
  font-size: 0.98rem;
}

.capd-test-title span {
  color: #354f5a;
  font-size: 0.82rem;
  font-weight: 800;
}

.capd-result-field {
  display: grid;
  gap: 5px;
  margin-top: 3px;
}

.capd-result-field > span {
  color: #003f5a;
  font-size: 0.73rem;
  font-weight: 900;
}

.capd-result-field input {
  min-height: 38px;
  border-color: #b9cbc7;
  background: #fff;
  font-weight: 750;
}

.capd-result-control {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  overflow: hidden;
  border: 1px solid #b9cbc7;
  border-radius: 6px;
  background: #fff;
}

.capd-result-control input {
  width: 100%;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.capd-result-control > span {
  align-self: stretch;
  display: flex;
  align-items: center;
  min-width: 54px;
  border-left: 1px solid #d8e2e0;
  padding: 0 9px;
  color: #45626b;
  background: #f1f6f5;
  font-size: 0.72rem;
  font-weight: 900;
  white-space: nowrap;
}

.capd-result-field small {
  color: #6d7d82;
  font-size: 0.69rem;
  line-height: 1.35;
}

.capd-norm-editor {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 8px;
}

.capd-norm-editor label {
  display: grid;
  gap: 4px;
}

.capd-norm-editor label > span {
  color: #5c7278;
  font-size: 0.66rem;
  font-weight: 850;
}

.capd-norm-editor input {
  min-height: 31px;
  border-color: #ccd9d6;
  background: #f8faf9;
  font-size: 0.73rem;
}

.capd-evaluation-badge {
  min-width: 82px;
  border: 1px solid #d6dfdd;
  border-radius: 6px;
  padding: 6px 8px;
  color: #718087;
  background: #f4f6f6;
  font-size: 0.66rem;
  font-weight: 900;
  text-align: center;
}

.capd-evaluation-badge[data-evaluation="good"] {
  border-color: #a9d5bd;
  color: #26704b;
  background: #edf8f1;
}

.capd-evaluation-badge[data-evaluation="bad"] {
  border-color: #e4b0aa;
  color: #a33b32;
  background: #fff0ee;
}

.capd-result-control[data-evaluation="good"] {
  border-color: #74b590;
  background: #f0faf4;
}

.capd-result-control[data-evaluation="good"] input {
  color: #216b47;
  background: #f0faf4;
}

.capd-result-control[data-evaluation="bad"] {
  border-color: #d98278;
  background: #fff2f0;
}

.capd-result-control[data-evaluation="bad"] input {
  color: #a53830;
  background: #fff2f0;
}

.capd-test-details {
  align-self: start;
  border-left: 1px solid #dce4e2;
  padding-left: 16px;
}

.capd-test-details summary {
  cursor: pointer;
  color: #49645b;
  font-size: 0.76rem;
  font-weight: 900;
}

.capd-test-details[open] summary {
  margin-bottom: 8px;
}

.capd-practical-summary {
  display: grid;
  gap: 10px;
  border-left: 4px solid #7d8f99;
  padding: 12px 14px;
  background: #f5f8f9;
}

.capd-practical-summary ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px 20px;
  margin: 0;
  padding-left: 18px;
  color: #53666d;
  font-size: 0.78rem;
  line-height: 1.4;
}

.capd-report {
  display: grid;
  gap: 16px;
  margin-top: 22px;
}

.capd-report-patient {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(100px, 0.85fr) minmax(110px, 0.85fr) minmax(70px, 0.45fr) minmax(110px, 0.75fr);
  gap: 10px;
}

.capd-report-patient > span {
  display: grid;
  gap: 4px;
  border-left: 3px solid #7d918b;
  padding: 8px 10px;
  color: #6b7c82;
  background: #f6f9f9;
  font-size: 0.68rem;
  font-weight: 800;
}

.capd-report-patient strong {
  color: #173f4e;
  font-size: 0.84rem;
}

.capd-report-table {
  width: 100%;
  min-width: 0;
  table-layout: fixed;
  border-collapse: collapse;
  font-size: 0.76rem;
}

.capd-report-table th,
.capd-report-table td {
  border: 1px solid #d9e2e4;
  padding: 8px 9px;
  text-align: left;
  vertical-align: top;
}

.capd-report-table th {
  color: #244d5d;
  background: #edf3f4;
  font-size: 0.7rem;
}

.capd-report-table th:first-child {
  width: 20%;
}

.capd-report-table th:nth-child(3) {
  width: 17%;
}

.capd-report-table th:last-child {
  width: 18%;
}

.capd-report-table td:first-child strong,
.capd-report-table td:first-child span {
  display: block;
}

.capd-report-table td:first-child strong {
  color: #003f5a;
  font-size: 0.82rem;
}

.capd-report-table td:first-child span {
  margin-top: 2px;
  color: #63767d;
  font-size: 0.68rem;
}

.capd-report-result,
.capd-report-norm {
  white-space: nowrap;
}

.capd-report-result strong,
.capd-report-norm strong {
  color: #003f5a;
  font-size: 0.86rem;
}

.capd-report-result span,
.capd-report-norm span {
  margin-left: 5px;
  color: #61777e;
  font-size: 0.67rem;
  font-weight: 850;
}

.capd-report-norm strong {
  color: #536d73;
  font-size: 0.77rem;
}

.capd-report-result.good strong {
  color: #23704a;
}

.capd-report-result.bad strong {
  color: #aa3d34;
}

.capd-report-conclusions {
  min-height: 110px;
  border: 1px solid #d9e2e4;
  border-left: 4px solid #648d86;
  padding: 12px 14px;
}

.capd-report-conclusions h3 {
  margin: 0 0 8px;
  color: #003f5a;
  font-size: 0.86rem;
}

.capd-report-conclusions p {
  margin: 0;
  color: #344e58;
  font-size: 0.78rem;
  line-height: 1.5;
  white-space: pre-wrap;
}

.capd-report-conclusions p.is-placeholder {
  color: #91a0a5;
}

.capd-report-disclaimer {
  margin: 0;
  color: #687a80;
  font-size: 0.68rem;
  line-height: 1.45;
}

#printCapdReportBtn {
  min-height: 30px;
  padding: 0 12px;
  color: #fff;
  border-color: #2b8a78;
  background: #2b8a78;
  font-size: 0.76rem;
  font-weight: 820;
}

#saveCapdHistoryBtn {
  min-height: 30px;
  padding: 0 12px;
  color: #fff;
  border-color: #426f7a;
  background: #426f7a;
  font-size: 0.76rem;
  font-weight: 820;
}

.capd-history-panel {
  display: grid;
  gap: 12px;
  margin-top: 22px;
  border-top: 1px solid #dbe4e5;
  padding-top: 18px;
}

.capd-history-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
}

.capd-history-head h3 {
  margin: 2px 0 0;
  color: #003f5a;
  font-size: 1rem;
}

.capd-history-head > span {
  color: #5e737a;
  font-size: 0.74rem;
  font-weight: 850;
}

.capd-history-search {
  display: grid;
  grid-template-columns: auto minmax(220px, 420px);
  align-items: center;
  justify-content: start;
  gap: 9px;
}

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

.year-list-separator {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  margin: 15px 1px 2px;
  color: #557078;
  font-size: 0.7rem;
  font-weight: 900;
  line-height: 1;
}

.year-list-separator:first-child {
  margin-top: 2px;
}

.year-list-separator::after {
  content: "";
  flex: 1;
  min-width: 20px;
  border-top: 1px solid #d5dfe1;
}

.year-list-separator > span {
  flex: 0 0 auto;
}

.capd-history-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  border: 1px solid #dce4e5;
  border-left: 4px solid #77908a;
  border-radius: 6px;
  padding: 10px 12px;
  background: #fbfcfc;
}

.capd-history-item.active {
  border-left-color: #167f83;
  background: #f1f9f8;
}

.capd-history-main {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.capd-history-main > strong {
  color: #003f5a;
  font-size: 0.86rem;
}

.capd-history-main > span,
.capd-history-main > small {
  overflow: hidden;
  color: #586d74;
  font-size: 0.71rem;
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.capd-history-main .capd-history-audit {
  color: #879398;
  font-size: 0.65rem;
}

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

.capd-history-delete {
  color: #98473e;
  border-color: #e5c7c3;
}

@media (max-width: 720px) {
  .capd-form-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .capd-test-item {
    grid-template-columns: minmax(0, 1fr);
  }

  .capd-test-details {
    border-top: 1px solid #dce4e2;
    border-left: 0;
    padding-top: 10px;
    padding-left: 0;
  }

  .capd-practical-summary ul {
    grid-template-columns: minmax(0, 1fr);
  }

  .capd-report-patient {
    grid-template-columns: minmax(0, 1fr);
  }

  .capd-history-item,
  .capd-history-search {
    grid-template-columns: minmax(0, 1fr);
  }

  .capd-history-actions {
    justify-content: flex-end;
  }

  .capd-norm-reference-head {
    align-items: stretch;
    flex-direction: column;
  }

  .capd-norm-reference-controls {
    justify-content: stretch;
    flex-direction: column;
  }

  .capd-norm-age-field,
  .capd-norm-version-field {
    width: 100%;
  }

  .capd-norm-editor {
    grid-template-columns: minmax(0, 1fr);
  }

  .capd-evaluation-badge {
    justify-self: start;
  }
}

.vacation-saturday-field {
  border-left: 4px solid #9b7d54;
  padding-left: 12px;
}

.vacation-saturday-choices {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.vacation-saturday-choice {
  position: relative;
  display: inline-grid;
  min-height: 40px;
  gap: 1px;
  justify-items: start;
  border-color: #d9cbbc;
  padding: 6px 34px 6px 9px;
  color: #665749;
  background: #faf7f3;
  text-align: left;
}

.vacation-saturday-choice strong {
  font-size: 0.78rem;
}

.vacation-saturday-choice span {
  color: #75695e;
  font-size: 0.66rem;
  font-weight: 700;
}

.vacation-saturday-choice.active {
  border-color: #927451;
  color: #fff;
  background: #927451;
}

.vacation-saturday-choice.active span {
  color: rgba(255, 255, 255, 0.82);
}

.vacation-saturday-choice .vacation-saturday-status,
.vacation-saturday-holiday-list .vacation-saturday-status {
  display: inline-flex;
  width: 22px;
  min-width: 22px;
  height: 22px;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  font-size: 0.84rem;
  font-weight: 900;
  line-height: 1;
}

.vacation-saturday-choice .vacation-saturday-status {
  position: absolute;
  top: 5px;
  right: 5px;
}

[data-status="used"] .vacation-saturday-status {
  color: #276348;
  background: #e5f4eb;
}

.vacation-saturday-choice.active[data-status="used"] .vacation-saturday-status {
  color: #276348;
}

[data-status="expired"] .vacation-saturday-status {
  color: #943f36;
  background: #fbe9e6;
}

.vacation-saturday-choice.active[data-status="expired"] .vacation-saturday-status {
  color: #943f36;
}

[data-status="pending"] .vacation-saturday-status {
  color: #775620;
  background: #fff1d8;
}

.vacation-saturday-choice.active[data-status="pending"] .vacation-saturday-status {
  color: #775620;
}

[data-status="available"] .vacation-saturday-status {
  display: none;
}

.vacation-date-range {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.vacation-date-range > label {
  display: grid;
  gap: 6px;
}

.vacation-hours-field {
  max-width: 230px;
}

#vacationNotesInput {
  min-height: 76px;
  resize: vertical;
}

.vacation-owner-leave-field {
  display: flex !important;
  min-height: 40px;
  align-items: center;
  gap: 8px;
  border-left: 4px solid #3a8a7f;
  padding: 8px 10px;
  background: #edf7f4;
}

.vacation-owner-leave-field input {
  width: 17px;
  height: 17px;
  margin: 0;
}

.vacation-owner-leave-field span {
  color: #315f48;
  font-size: 0.76rem;
}

.vacation-conflict-notice {
  margin: -4px 0 0;
  border-left: 4px solid #c95d4f;
  padding: 9px 11px;
  color: #843c34;
  background: #fdf0ed;
  font-size: 0.78rem;
  font-weight: 750;
}

.private-form-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding-top: 2px;
}

.private-form-actions button {
  min-height: 32px;
  padding: 0 11px;
  font-size: 0.76rem;
}

.vacation-year-field {
  display: flex;
  align-items: center;
  gap: 8px;
}

.vacation-year-field select {
  width: 104px;
  padding: 7px 9px;
  font-weight: 850;
}

.vacation-admin {
  display: grid;
  grid-template-columns: minmax(190px, 1fr) minmax(240px, 1.5fr) 150px auto;
  gap: 12px;
  align-items: end;
  margin-bottom: 20px;
  padding: 14px 0 18px;
  border-bottom: 1px solid var(--line);
}

.vacation-admin h3,
.vacation-section-head h3 {
  margin: 2px 0 0;
  color: #003f5a;
  font-size: 1rem;
}

.vacation-admin > label {
  display: grid;
  gap: 6px;
}

.vacation-admin > button {
  min-height: 39px;
  padding-inline: 12px;
  white-space: nowrap;
}

.vacation-pending-reminder {
  display: grid;
  width: 100%;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  margin: 0 0 15px;
  border: 1px solid #cadbd6;
  border-left: 4px solid #78a79a;
  border-radius: 8px;
  padding: 10px 12px;
  color: #3f675c;
  background: #f6faf8;
  text-align: left;
}

.vacation-pending-reminder-marker {
  display: inline-flex;
  width: 32px;
  height: 32px;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  color: #3f7164;
  background: #dfeee9;
  font-size: 0.88rem;
  font-weight: 900;
}

.vacation-pending-reminder-content {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.vacation-pending-reminder-content strong {
  color: #315f54;
  font-size: 0.82rem;
}

.vacation-pending-reminder-content > span {
  overflow: hidden;
  color: #6b817a;
  font-size: 0.71rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vacation-pending-reminder-action {
  color: #527e72;
  font-size: 0.72rem;
  font-weight: 900;
}

.vacation-employee-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 0 0 18px;
  padding: 2px 8px 0;
}

.vacation-employee-entry {
  position: relative;
  display: flex;
  min-width: 0;
  margin-top: 8px;
}

.vacation-employee-picker-label {
  margin: 0 0 7px;
  color: #003f5a;
  font-size: 0.78rem;
  font-weight: 900;
}

.vacation-employee-item {
  display: grid;
  width: 100%;
  min-height: 56px;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas:
    "employee-name employee-place"
    "employee-allowance employee-place";
  align-items: center;
  column-gap: 9px;
  row-gap: 2px;
  border-color: #cbdad5;
  padding: 8px 11px 8px 20px;
  color: #315f48;
  background: #f3f8f5;
  font-size: 0.84rem;
  text-align: left;
}

.vacation-employee-entry.can-delete .vacation-employee-item {
  padding-right: 31px;
}

.vacation-employee-item > strong {
  grid-area: employee-name;
  min-width: 0;
  overflow: hidden;
  color: #244e59;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vacation-employee-item .vacation-employee-allowance {
  grid-area: employee-allowance;
  color: var(--muted);
  font-size: 0.69rem;
  font-weight: 750;
  white-space: nowrap;
}

.vacation-employee-item.active {
  border-color: #9ebeb7;
  color: #315f48;
  background: #eef6f3;
  box-shadow: inset 0 0 0 1px rgba(0, 122, 122, 0.08);
}

.vacation-employee-item.active > strong {
  color: #003f5a;
}

.vacation-employee-item.active .vacation-employee-allowance {
  color: var(--muted);
}

.vacation-employee-entry[data-location-tone="T12"] .vacation-employee-item {
  border-color: #e2ddd7;
  border-left: 4px solid #b5a899;
  color: #6f604f;
  background: linear-gradient(90deg, #faf8f5 0, #ffffff 46%);
}

.vacation-employee-entry[data-location-tone="P50"] .vacation-employee-item {
  border-color: #e0e4c9;
  border-left: 4px solid #b4c184;
  color: #616b2f;
  background: linear-gradient(90deg, #f7faec 0, #ffffff 46%);
}

.vacation-employee-entry[data-location-tone="P63"] .vacation-employee-item {
  border-color: #e4dce9;
  border-left: 4px solid #bea9cf;
  color: #7b628b;
  background: linear-gradient(90deg, #faf6fc 0, #ffffff 46%);
}

.vacation-employee-entry[data-location-tone="T12"] .vacation-employee-item.active {
  border-color: #b5a899;
  border-left-color: #8f806f;
  background: linear-gradient(90deg, #f5f1ec 0, #ffffff 58%);
  box-shadow: inset 0 0 0 1px rgba(123, 109, 91, 0.14);
}

.vacation-employee-entry[data-location-tone="P50"] .vacation-employee-item.active {
  border-color: #b4c184;
  border-left-color: #8f9b5f;
  background: linear-gradient(90deg, #f1f5df 0, #ffffff 58%);
  box-shadow: inset 0 0 0 1px rgba(97, 107, 47, 0.14);
}

.vacation-employee-entry[data-location-tone="P63"] .vacation-employee-item.active {
  border-color: #bea9cf;
  border-left-color: #957cac;
  background: linear-gradient(90deg, #f4edf8 0, #ffffff 58%);
  box-shadow: inset 0 0 0 1px rgba(123, 98, 139, 0.14);
}

.vacation-employee-percent {
  position: absolute;
  top: -8px;
  left: -7px;
  z-index: 2;
  display: inline-flex;
  width: 28px;
  min-width: 28px;
  height: 28px;
  align-items: center;
  justify-content: center;
  border: 1px solid #a99a88;
  border-radius: 50%;
  color: #665748;
  background: #eee9e2;
  font-size: 0.65rem;
  font-weight: 900;
}

.vacation-employee-item.active .vacation-employee-percent {
  border-color: #d4c8b9;
  color: #5f5143;
  background: #f5f1eb;
}

.vacation-employee-entry[data-employee-tone="owner"] .vacation-employee-percent {
  border-color: #79b8b2;
  color: #176d69;
  background: #e1f3f1;
}

.vacation-employee-delete {
  position: absolute;
  top: 5px;
  right: 5px;
  width: 20px;
  min-width: 20px;
  height: 20px;
  min-height: 20px;
  border: 0;
  border-radius: 5px;
  padding: 0;
  color: #8b5b56;
  background: rgba(255, 255, 255, 0.72);
  font-size: 0.9rem;
  line-height: 1;
}

.vacation-employee-workstation {
  display: inline-flex;
  grid-area: employee-place;
  align-items: center;
  align-self: center;
  min-height: 21px;
  border: 1px solid;
  border-radius: 6px;
  padding: 2px 5px;
  font-size: 0.66rem;
  font-weight: 850;
  white-space: nowrap;
}

@media (max-width: 980px) {
  .vacation-employee-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .vacation-employee-list {
    grid-template-columns: minmax(0, 1fr);
  }
}

.vacation-employee-workstation[data-location-tone="T12"] {
  border-color: #c9bfb3;
  color: #6f604f;
  background: #faf8f5;
}

.vacation-employee-workstation[data-location-tone="P50"] {
  border-color: #c7cf9d;
  color: #616b2f;
  background: #f7faec;
}

.vacation-employee-workstation[data-location-tone="P63"] {
  border-color: #d3c1de;
  color: #7b628b;
  background: #faf6fc;
}

.vacation-employee-item.active .vacation-employee-workstation {
  filter: saturate(1.08);
}

.vacation-private-detail {
  color: #7d8a8f;
  font-style: italic;
}

.vacation-employee-delete:hover {
  border-color: #b75f56;
  color: #fff;
  background: #b75f56;
}

.vacation-type-field {
  display: grid;
  gap: 7px;
}

.vacation-type-field > span {
  color: #003f5a;
  font-size: 0.78rem;
  font-weight: 900;
}

.vacation-type-choices {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
}

.vacation-type-choices button {
  min-height: 40px;
  border-color: #d4dde0;
  padding: 6px 9px;
  color: #526873;
  background: #f6f8f8;
  font-size: 0.74rem;
}

.vacation-type-choices button[data-vacation-type="WYPOCZYNKOWY"].active {
  border-color: #4c8d78;
  color: #fff;
  background: #4c8d78;
}

.vacation-type-choices button[data-vacation-type="ZA SOBOTĘ"].active {
  border-color: #927451;
  color: #fff;
  background: #927451;
}

.vacation-type-choices button[data-vacation-type="NA ŻĄDANIE"].active {
  border-color: #b07845;
  color: #fff;
  background: #b07845;
}

.vacation-type-choices button[data-vacation-type="INNY"].active {
  border-color: #667985;
  color: #fff;
  background: #667985;
}

.vacation-overview {
  margin-top: 24px;
  border-top: 1px solid var(--line);
  padding-top: 18px;
}

.vacation-summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--line);
}

.vacation-summary > div {
  display: grid;
  gap: 2px;
  padding: 12px 14px;
  background: #fff;
}

.vacation-summary.gabinet-view {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.vacation-expected-card {
  background: #f4f8f9 !important;
}

.vacation-expected-card strong {
  font-size: 1.08rem;
  white-space: nowrap;
}

.vacation-expected-card[data-tone="balanced"] {
  background: #eaf6ef !important;
}

.vacation-expected-card[data-tone="balanced"] strong {
  color: #276348;
}

.vacation-expected-card[data-tone="behind"] {
  background: #fff7e8 !important;
}

.vacation-expected-card[data-tone="behind"] strong {
  color: #7b5b25;
}

.vacation-expected-card[data-tone="ahead"] {
  background: #fbecea !important;
}

.vacation-expected-card[data-tone="ahead"] strong {
  color: #8d4038;
}

.vacation-remaining-card[data-tone="good"] {
  background: #eaf6ef;
}

.vacation-remaining-card[data-tone="good"] strong {
  color: #276348;
}

.vacation-remaining-card[data-tone="warning"] {
  background: #fff4df;
}

.vacation-remaining-card[data-tone="warning"] strong {
  color: #835d1e;
}

.vacation-remaining-card[data-tone="critical"] {
  background: #fbe9e6;
}

.vacation-remaining-card[data-tone="critical"] strong {
  color: #943f36;
}

.vacation-summary strong {
  color: #003f5a;
  font-size: 1.25rem;
}

.vacation-summary span {
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 750;
}

.vacation-saturday-holidays,
.vacation-history-section {
  margin-top: 22px;
}

.vacation-section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 10px;
}

.vacation-section-head > span {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 800;
}

.vacation-saturday-holiday-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.vacation-saturday-holiday-list > div {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-left: 4px solid #9b7d54;
  padding: 8px 10px;
  background: #f7f4ef;
  font-size: 0.8rem;
}

.vacation-saturday-holiday-list span {
  color: var(--muted);
}

.vacation-saturday-holiday-list > div[data-status="used"] {
  border-left-color: #4f8c6a;
  background: #f1f8f4;
}

.vacation-saturday-holiday-list > div[data-status="expired"] {
  border-left-color: #bd6a61;
  background: #fdf4f2;
}

.vacation-history-table-wrap {
  overflow-x: auto;
}

.vacation-history-table {
  width: 100%;
  min-width: 960px;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: 0.78rem;
}

.vacation-history-table th,
.vacation-history-table td {
  border-bottom: 1px solid var(--line);
  padding: 9px 8px;
  text-align: left;
  vertical-align: middle;
}

.vacation-history-table th {
  color: #45616e;
  background: #f4f7f7;
  font-size: 0.69rem;
  text-transform: uppercase;
}

.vacation-history-table th:nth-child(3),
.vacation-history-table td:nth-child(3) {
  white-space: nowrap;
}

.vacation-history-table th:nth-child(1),
.vacation-history-table td:nth-child(1) {
  width: 150px;
}

.vacation-history-table th:nth-child(2),
.vacation-history-table td:nth-child(2) {
  width: 150px;
}

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

.vacation-history-table th:nth-child(4),
.vacation-history-table td:nth-child(4) {
  width: 80px;
  text-align: center;
}

.vacation-history-table th:nth-child(5),
.vacation-history-table td:nth-child(5) {
  width: 220px;
}

.vacation-history-employee {
  color: #003f5a;
  font-weight: 850;
}

.vacation-history-term .vacation-history-date {
  display: inline-flex;
  border-radius: 6px;
  padding: 5px 8px;
  color: #365b6a;
  background: #edf4f6;
  font-weight: 850;
}

.vacation-history-weekday {
  display: block;
  margin-top: 3px;
  color: #718289;
  font-size: 0.64rem;
  font-weight: 750;
  text-transform: lowercase;
}

.vacation-history-days strong {
  display: inline-flex;
  min-width: 30px;
  min-height: 28px;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  color: #315f48;
  background: #e8f3ed;
  font-size: 0.84rem;
}

.vacation-history-days.vacation-days-not-deducted strong {
  color: #666f35;
  background: #f1f4df;
}

.vacation-history-status {
  white-space: normal;
}

.vacation-history-actions {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-left: 7px;
  vertical-align: middle;
}

.vacation-history-actions .vacation-reject-btn,
.vacation-history-actions .vacation-delete-btn {
  margin-left: 0;
}

.vacation-status {
  display: inline-flex;
  border-radius: 6px;
  padding: 4px 7px;
  font-size: 0.68rem;
  font-weight: 850;
}

.vacation-status-oczekuje {
  color: #775620;
  background: #fff1d8;
}

.vacation-status-zatwierdzony {
  color: #276348;
  background: #e5f4eb;
}

.vacation-status-odrzucony {
  color: #8b3f38;
  background: #fbe8e5;
}

.vacation-edit-btn,
.vacation-approve-btn,
.vacation-reject-btn {
  min-height: 27px;
  padding: 3px 7px;
  font-size: 0.68rem;
}

.vacation-edit-btn {
  color: #315f70;
  background: #e8f1f4;
}

.vacation-delete-btn {
  min-height: 27px;
  margin-left: 5px;
  padding: 3px 7px;
  color: #7e4a43;
  background: #f7efed;
  font-size: 0.68rem;
}

.date-picker-day.vacation-occupied {
  border-color: #e2a099;
  color: #913d34;
  background: #fce9e6;
}

.date-picker-day.vacation-occupied:hover {
  border-color: #c95d4f;
  color: #7e322b;
  background: #f8dcd7;
}

.date-picker-day.vacation-occupied.selected {
  border-color: #b94e43;
  color: #fff;
  background: #b94e43;
  box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.35);
}

.date-picker-day.vacation-own-leave {
  --vacation-own-border: #82c8c1;
  --vacation-own-color: #176963;
  --vacation-own-background: #e5f5f3;
  --vacation-own-hover-border: #54aaa1;
  --vacation-own-hover-background: #d3eeeb;
  --vacation-own-selected: #348f87;
  border-color: var(--vacation-own-border);
  color: var(--vacation-own-color);
  background: var(--vacation-own-background);
}

.date-picker-day.vacation-own-leave:hover {
  border-color: var(--vacation-own-hover-border);
  color: var(--vacation-own-color);
  background: var(--vacation-own-hover-background);
}

.date-picker-day.vacation-own-leave.selected {
  border-color: var(--vacation-own-selected);
  color: #fff;
  background: var(--vacation-own-selected);
  box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.42);
}

.date-picker-day.vacation-own-t12 {
  --vacation-own-border: #c9bfb3;
  --vacation-own-color: #6f604f;
  --vacation-own-background: #faf8f5;
  --vacation-own-hover-border: #aa9987;
  --vacation-own-hover-background: #f0ece6;
  --vacation-own-selected: #877565;
}

.date-picker-day.vacation-own-p50 {
  --vacation-own-border: #bdc995;
  --vacation-own-color: #5e6b2d;
  --vacation-own-background: #f0f4e2;
  --vacation-own-hover-border: #99aa62;
  --vacation-own-hover-background: #e5ebcf;
  --vacation-own-selected: #7d8e47;
}

.date-picker-day.vacation-own-p63 {
  --vacation-own-border: #c9b4d6;
  --vacation-own-color: #70577f;
  --vacation-own-background: #f2ebf6;
  --vacation-own-hover-border: #a789b9;
  --vacation-own-hover-background: #e9ddf0;
  --vacation-own-selected: #8d6d9f;
}

.vacation-approve-btn {
  color: #276348;
  background: #e5f4eb;
}

.vacation-reject-btn {
  margin-left: 5px;
  color: #8b3f38;
  background: #fbe8e5;
}

.tabs {
  display: flex;
  align-items: end;
  gap: 4px;
  margin: 12px 0 0;
  border-bottom: 1px solid var(--line);
}

.tab-button {
  min-width: 140px;
  border-radius: 8px 8px 0 0;
  border: 1px solid var(--line);
  border-bottom: 0;
  color: var(--muted);
  background: rgba(255, 255, 255, 0.86);
  box-shadow: none;
}

.tab-button:hover {
  color: var(--ink);
  background: #fff;
}

.tab-button.active {
  position: relative;
  top: 1px;
  color: var(--accent);
  background: rgba(255, 255, 255, 0.97);
  border-color: var(--line);
  box-shadow: 0 -6px 20px rgba(28, 31, 36, 0.06);
}

.view-section {
  padding-top: 16px;
}

.pricing-panel {
  display: grid;
  gap: 12px;
  margin-top: 12px;
  padding: 14px;
  border: 1px solid rgba(216, 221, 227, 0.78);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.95);
}

.pricing-subtabs {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 4px;
  border-bottom: 1px solid rgba(216, 221, 227, 0.85);
}

#pricingNotebook[data-mode="pricing"] .pricing-subtabs {
  display: none;
}

#pricingNotebook[data-mode="agreements"] .pricing-view-button[data-pricing-view="list"] {
  display: none;
}

.pricing-view-button {
  min-height: 30px;
  border: 0;
  border-radius: 6px 6px 0 0;
  padding: 0 12px;
  color: var(--muted);
  background: transparent;
  font-size: 0.78rem;
  font-weight: 820;
}

.pricing-view-button:hover {
  color: var(--ink);
  background: #f4f8f7;
  transform: none;
}

.pricing-view-button.active {
  color: #003f5a;
  background: #ffffff;
  box-shadow: inset 0 -2px 0 #2b8a78;
}

.pricing-view-section[hidden] {
  display: none;
}

.pricing-update {
  display: inline-grid;
  gap: 2px;
  border-radius: 8px;
  padding: 7px 10px;
  background: #f3f7f6;
}

.pricing-restore-stack {
  display: grid;
  gap: 6px;
  align-self: end;
  min-width: 150px;
}

.pricing-restore-stack .pricing-update {
  width: 100%;
}

.pricing-restore-stack .reset-filters-btn {
  width: 100%;
}

.pricing-update span,
.pricing-empty span {
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 800;
  text-transform: uppercase;
}

.pricing-update time {
  color: #003f5a;
  font-size: 0.88rem;
  font-weight: 850;
}

.pricing-empty {
  display: block;
  border-top: 1px solid rgba(216, 221, 227, 0.62);
  padding: 10px 2px 0;
}

.pricing-empty strong {
  color: #31515f;
  font-size: 0.92rem;
}

.pricing-controls {
  grid-template-columns: minmax(230px, 1fr) 140px 160px 155px 200px auto auto 145px;
  gap: 10px;
  margin-bottom: 0;
}

.pricing-price-filter {
  display: grid;
  gap: 6px;
}

.pricing-price-filter > span {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
}

.pricing-price-filter-inputs {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 6px;
}

.pricing-price-filter-inputs input {
  min-width: 0;
  text-align: right;
}

.pricing-price-filter-inputs span {
  color: var(--muted);
  font-size: 0.7rem;
}

.pricing-table {
  table-layout: fixed;
  min-width: 1240px;
}

.pricing-table th:nth-child(1),
.pricing-table td:nth-child(1) {
  width: 48px;
  text-align: right;
}

.pricing-table th:nth-child(2),
.pricing-table td:nth-child(2) {
  width: 100px;
}

.pricing-table th:nth-child(3),
.pricing-table td:nth-child(3) {
  width: 110px;
}

.pricing-table th:nth-child(4),
.pricing-table td:nth-child(4) {
  width: 30%;
}

.pricing-table th:nth-child(5),
.pricing-table td:nth-child(5) {
  width: 150px;
}

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

.pricing-table th:nth-child(7),
.pricing-table td:nth-child(7) {
  width: 62px;
  text-align: center;
}

.pricing-table th:nth-child(7),
.pricing-table th:nth-child(9) {
  color: rgba(255, 255, 255, 0.48);
  background: #405158;
  font-size: 0.66rem;
  font-weight: 700;
}

.pricing-table td:nth-child(7),
.pricing-table td:nth-child(9) {
  color: #9ba7ab;
  font-size: 0.68rem;
  font-weight: 600;
  opacity: 0.62;
}

.pricing-table th:nth-child(8),
.pricing-table td:nth-child(8) {
  width: 140px;
  text-align: right;
}

.pricing-table th:nth-child(9),
.pricing-table td:nth-child(9) {
  width: 85px;
}

.pricing-table th:nth-child(10),
.pricing-table td:nth-child(10) {
  width: 70px;
  text-align: center;
}

.pricing-offer-action-cell {
  justify-content: center;
}

.pricing-add-offer-btn {
  min-width: 28px;
  min-height: 26px;
  flex: 0 0 auto;
  padding: 0 8px;
  color: #175f52;
  background: #eef7f3;
  border-color: #bfd8cf;
  font-size: 0.86rem;
  font-weight: 900;
}

.pricing-add-offer-btn:hover {
  color: #fff;
  background: #2b8a78;
  border-color: #2b8a78;
  transform: none;
}

.pricing-add-offer-btn:disabled {
  cursor: not-allowed;
}

.pricing-name-cell {
  color: #173f55;
  font-weight: 750;
}

.pricing-table tbody tr.pricing-manufacturer-row {
  --pricing-tone-bg: #f7faf9;
  --pricing-tone-bg-strong: #eef5f3;
  --pricing-tone-accent: #8facaa;
  --pricing-tone-text: #315760;
  background: linear-gradient(90deg, color-mix(in srgb, var(--pricing-tone-bg) 46%, #fff) 0, #fff 58%);
}

.pricing-table tbody tr.pricing-manufacturer-row:hover {
  background: linear-gradient(90deg, color-mix(in srgb, var(--pricing-tone-bg-strong) 50%, #fff) 0, #fbfcfc 58%);
}

.pricing-table tbody tr.pricing-manufacturer-row td:first-child {
  box-shadow: inset 4px 0 0 color-mix(in srgb, var(--pricing-tone-accent) 72%, #fff);
}

.pricing-manufacturer-cell {
  color: var(--pricing-tone-text);
  background: linear-gradient(90deg, color-mix(in srgb, var(--pricing-tone-bg-strong) 58%, #fff), color-mix(in srgb, var(--pricing-tone-bg) 42%, #fff));
  font-weight: 760;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.55);
}

.pricing-manufacturer-tone-0 {
  --pricing-tone-bg: #f0faf7;
  --pricing-tone-bg-strong: #e3f2ee;
  --pricing-tone-accent: #75afa2;
  --pricing-tone-text: #236058;
}

.pricing-manufacturer-tone-1 {
  --pricing-tone-bg: #f4f9ee;
  --pricing-tone-bg-strong: #e9f1de;
  --pricing-tone-accent: #9bb36a;
  --pricing-tone-text: #526832;
}

.pricing-manufacturer-tone-2 {
  --pricing-tone-bg: #eef8fb;
  --pricing-tone-bg-strong: #e0eff5;
  --pricing-tone-accent: #79aec9;
  --pricing-tone-text: #2d5d72;
}

.pricing-manufacturer-tone-3 {
  --pricing-tone-bg: #fff3f5;
  --pricing-tone-bg-strong: #f7e7eb;
  --pricing-tone-accent: #d28b99;
  --pricing-tone-text: #7a4652;
}

.pricing-manufacturer-tone-4 {
  --pricing-tone-bg: #f7f4fb;
  --pricing-tone-bg-strong: #ece7f3;
  --pricing-tone-accent: #b09aca;
  --pricing-tone-text: #5d4d72;
}

.pricing-manufacturer-tone-5 {
  --pricing-tone-bg: #fff8eb;
  --pricing-tone-bg-strong: #f4ead3;
  --pricing-tone-accent: #caa363;
  --pricing-tone-text: #6d5426;
}

.pricing-manufacturer-tone-6 {
  --pricing-tone-bg: #f0f9f1;
  --pricing-tone-bg-strong: #e4f1e6;
  --pricing-tone-accent: #82b987;
  --pricing-tone-text: #3d6747;
}

.pricing-manufacturer-tone-7 {
  --pricing-tone-bg: #fff2ed;
  --pricing-tone-bg-strong: #f6e5dd;
  --pricing-tone-accent: #d29579;
  --pricing-tone-text: #7a4c3d;
}

.pricing-manufacturer-tone-8 {
  --pricing-tone-bg: #f3f7f8;
  --pricing-tone-bg-strong: #e6eef1;
  --pricing-tone-accent: #8ba9b4;
  --pricing-tone-text: #486470;
}

.pricing-manufacturer-tone-9 {
  --pricing-tone-bg: #f8faef;
  --pricing-tone-bg-strong: #eef2df;
  --pricing-tone-accent: #b1bd6f;
  --pricing-tone-text: #5e6b34;
}

.pricing-manufacturer-tone-10 {
  --pricing-tone-bg: #effafa;
  --pricing-tone-bg-strong: #e1f2f1;
  --pricing-tone-accent: #72b8b4;
  --pricing-tone-text: #2c6461;
}

.pricing-manufacturer-tone-11 {
  --pricing-tone-bg: #fbf3f8;
  --pricing-tone-bg-strong: #f2e6ee;
  --pricing-tone-accent: #cb92b3;
  --pricing-tone-text: #774f67;
}

.pricing-price-cell {
  color: #2d5f42;
  font-weight: 800;
  font-size: 0.94rem;
  white-space: nowrap;
}

.price-amount {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.price-thousand-group {
  display: inline-block;
  color: #245665;
  font-weight: 830;
}

.price-group-separator {
  position: relative;
  display: inline-block;
  width: 0.28em;
  min-width: 0.28em;
}

.price-group-separator-inner {
  display: inline-block;
  width: 0.2em;
  min-width: 0.2em;
}

.price-group-separator::after {
  content: none;
}

.price-rest-group {
  display: inline-block;
}

.pricing-price-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  width: 100%;
}

.pricing-price-value {
  min-width: 0;
}

.pricing-price-edit-btn {
  min-height: 24px;
  padding: 0 6px;
  color: #48616d;
  background: #f4f8f8;
  border-color: #c8d7dc;
  font-size: 0.63rem;
  font-weight: 820;
}

.pricing-price-edit-btn:hover {
  color: #003f5a;
  background: #e7f1f2;
  border-color: #a9c2ca;
  transform: none;
}

.pricing-remove-btn {
  width: 24px;
  min-width: 24px;
  min-height: 24px;
  padding: 0;
  font-size: 1rem;
  font-weight: 850;
  line-height: 1;
}

.pricing-offer-section,
.pricing-pcpr-section,
.pricing-history-section,
.pricing-order-section,
.pricing-complaint-section {
  display: grid;
  gap: 12px;
}

.pricing-history-section {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
}

.pricing-history-section .loan-history-panel {
  margin-top: 0;
}

.offer-builder {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(216, 221, 227, 0.76);
  border-radius: 8px;
  background: #fbfdfd;
}

.offer-form-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  align-items: end;
}

.offer-option-field,
.offer-pfron-field,
.offer-device-field {
  grid-column: span 2;
}

.offer-device-field {
  display: grid;
  gap: 6px;
  padding: 8px 10px 10px;
  border: 1.5px solid #d6e2e5;
  border-left-width: 4px;
  border-radius: 8px;
}

.offer-device-right {
  grid-column: 1 / span 2;
  grid-row: 2;
  border-color: #efc7c1;
  border-left-color: #cb5d52;
  background: #fff5f3;
}

.offer-device-left {
  grid-column: 3 / span 2;
  grid-row: 2;
  border-color: #c6ddea;
  border-left-color: #4e91b4;
  background: #f2f9fc;
}

.offer-device-right > span {
  color: #a33d35;
}

.offer-device-left > span {
  color: #24698c;
}

.offer-accessory-field {
  display: grid;
  grid-column: span 2;
  gap: 6px;
}

.offer-accessory-field > span {
  color: #536a75;
  font-size: 0.78rem;
  font-weight: 850;
}

.offer-charger-field {
  grid-column: 1 / span 2;
  grid-row: 3;
}

.offer-earmold-field {
  grid-column: 3 / span 2;
  grid-row: 3;
}

.offer-accessory-field input {
  border-left: 4px solid #82a9a1;
  background: #f8fbfa;
}

.offer-device-field > span {
  font-size: 0.82rem;
  font-weight: 900;
}

.offer-customer-field {
  grid-column: span 2;
}

.offer-age-field,
.offer-date-field,
.offer-location-field {
  grid-column: span 1;
}

.offer-location-field {
  grid-column: 1 / span 2;
  grid-row: 4;
}

.offer-option-field {
  grid-column: 1 / span 2;
  grid-row: 5;
}

.offer-pfron-field {
  grid-column: 3 / span 2;
  grid-row: 5;
}

.offer-option-field,
.offer-pfron-field {
  display: grid;
  gap: 6px;
}

.offer-option-field > span,
.offer-pfron-field > span {
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 800;
}

.offer-check-line {
  min-height: 39px;
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid #d5e1e4;
  border-radius: 8px;
  padding: 0 10px;
  color: #365560;
  background: #f7fbfb;
  font-size: 0.82rem;
  font-weight: 760;
}

.offer-check-line input {
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: #2b8a78;
}

#offerPfronInput:disabled {
  color: #8a969c;
  background: #f1f5f6;
}

.offer-age-warning {
  margin: 0;
  padding: 8px 10px;
  border: 1px solid #f0c7bd;
  border-radius: 8px;
  color: #8a3d32;
  background: #fff6f3;
  font-size: 0.8rem;
  font-weight: 760;
}

.offer-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

.offer-actions button.has-unsaved-changes {
  border-color: #69aaa0;
  color: #075c57;
  background: #eaf7f4;
  box-shadow: 0 0 0 2px rgba(43, 138, 120, 0.1);
}

.offer-actions button.save-reminder-active {
  border-color: #d79a70;
  color: #874b24;
  background: #fff3e9;
  box-shadow: 0 0 0 3px rgba(199, 112, 52, 0.12);
}

.agreement-save-reminder {
  display: inline-flex;
  min-height: 24px;
  align-items: center;
  border: 1px solid #edc7aa;
  border-radius: 6px;
  padding: 2px 7px;
  color: #89542d;
  background: #fff7f0;
  font-size: 0.66rem;
  font-weight: 820;
  white-space: nowrap;
}

.agreement-save-reminder[hidden] {
  display: none;
}

#printPricingOfferBtn,
#printPricingLoanBtn,
#printPricingOrderBtn,
#printPricingComplaintBtn {
  min-height: 30px;
  padding: 0 12px;
  color: #fff;
  background: #2b8a78;
  border-color: #2b8a78;
  font-size: 0.76rem;
  font-weight: 820;
}

#printPricingOfferBtn:hover,
#printPricingLoanBtn:hover,
#printPricingOrderBtn:hover,
#printPricingComplaintBtn:hover {
  color: #fff;
  background: #257867;
  border-color: #257867;
  transform: none;
}

.offer-document {
  width: min(100%, 860px);
  margin: 0 auto;
  padding: 22px 24px;
  border: 1px solid rgba(190, 205, 212, 0.9);
  border-radius: 8px;
  color: #1f3038;
  background: #fff;
}

.offer-document-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
  padding-bottom: 12px;
  border-bottom: 2px solid #003f5a;
}

.offer-document-head p {
  margin: 0 0 4px;
  color: #2b8a78;
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.offer-document-head h2 {
  margin: 0 0 5px;
  color: #003f5a;
  font-size: 1.34rem;
  line-height: 1.15;
}

.offer-document-head span {
  color: #5c6870;
  font-size: 0.82rem;
  font-weight: 720;
}

.offer-document-head img {
  width: 54px;
  height: 54px;
  object-fit: contain;
}

.offer-locations {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 14px 0 0;
  color: #314852;
  font-style: normal;
  font-size: 0.74rem;
  line-height: 1.28;
}

.offer-locations > span {
  padding: 7px 8px;
  border-left: 3px solid #8fb9c4;
  background: #f6fafb;
}

.offer-locations strong {
  color: #003f5a;
  font-size: 0.76rem;
}

.location-main,
.location-phone {
  display: block;
}

.location-phone {
  margin-top: 3px;
  color: #52656d;
  font-weight: 820;
}

.location-nowrap {
  white-space: nowrap;
}

.document-gabinet-title {
  margin: 14px 0 6px;
  color: #003f5a;
  font-size: 0.8rem;
  font-weight: 850;
}

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

.document-gabinet-locations > span {
  display: grid;
  gap: 3px;
  align-items: start;
  padding: 7px 8px;
  border-left: 3px solid #8fb9c4;
  border-radius: 8px;
  background: #f6fafb;
}

.document-gabinet-locations .document-gabinet-city {
  color: #003f5a;
  font-size: 0.76rem;
  font-weight: 850;
}

.document-gabinet-locations .document-gabinet-line {
  color: #314852;
  font-size: 0.74rem;
  line-height: 1.22;
}

.document-gabinet-locations .location-phone {
  margin-top: 1px;
  color: #52656d;
  font-weight: 820;
  text-align: left;
  white-space: nowrap;
}

.offer-empty-state {
  margin: 0;
  color: var(--muted);
  font-weight: 760;
}

.offer-items-table,
.offer-payments-table {
  width: 100%;
  margin-top: 12px;
  border-collapse: collapse;
  table-layout: fixed;
}

.offer-items-table th,
.offer-items-table td,
.offer-payments-table th,
.offer-payments-table td {
  padding: 9px 10px;
  border: 1px solid #d6e0e4;
  text-align: left;
  vertical-align: top;
}

.offer-items-table th,
.offer-payments-table th {
  color: #274653;
  background: #eef5f5;
  font-size: 0.72rem;
  text-transform: uppercase;
}

.offer-items-table th:nth-child(1),
.offer-items-table td:nth-child(1) {
  width: 42px;
  text-align: center;
}

.offer-items-table th:nth-child(3),
.offer-items-table td:nth-child(3) {
  width: 112px;
}

.offer-items-table th:nth-child(4),
.offer-items-table td:nth-child(4),
.offer-payments-table th:nth-child(3),
.offer-payments-table td:nth-child(3) {
  width: 130px;
  text-align: right;
  white-space: nowrap;
}

.offer-items-table th:nth-child(5),
.offer-items-table td:nth-child(5) {
  width: 72px;
  text-align: center;
}

.offer-items-table strong {
  display: block;
  color: #003f5a;
  font-size: 0.94rem;
  line-height: 1.22;
}

.offer-age-mismatch td {
  background: #fff8f5;
}

.offer-age-mismatch td:nth-child(3) {
  color: #9b3f32;
  font-weight: 860;
}

.offer-remove-item-btn {
  min-height: 26px;
  padding: 0 8px;
  color: #7a4338;
  background: #fff4f1;
  border-color: #e4c1b9;
  font-size: 0.68rem;
  font-weight: 820;
}

.offer-remove-item-btn:hover {
  color: #fff;
  background: #9d4d3f;
  border-color: #9d4d3f;
  transform: none;
}

.offer-payments-table .payer-cell {
  color: #164f46;
  font-weight: 850;
}

.amount-cell {
  color: #1f5d3d;
  font-weight: 850;
}

.offer-total-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 14px;
  padding: 12px 14px;
  border: 1px solid #c9ddd7;
  border-radius: 8px;
  color: #153d38;
  background: #f0f8f5;
  font-weight: 860;
}

.offer-total-line strong {
  color: #003f5a;
  font-size: 1.16rem;
}

.order-form-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  align-items: end;
}

.order-wide {
  grid-column: span 2;
}

.order-contact-field,
.order-location-field {
  grid-column: span 2;
}

.order-notes-field {
  grid-column: 1 / -1;
}

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

.order-editor-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: #003f5a;
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.order-add-item-btn {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 0 10px 0 7px;
  color: #003f5a;
  background: #eef8f8;
  border-color: #acd3d2;
  font-size: 0.7rem;
  font-weight: 850;
  text-transform: none;
}

.order-add-item-btn span[aria-hidden="true"] {
  width: 18px;
  height: 18px;
  display: inline-grid;
  place-items: center;
  border-radius: 6px;
  color: #006d6b;
  background: #d7eeee;
  font-size: 1rem;
  line-height: 1;
}

.order-add-item-btn:hover {
  color: #003f5a;
  background: #e3f3f3;
  border-color: #8ebfbe;
  transform: none;
}

.order-editor-table,
.order-items-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.order-editor-table {
  min-width: 850px;
}

.order-editor-table th,
.order-editor-table td,
.order-items-table th,
.order-items-table td {
  padding: 8px 9px;
  border: 1px solid #d6e0e4;
  text-align: left;
  vertical-align: top;
}

.order-editor-table th,
.order-items-table th {
  color: #274653;
  background: #eef5f5;
  font-size: 0.72rem;
  text-transform: uppercase;
}

.order-editor-table input,
.order-editor-table select {
  width: 100%;
  min-height: 32px;
}

.order-editor-table th:nth-child(1),
.order-editor-table td:nth-child(1) {
  width: 190px;
}

.order-editor-table th:nth-child(2),
.order-editor-table td:nth-child(2) {
  width: 92px;
  text-align: center;
}

.order-editor-table th:nth-child(3),
.order-editor-table td:nth-child(3),
.order-items-table th:nth-child(4),
.order-items-table td:nth-child(4) {
  width: 70px;
  text-align: center;
}

.order-editor-table th:nth-child(6),
.order-editor-table td:nth-child(6) {
  width: 72px;
  text-align: center;
}

.order-items-table {
  margin-top: 8px;
}

.order-items-table th:nth-child(1),
.order-items-table td:nth-child(1) {
  width: 42px;
  text-align: center;
}

.order-items-table th:nth-child(2),
.order-items-table td:nth-child(2) {
  width: 58px;
  text-align: center;
}

.order-items-table th:nth-child(3),
.order-items-table td:nth-child(3) {
  width: auto;
}

.order-items-table th:nth-child(5),
.order-items-table td:nth-child(5) {
  width: 170px;
}

.order-items-table .order-type-cell {
  color: #164f46;
  font-weight: 860;
}

.order-quantity-cell {
  font-weight: 860;
}

.order-side-choice {
  display: grid;
  grid-template-columns: repeat(2, 32px);
  justify-content: center;
  gap: 5px;
}

.order-side-btn {
  width: 32px;
  min-height: 32px;
  padding: 0;
  border-width: 1px;
  border-radius: 7px;
  font-size: 0.78rem;
  font-weight: 950;
}

.order-side-btn.order-side-p {
  border-color: #efc7c1;
  color: #a33d35;
  background: #fff8f7;
}

.order-side-btn.order-side-l {
  border-color: #c6ddea;
  color: #24698c;
  background: #f7fbfd;
}

.order-side-btn.order-side-p.selected {
  border-color: #cb5d52;
  background: #ffe8e4;
  box-shadow: inset 0 0 0 1px rgba(203, 93, 82, 0.14);
}

.order-side-btn.order-side-l.selected {
  border-color: #4e91b4;
  background: #e5f3fa;
  box-shadow: inset 0 0 0 1px rgba(78, 145, 180, 0.14);
}

.order-side-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 25px;
  min-height: 25px;
  border-radius: 7px;
  font-size: 0.75rem;
  font-weight: 950;
}

.order-side-badge.order-side-p {
  color: #a33d35;
  background: #ffe8e4;
}

.order-side-badge.order-side-l {
  color: #24698c;
  background: #e5f3fa;
}

.order-side-warning {
  margin: 8px 0 0;
  padding: 7px 9px;
  border-left: 4px solid #c78a54;
  border-radius: 7px;
  color: #7b512e;
  background: #fff8ef;
  font-size: 0.72rem;
  font-weight: 850;
}

#savePricingOrderBtn.order-side-required {
  border-color: #d1a47e;
  color: #7b512e;
  background: #fff8ef;
}

.order-remove-item-btn {
  min-height: 26px;
  padding: 0 8px;
  color: #7a4338;
  background: #fff4f1;
  border-color: #e4c1b9;
  font-size: 0.68rem;
  font-weight: 820;
}

.order-remove-item-btn:hover {
  color: #fff;
  background: #9d4d3f;
  border-color: #9d4d3f;
  transform: none;
}

.order-document {
  margin-top: 16px;
}

.order-doc-grid p:nth-child(3) {
  grid-column: span 2;
}

.order-print-notes {
  margin: 12px 0 0;
  padding: 10px 12px;
  border: 1px solid #d6e0e4;
  border-radius: 8px;
  color: #273d48;
  background: #fbfdfd;
  line-height: 1.35;
}

.order-print-notes strong {
  color: #003f5a;
}

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

.order-signatures p {
  min-height: 82px;
  margin: 0;
  padding: 12px;
  border: 1px solid #d6e0e4;
  border-radius: 8px;
  background: #fbfdfd;
}

.order-signatures span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.order-signatures strong {
  display: block;
  margin-top: 36px;
  color: #003f5a;
  font-size: 0.82rem;
}

.complaint-form-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  align-items: end;
}

.complaint-wide {
  grid-column: span 2;
}

.complaint-location-field {
  grid-column: span 2;
}

.complaint-full {
  grid-column: 1 / -1;
}

.complaint-form-grid textarea {
  min-height: 78px;
}

.complaint-request-field select {
  font-weight: 850;
  transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease;
}

.complaint-request-field select[data-request-tone="warranty"] {
  border-color: #a9d3b9;
  color: #22663d;
  background: #f1faf4;
}

.complaint-request-field select[data-request-tone="out-of-warranty"] {
  border-color: #e5afa7;
  color: #963e31;
  background: #fff4f2;
}

.complaint-request-option-warranty {
  color: #22663d;
  background: #f1faf4;
}

.complaint-request-option-out-of-warranty {
  color: #963e31;
  background: #fff4f2;
}

.complaint-request-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 2px 8px;
  border-radius: 8px;
  font-weight: 900;
}

.complaint-request-badge[data-request-tone="warranty"] {
  color: #22663d;
  background: #eef8f2;
}

.complaint-request-badge[data-request-tone="out-of-warranty"] {
  color: #963e31;
  background: #fff1ef;
}

.complaint-match-hint {
  margin: -2px 0 0;
  padding: 8px 10px;
  border: 1px solid #d3e3e4;
  border-radius: 8px;
  color: #365c63;
  background: #f4f9f9;
  font-size: 0.78rem;
  font-weight: 740;
}

.complaint-device-picker {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) auto;
  gap: 8px;
  align-items: end;
  margin: 8px 0 0;
  padding: 9px 10px;
  border: 1px solid #dbe7e9;
  border-radius: 8px;
  background: #fbfdfd;
}

.complaint-device-picker-actions {
  display: flex;
  gap: 6px;
  align-items: center;
}

.complaint-device-picker-btn {
  min-height: 30px;
  padding: 0 9px;
  border-color: #cfdde1;
  color: #365c63;
  background: #f3f8f9;
  font-size: 0.68rem;
  font-weight: 850;
}

.complaint-device-picker-btn:hover {
  border-color: #a8c4ca;
  color: #003f5a;
  background: #eaf3f5;
  transform: none;
}

.complaint-device-picker-btn:disabled {
  opacity: 0.48;
  cursor: not-allowed;
}

.complaint-product-card {
  display: table-row-group;
}

.complaint-editor {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.complaint-editor-scroll {
  min-width: 0;
  overflow-x: auto;
}

.complaint-editor-table {
  width: 100%;
  min-width: 980px;
  border-collapse: collapse;
  table-layout: fixed;
}

.complaint-editor-table th,
.complaint-editor-table td {
  padding: 8px 7px;
  border: 1px solid #d6e0e4;
  text-align: left;
  vertical-align: middle;
}

.complaint-editor-table th {
  color: #274653;
  background: #eef5f5;
  font-size: 0.7rem;
  font-weight: 850;
  text-transform: uppercase;
}

.complaint-editor-table input,
.complaint-editor-table select {
  width: 100%;
  min-height: 32px;
  padding: 6px 8px;
  font-size: 0.76rem;
}

.complaint-editor-table th:nth-child(1),
.complaint-editor-table td:nth-child(1) {
  width: 48px;
  text-align: center;
}

.complaint-editor-table th:nth-child(2),
.complaint-editor-table td:nth-child(2) {
  width: 160px;
}

.complaint-editor-table th:nth-child(4),
.complaint-editor-table td:nth-child(4) {
  width: 150px;
}

.complaint-editor-table th:nth-child(5),
.complaint-editor-table td:nth-child(5) {
  width: 170px;
}

.complaint-editor-table th:nth-child(6),
.complaint-editor-table td:nth-child(6) {
  width: 135px;
}

.complaint-editor-table th:nth-child(7),
.complaint-editor-table td:nth-child(7) {
  width: 46px;
  text-align: center;
}

.complaint-position-cell {
  color: #003f5a;
  background: #f6fafb;
  font-size: 0.8rem;
  font-weight: 900;
}

.complaint-table-paste {
  min-width: 0;
}

.complaint-warranty-row td {
  padding: 0 9px;
  border-top: 0;
  background: #f8fbfb;
}

.complaint-warranty-row:has(.complaint-warranty-hint[hidden]) {
  display: none;
}

.complaint-product-head {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin: 4px 0 -1px;
  padding: 4px 0 7px;
  border-bottom: 1px solid #dbe7e9;
}

.complaint-product-head strong {
  color: #003f5a;
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.complaint-product-type-field {
  width: auto;
  gap: 4px;
}

.complaint-product-type-field span {
  color: #58727b;
  font-size: 0.68rem;
  font-weight: 850;
}

.complaint-product-type-field select {
  min-height: 30px;
  padding: 6px 9px;
  font-size: 0.78rem;
}

.complaint-remove-item-btn {
  width: 26px;
  min-height: 26px;
  padding: 0;
  border-color: #d6e0e4;
  color: #6f7d84;
  background: #f6f9fa;
  font-size: 1rem;
  font-weight: 850;
  line-height: 1;
}

.complaint-remove-item-btn:hover {
  border-color: #e2bbb3;
  color: #8d4439;
  background: #fff7f5;
  transform: none;
}

.complaint-product-grid {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 145px minmax(220px, 1.45fr) 130px 150px 130px;
  gap: 9px;
  align-items: end;
}

.complaint-add-item-btn {
  justify-self: start;
  width: fit-content;
  min-height: 28px;
  margin: 2px 0 4px;
  padding: 0 10px;
  border-color: #cbdde1;
  color: #365f69;
  background: #f4f9fa;
  font-size: 0.72rem;
  font-weight: 850;
}

.complaint-product-wide {
  min-width: 0;
}

.complaint-warranty-hint {
  grid-column: 1 / -1;
  margin: 0;
  padding: 6px 0;
  color: #527079;
  font-size: 0.74rem;
  font-weight: 760;
}

.complaint-warranty-hint.warning {
  color: #9b3f31;
}

.complaint-document {
  margin-top: 16px;
}

.complaint-doc-grid p:nth-child(4),
.complaint-doc-grid p:nth-child(6),
.complaint-doc-grid p:nth-child(8) {
  grid-column: span 2;
}

.complaint-text-box {
  min-height: 74px;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid #d6e0e4;
  border-radius: 8px;
  color: #273d48;
  background: #fbfdfd;
  white-space: pre-wrap;
}

.complaint-products-table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #d6e0e4;
  overflow: hidden;
  border-radius: 8px;
  font-size: 0.82rem;
}

.complaint-products-table th,
.complaint-products-table td {
  padding: 8px 9px;
  border-bottom: 1px solid #e3ebee;
  text-align: left;
  vertical-align: top;
}

.complaint-products-table th {
  color: #57717b;
  background: #f4f8f9;
  font-size: 0.68rem;
  font-weight: 850;
  text-transform: uppercase;
}

.complaint-products-table tr:last-child td {
  border-bottom: 0;
}

.complaint-products-lp {
  width: 34px;
  color: #607783;
  font-weight: 850;
  text-align: center;
}

.complaint-products-serial {
  color: #003f5a;
  font-weight: 900;
}

.complaint-decision-box {
  min-height: 58px;
}

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

.complaint-signatures p {
  min-height: 82px;
  margin: 0;
  padding: 12px;
  border: 1px solid #d6e0e4;
  border-radius: 8px;
  background: #fbfdfd;
}

.complaint-signatures span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.complaint-signatures strong {
  display: block;
  margin-top: 36px;
  color: #003f5a;
  font-size: 0.82rem;
}

.loan-form-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  align-items: end;
}

.loan-form-grid > label {
  min-width: 0;
}

.loan-required-empty {
  border-color: #d47d73 !important;
  background: #fff7f5 !important;
}

.loan-number-invalid {
  border-color: #cf6f64 !important;
  color: #873b33;
  background: #fff5f3 !important;
}

.loan-required-field-empty > span {
  color: #a13f35 !important;
}

.person-name-field.loan-required-field-empty {
  border-color: #d47d73;
  background: #fff8f7;
}

.loan-required-empty:focus {
  border-color: #bd5146 !important;
  box-shadow: 0 0 0 2px rgba(189, 81, 70, 0.1);
}

.loan-wide {
  grid-column: span 2;
}

.loan-form-grid > .loan-contract-location-field {
  grid-column: span 2;
}

.loan-form-grid > .loan-deposit-field {
  grid-column: span 2;
}

.loan-full {
  grid-column: 1 / -1;
}

.loan-form-title {
  margin: 8px 0 0;
  padding: 7px 9px 7px 11px;
  border-left: 4px solid #78aebc;
  border-radius: 8px;
  color: #003f5a;
  background: #f3f8f9;
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.loan-form-title:first-child {
  margin-top: 0;
}

.loan-device-row {
  display: grid;
  grid-template-columns: 34px minmax(300px, 2.1fr) minmax(145px, 0.8fr) minmax(145px, 0.8fr) minmax(120px, 0.65fr) 30px;
  gap: 8px;
  align-items: end;
  margin-top: -1px;
}

.loan-device-row label {
  min-width: 0;
}

.loan-side-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 39px;
  border-radius: 8px;
  color: #003f5a;
  background: #eaf4f6;
  font-size: 0.86rem;
  font-weight: 950;
}

.loan-side-badge.loan-side-right {
  color: #a33d35;
  background: #fff0ee;
}

.loan-side-badge.loan-side-left {
  color: #24698c;
  background: #edf8fc;
}

.loan-serial-field {
  position: relative;
}

.loan-serial-field.has-paste-hint input {
  padding-right: 56px;
}

.loan-paste-serial-btn {
  position: absolute;
  right: 6px;
  bottom: 6px;
  min-height: 23px;
  padding: 0 7px;
  border: 1px solid #c4d3d8;
  border-radius: 7px;
  color: #28566a;
  background: #f7fbfc;
  font-size: 0.64rem;
  font-weight: 850;
  line-height: 1;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.12s ease, background 0.12s ease, border-color 0.12s ease;
}

.paste-input-field {
  position: relative;
}

.paste-input-field input {
  padding-right: 54px;
}

.paste-input-field .paste-input-btn {
  position: absolute;
  right: 6px;
  bottom: 6px;
  min-height: 23px;
  padding: 1px 7px;
  border-color: #c4d3d8;
  color: #28566a;
  background: #f7fbfc;
  font-size: 0.64rem;
  font-weight: 850;
  line-height: 1;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.12s ease, background 0.12s ease, border-color 0.12s ease;
}

.paste-input-field:hover .paste-input-btn,
.paste-input-field:focus-within .paste-input-btn {
  opacity: 1;
  pointer-events: auto;
}

.search-box.paste-input-field .paste-input-btn {
  opacity: 1;
  pointer-events: auto;
}

.paste-input-field .paste-input-btn:hover {
  border-color: #9ebac3;
  color: #003f5a;
  background: #edf6f8;
  transform: none;
}

.loan-serial-field.has-paste-hint:hover .loan-paste-serial-btn,
.loan-serial-field.has-paste-hint:focus-within .loan-paste-serial-btn {
  opacity: 1;
  pointer-events: auto;
}

.loan-paste-serial-btn:hover {
  color: #003f5a;
  background: #eaf4f6;
  border-color: #9eb8c2;
  transform: none;
}

.loan-clear-device-btn {
  align-self: end;
  justify-self: end;
  width: 30px;
  min-height: 39px;
  padding: 0;
  border: 1px solid #dfcbcb;
  border-radius: 8px;
  color: #9a6262;
  background: #fbf7f7;
  font-size: 1rem;
  font-weight: 850;
  line-height: 1;
}

.loan-clear-device-btn:hover {
  color: #7e3838;
  background: #f5ebeb;
  border-color: #cca9a9;
  transform: none;
}

.loan-document {
  margin-top: 16px;
}

.loan-doc-section {
  margin-top: 12px;
}

.loan-doc-section h3 {
  margin: 0 0 7px;
  padding-bottom: 5px;
  border-bottom: 1px solid #d5e1e4;
  color: #003f5a;
  font-size: 0.86rem;
  text-transform: uppercase;
}

.loan-doc-grid,
.loan-protocol-grid,
.loan-signatures {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}

.loan-doc-grid p,
.loan-protocol-grid p,
.loan-signatures p {
  min-height: 44px;
  margin: 0;
  padding: 8px 9px;
  border: 1px solid #d6e0e4;
  border-radius: 8px;
  background: #fbfdfd;
}

.loan-doc-grid-parties p:first-child,
.loan-doc-grid-parties p:nth-child(2),
.loan-doc-grid-parties p:nth-child(4),
.loan-protocol-grid p:nth-child(2),
.loan-protocol-grid p:nth-child(4),
.loan-signatures p {
  grid-column: span 2;
}

.loan-doc-grid p span,
.loan-protocol-grid p span,
.loan-signatures p span {
  display: block;
  margin-bottom: 3px;
  color: #6a7780;
  font-size: 0.67rem;
  font-weight: 850;
  text-transform: uppercase;
}

.loan-doc-grid p strong,
.loan-protocol-grid p strong,
.loan-signatures p strong {
  color: #20343d;
  font-size: 0.86rem;
  line-height: 1.25;
}

.loan-doc-note {
  margin: 7px 0;
  color: #314852;
  font-size: 0.82rem;
  line-height: 1.36;
}

.loan-equipment-table {
  width: 100%;
  margin-top: 8px;
  border-collapse: collapse;
  table-layout: fixed;
}

.loan-equipment-table th,
.loan-equipment-table td {
  padding: 8px 7px;
  border: 1px solid #d6e0e4;
  text-align: left;
  vertical-align: top;
}

.loan-equipment-table th {
  color: #274653;
  background: #eef5f5;
  font-size: 0.68rem;
  text-transform: uppercase;
}

.loan-equipment-table td {
  font-size: 0.82rem;
  line-height: 1.26;
}

.loan-equipment-table th:first-child,
.loan-equipment-table td:first-child {
  width: 58px;
}

.loan-equipment-table th:nth-child(3),
.loan-equipment-table td:nth-child(3) {
  width: 120px;
}

.loan-equipment-table th:nth-child(5),
.loan-equipment-table td:nth-child(5) {
  width: 58px;
}

.loan-equipment-table th:nth-child(6),
.loan-equipment-table td:nth-child(6) {
  width: 118px;
}

.loan-doc-grid-charger {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 8px;
}

.loan-terms > div {
  columns: 2;
  column-gap: 18px;
}

.loan-terms p {
  break-inside: avoid;
  margin: 0 0 8px;
  color: #263d47;
  font-size: 0.78rem;
  line-height: 1.34;
}

.loan-signatures {
  margin-top: 14px;
}

.loan-signatures p {
  min-height: 70px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: #fff;
}

.loan-locations {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 14px;
  color: #2f4a54;
  font-size: 0.74rem;
  font-style: normal;
  line-height: 1.28;
}

.loan-locations > span {
  padding: 7px 8px;
  border-left: 3px solid #9fc6c6;
  border-radius: 8px;
  background: #f7fbfb;
}

.loan-locations strong {
  color: #003f5a;
  font-size: 0.76rem;
}

.loan-history-panel {
  margin-top: 14px;
  padding: 12px;
  border: 1px solid #d7e4e5;
  border-radius: 8px;
  background: rgba(250, 253, 253, 0.9);
}

.loan-history-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  margin-bottom: 9px;
}

.loan-history-head h3 {
  margin: 0;
  color: #003f5a;
  font-size: 0.86rem;
  font-weight: 900;
  text-transform: uppercase;
}

.loan-history-head span {
  color: #667883;
  font-size: 0.74rem;
  font-weight: 820;
}

.loan-history-search {
  display: grid;
  grid-template-columns: auto minmax(220px, 520px);
  gap: 9px;
  align-items: center;
  margin: 0 0 9px;
}

.loan-history-search > span {
  color: #536a75;
  font-size: 0.72rem;
  font-weight: 850;
}

.loan-history-search input {
  width: 100%;
  min-height: 34px;
  padding: 6px 10px;
  border-color: #d6e2e5;
  background: #fbfdfd;
  font-size: 0.78rem;
}

.pricing-history-search {
  grid-column: 1 / -1;
  justify-content: start;
  margin-bottom: 12px;
}

.pricing-history-search input {
  width: min(62vw, 620px);
  max-width: 620px;
}

.loan-history-list {
  display: grid;
  gap: 7px;
  max-height: 285px;
  overflow: auto;
}

.loan-deadline-summary {
  margin: -1px 0 9px;
  padding: 7px 9px;
  border: 1px solid #e1d7aa;
  border-left: 4px solid #c3a44e;
  border-radius: 7px;
  color: #6f5a1f;
  background: #fffaf0;
  font-size: 0.74rem;
  font-weight: 850;
}

.loan-deadline-summary.critical {
  border-color: #e2bbb5;
  border-left-color: #bf6257;
  color: #843d35;
  background: #fff6f4;
}

.loan-history-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 9px 10px;
  border: 1px solid #dce7e8;
  border-radius: 8px;
  background: #fff;
}

.loan-history-item.loan-deadline-ending {
  border-left: 4px solid #c3a44e;
  background: #fffdf7;
}

.loan-history-item.loan-deadline-overdue {
  border-color: #e2bbb5;
  border-left: 4px solid #bf6257;
  background: #fff8f7;
}

.loan-history-title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
}

.loan-history-title-row .loan-deadline-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin: 0;
  padding: 2px 6px;
  border-radius: 7px;
  font-size: 0.66rem;
  font-weight: 900;
}

.loan-deadline-badge.ending {
  color: #715b1f;
  background: #f8efcf;
}

.loan-deadline-badge.overdue {
  color: #8a3f36;
  background: #f8ded9;
}

.loan-history-item strong,
.loan-history-item small,
.loan-history-item span {
  display: block;
}

.loan-history-item strong {
  color: #003f5a;
  font-size: 0.86rem;
}

.loan-history-item small {
  margin-top: 2px;
  color: #6c7b84;
  font-size: 0.68rem;
  font-weight: 760;
}

.loan-history-item span {
  margin-top: 3px;
  color: #2f454f;
  font-size: 0.76rem;
  font-weight: 790;
}

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

.loan-history-actions button {
  min-height: 27px;
  padding: 0 9px;
  font-size: 0.68rem;
}

.pricing-history-preview-dialog {
  width: min(760px, calc(100% - 24px));
  max-height: min(82vh, 760px);
}

.pricing-history-preview-shell {
  max-height: min(82vh, 760px);
  overflow: auto;
  padding: 20px;
}

.pricing-history-preview-shell .dialog-head {
  margin-bottom: 16px;
}

.pricing-history-preview-content {
  display: grid;
  gap: 14px;
}

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

.pricing-history-preview-field {
  min-width: 0;
  padding: 8px 9px;
  border: 1px solid #dce7e8;
  border-radius: 8px;
  background: #f8fbfb;
}

.pricing-history-preview-field span,
.pricing-history-preview-field strong {
  display: block;
}

.pricing-history-preview-field span {
  margin-bottom: 3px;
  color: #6c7b84;
  font-size: 0.66rem;
  font-weight: 800;
}

.pricing-history-preview-field strong {
  color: #27434d;
  font-size: 0.78rem;
  line-height: 1.32;
  overflow-wrap: anywhere;
}

.pricing-history-preview-items {
  padding: 11px 12px;
  border: 1px solid #dce7e8;
  border-radius: 8px;
  background: #ffffff;
}

.pricing-history-preview-items h3 {
  margin: 0 0 7px;
  color: #003f5a;
  font-size: 0.82rem;
}

.pricing-history-preview-items p {
  margin: 5px 0;
  color: #314852;
  font-size: 0.78rem;
  line-height: 1.35;
}

.loan-history-remove {
  color: #8a4539;
  border-color: #ead0ca;
  background: #fff7f5;
}

.loan-history-empty {
  margin: 0;
  padding: 9px 10px;
  color: #6c7b84;
  font-size: 0.8rem;
  font-weight: 760;
}

.pcpr-form-grid {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.pcpr-form-row {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 10px;
  align-items: end;
  min-width: 0;
}

.pcpr-form-row > * {
  min-width: 0;
}

.pcpr-office-field {
  grid-column: span 3;
  padding: 8px 10px 10px;
  border: 1.5px solid #d6e2e5;
  border-left-width: 4px;
  border-radius: 8px;
  background: #fbfdfd;
}

.pcpr-name-field {
  grid-column: span 3;
}

.pcpr-phone-field {
  grid-column: span 2;
}

.pcpr-postal-field {
  grid-column: span 1;
}

.pcpr-city-field {
  grid-column: span 2;
}

.pcpr-street-field {
  grid-column: span 4;
}

.pcpr-model-field {
  grid-column: span 6;
  display: grid;
  gap: 6px;
  padding: 8px 10px 10px;
  border: 1.5px solid #78aebc;
  border-radius: 8px;
  background: #f4fafb;
}

.pcpr-place-field {
  grid-column: span 2;
  padding: 8px 10px 10px;
  border: 1.5px solid color-mix(in srgb, var(--document-location-accent) 34%, var(--line));
  border-left-width: 4px;
  border-radius: 8px;
  background: var(--document-location-bg);
}

.pcpr-ear-field {
  grid-column: span 4;
}

.pcpr-form-grid > button {
  grid-column: span 1;
}

.pcpr-form-row-top .pcpr-name-field {
  grid-column: span 3;
}

.pcpr-form-row-top .pcpr-phone-field {
  grid-column: span 2;
}

.pcpr-form-row-top .pcpr-postal-field {
  grid-column: span 1;
}

.pcpr-form-row-top .pcpr-city-field {
  grid-column: span 2;
}

.pcpr-form-row-top .pcpr-street-field {
  grid-column: span 4;
}

.pcpr-form-row-bottom .pcpr-model-field {
  grid-column: span 3;
}

.pcpr-model-stack {
  grid-column: span 3;
  display: grid;
  gap: 7px;
  min-width: 0;
}

.pcpr-model-stack .pcpr-model-field {
  grid-column: auto;
  width: 100%;
  box-sizing: border-box;
}

.pcpr-second-model-field {
  margin-top: 0;
}

.pcpr-add-second-model-btn {
  justify-self: start;
  min-height: 24px;
  padding: 2px 7px;
  border-color: #b8d1d8;
  color: #2f6573;
  background: #f8fcfc;
  font-size: 0.68rem;
  font-weight: 820;
}

.pcpr-second-model-input-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 26px;
  gap: 6px;
  align-items: center;
}

.pcpr-second-model-auto-both .pcpr-second-model-input-row {
  grid-template-columns: minmax(0, 1fr);
}

.pcpr-remove-second-model-btn {
  width: 26px;
  min-width: 26px;
  min-height: 26px;
  padding: 0;
  border-color: #d7c4c1;
  color: #986158;
  background: #fffafa;
  font-size: 1rem;
  line-height: 1;
}

.pcpr-form-row-bottom .pcpr-office-field {
  grid-column: span 3;
}

.pcpr-form-row-bottom .pcpr-place-field {
  grid-column: span 3;
}

.pcpr-place-field select {
  padding-right: 26px;
  font-size: 0.78rem;
}

.pcpr-form-row-bottom .pcpr-ear-field {
  grid-column: span 2;
}

.pcpr-form-actions {
  grid-column: span 1;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-content: start;
}

.pcpr-name-field,
.pcpr-ear-field {
  display: grid;
  gap: 6px;
}

.pcpr-name-field > span,
.pcpr-office-field > span,
.pcpr-model-field > span,
.pcpr-ear-field > span {
  color: #003f5a;
  font-size: 0.82rem;
  font-weight: 900;
}

.pcpr-office-address {
  min-height: 1.1em;
  color: #61727b;
  font-size: 0.68rem;
  font-weight: 780;
  line-height: 1.35;
}

.pcpr-office-field[data-pcpr-office-tone="mops-bielsko-biala"] {
  border-left-color: #85a77b;
  background: #f6fbf5;
}

.pcpr-office-field[data-pcpr-office-tone="pcpr-bielsko-biala"] {
  border-left-color: #78aebc;
  background: #f4fafb;
}

.pcpr-office-field[data-pcpr-office-tone="pcpr-cieszyn"] {
  border-left-color: #b99bc9;
  background: #faf6fc;
}

.pcpr-office-field[data-pcpr-office-tone="pcpr-zywiec"] {
  border-left-color: #c8a062;
  background: #fdf8ef;
}

.pcpr-place-badge {
  display: inline-flex;
  width: fit-content;
  min-height: 20px;
  align-items: center;
  padding: 1px 7px;
  border: 1px solid transparent;
  border-radius: 8px;
  font-size: 0.68rem;
  font-weight: 860;
}

.pcpr-tab-group {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

.pcpr-tab {
  min-height: 32px;
  padding: 0 11px;
  border-color: #d3dde2;
  color: #4b5c65;
  background: #f7fafb;
  font-size: 0.7rem;
  font-weight: 850;
}

.pcpr-tab:hover {
  border-color: #aebfc8;
  color: #123842;
  background: #eef5f7;
}

.pcpr-tab.active {
  border-color: #8ea3ad;
  color: #003f5a;
  background: #e7eff2;
  box-shadow: inset 0 0 0 1px rgba(0, 63, 90, 0.08);
}

.pcpr-tab[data-location-tone="T12"],
.pcpr-place-badge[data-location-tone="T12"] {
  border-color: #c9bfb3;
  color: #6f604f;
  background: #faf8f5;
}

.pcpr-tab[data-location-tone="P50"],
.pcpr-place-badge[data-location-tone="P50"] {
  border-color: #c7cf9d;
  color: #616b2f;
  background: #f7faec;
}

.pcpr-tab[data-location-tone="P63"],
.pcpr-place-badge[data-location-tone="P63"] {
  border-color: #d3c1de;
  color: #7b628b;
  background: #faf6fc;
}

.pcpr-tab.active[data-location-tone="T12"] {
  border-color: #b5a899;
  box-shadow: inset 0 0 0 1px rgba(123, 109, 91, 0.14);
}

.pcpr-tab.active[data-location-tone="P50"] {
  border-color: #b4c184;
  box-shadow: inset 0 0 0 1px rgba(97, 107, 47, 0.14);
}

.pcpr-tab.active[data-location-tone="P63"] {
  border-color: #bea9cf;
  box-shadow: inset 0 0 0 1px rgba(123, 98, 139, 0.14);
}

input.pcpr-done-input,
.pcpr-item-name input[type="checkbox"] {
  width: 17px;
  min-width: 17px;
  height: 17px;
  min-height: 17px;
  accent-color: #2b8a78;
}

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

.pcpr-ear-option {
  position: relative;
  min-height: 39px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: 1px solid #d8e2e5;
  border-radius: 8px;
  color: #5e7079;
  background: #ffffff;
  cursor: pointer;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.pcpr-ear-option input {
  position: absolute;
  width: 1px;
  min-width: 1px;
  height: 1px;
  min-height: 1px;
  margin: 0;
  opacity: 0;
  pointer-events: none;
}

.pcpr-ear-option span {
  display: inline-grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 7px;
  font-size: 0.8rem;
  font-weight: 950;
}

.pcpr-ear-option small {
  font-size: 0.68rem;
  font-weight: 820;
}

.pcpr-ear-right span {
  color: #9c342b;
  background: #fdecea;
}

.pcpr-ear-left span {
  color: #1f6372;
  background: #e7f4f7;
}

.pcpr-ear-both span {
  color: #5f5869;
  background: #eeeaf5;
}

.pcpr-ear-option:has(input:checked) {
  color: #203a45;
  background: #f7fbfb;
}

.pcpr-ear-right:has(input:checked) {
  border-color: #e1a39b;
  background: #fff5f3;
}

.pcpr-ear-left:has(input:checked) {
  border-color: #9fc9d5;
  background: #f0f8fa;
}

.pcpr-ear-both:has(input:checked) {
  border-color: #c6bfd6;
  background: #f5f1fa;
}

.pcpr-list-panel {
  margin-top: 0;
}

.pcpr-list {
  display: grid;
  gap: 7px;
  max-height: 420px;
  overflow: auto;
}

.pcpr-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 9px 10px;
  border: 1px solid #dce7e8;
  border-left: 4px solid #cbd8dc;
  border-radius: 8px;
  background: #fff;
}

.pcpr-item[data-ear="P"] {
  border-left-color: #d9756c;
}

.pcpr-item[data-ear="L"] {
  border-left-color: #6ea8b6;
}

.pcpr-item[data-office-tone="mops-bielsko-biala"] {
  border-left-color: #85a77b;
  background: linear-gradient(90deg, #f4faf2 0, #ffffff 38%);
}

.pcpr-item[data-office-tone="pcpr-bielsko-biala"] {
  border-left-color: #78aebc;
  background: linear-gradient(90deg, #f1f8fa 0, #ffffff 38%);
}

.pcpr-item[data-office-tone="pcpr-cieszyn"] {
  border-left-color: #b99bc9;
  background: linear-gradient(90deg, #faf4fc 0, #ffffff 38%);
}

.pcpr-item[data-office-tone="pcpr-zywiec"] {
  border-left-color: #c8a062;
  background: linear-gradient(90deg, #fdf7ed 0, #ffffff 38%);
}

.pcpr-item.done {
  opacity: 0.68;
  background: #f5f7f7;
}

.pcpr-item-content {
  min-width: 0;
}

.pcpr-item-office {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 6px;
  margin-bottom: 6px;
  padding-bottom: 6px;
  border-bottom: 1px solid #e4ecee;
}

.pcpr-item-place {
  display: flex;
  margin-bottom: 6px;
}

.pcpr-item-office strong {
  display: inline-block;
  color: #003f5a;
  font-size: 0.8rem;
  font-weight: 940;
}

.pcpr-item-office small {
  flex-basis: 100%;
  margin-top: 0;
  color: #63747d;
  font-size: 0.68rem;
  font-weight: 760;
}

.pcpr-item-name {
  display: flex;
  grid-template-columns: none;
  align-items: center;
  gap: 8px;
}

.pcpr-item-name strong {
  color: #003f5a;
  font-size: 0.86rem;
  font-weight: 900;
}

.pcpr-item-details,
.pcpr-item-content small {
  display: block;
  margin-top: 3px;
}

.pcpr-item-details {
  color: #2f454f;
  font-size: 0.76rem;
  font-weight: 790;
}

.pcpr-item-model {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  margin-top: 5px;
  padding: 4px 7px;
  border-radius: 8px;
  color: #003f5a;
  background: #eaf5f7;
  font-size: 0.78rem;
  font-weight: 920;
}

.pcpr-item-model.missing {
  border: 1px solid #edb8c0;
  color: #a33f50;
  background: #fff0f3;
}

.pcpr-item.missing-model:not(.done) {
  box-shadow: inset 0 0 0 1px rgba(196, 78, 96, 0.08);
}

.pcpr-item-content small {
  color: #6c7b84;
  font-size: 0.68rem;
  font-weight: 760;
}

.pcpr-item-actions {
  display: flex;
  align-items: center;
  gap: 6px;
}

.pcpr-ear-badge {
  justify-self: end;
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 8px;
  color: #667883;
  background: #eef3f4;
  font-size: 0.78rem;
  font-weight: 950;
}

.pcpr-ear-badge-group {
  justify-self: end;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.pcpr-ear-P {
  color: #9c342b;
  background: #fdecea;
}

.pcpr-ear-L {
  color: #1f6372;
  background: #e7f4f7;
}

.pcpr-ear-B {
  color: #5f5869;
  background: #eeeaf5;
}

.pcpr-edit-btn {
  min-height: 28px;
  padding: 0 8px;
  border: 1px solid #cbd8de;
  border-radius: 8px;
  color: #48616d;
  background: #f6fafb;
  font-size: 0.68rem;
  font-weight: 820;
}

.pcpr-edit-btn:hover {
  color: #003f5a;
  background: #eaf4f6;
  border-color: #aebfc8;
  transform: none;
}

.pcpr-remove-btn {
  min-height: 28px;
  padding: 0 8px;
  border: 1px solid #ead0ca;
  border-radius: 8px;
  color: #8a4539;
  background: #fff7f5;
  font-size: 0.68rem;
  font-weight: 820;
}

.pcpr-remove-btn:hover {
  color: #74352c;
  background: #f8ece9;
  border-color: #d8aaa1;
  transform: none;
}

.pcpr-list-filters {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
  gap: 10px;
  align-items: start;
  margin: 0 0 9px;
}

.pcpr-list-filters .pcpr-tab-group {
  min-width: 0;
}

.pcpr-reset-filters-btn {
  min-height: 34px;
  padding: 0 9px;
  font-size: 0.68rem;
}

.controls {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) 180px 160px 190px repeat(6, auto);
  gap: 12px;
  align-items: end;
  margin: 0 0 18px;
  padding: 16px;
  border: 1px solid rgba(216, 221, 227, 0.75);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 10px 30px rgba(28, 31, 36, 0.08);
}

.database-controls {
  grid-template-columns: minmax(220px, 1fr) 145px 125px 140px 120px auto auto auto auto auto;
  gap: 9px;
}

.repairs-controls {
  grid-template-columns: minmax(220px, 1fr) 170px 170px 140px repeat(5, auto);
  margin-top: 16px;
}

.demo-controls {
  grid-template-columns: minmax(250px, 1fr) 170px 170px 150px auto auto auto auto;
}

.search-with-summary {
  display: grid;
  min-width: 0;
  align-self: end;
  gap: 5px;
}

.search-match-summary {
  display: flex;
  min-height: 20px;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
}

.search-match-summary[hidden] {
  display: none;
}

.search-match-badge {
  display: inline-flex;
  min-height: 19px;
  align-items: center;
  gap: 4px;
  border: 1px solid #d7e1e4;
  border-radius: 6px;
  padding: 1px 5px;
  color: #526a72;
  background: #f8fafb;
  font-size: 0.62rem;
  font-weight: 760;
  line-height: 1;
  white-space: nowrap;
}

.search-match-badge strong {
  color: inherit;
  font-size: 0.68rem;
  font-weight: 900;
}

.search-match-badge[data-tone="total"] {
  border-color: #b9cdd4;
  color: #174f63;
  background: #f0f7f9;
}

.search-match-badge[data-tone="stock"] {
  border-color: #b7d7d3;
  color: #146c68;
  background: #eff9f7;
}

.search-match-badge[data-tone="sold"] {
  border-color: #bddcc9;
  color: #377456;
  background: #f1faf4;
}

.search-match-badge[data-tone="service"] {
  border-color: #d8cbbf;
  color: #765c47;
  background: #faf6f2;
}

.search-match-badge[data-tone="demo"] {
  border-color: #c9d9e4;
  color: #426b82;
  background: #f3f8fb;
}

.search-match-badge[data-tone="reservation"] {
  border-color: #e1d6aa;
  color: #746326;
  background: #fbf9ef;
}

.search-match-badge[data-tone="returned"] {
  border-color: #d5cddd;
  color: #6b5a78;
  background: #f8f5fa;
}

.search-match-empty {
  color: #7b898d;
  font-size: 0.66rem;
  font-weight: 750;
}

.reset-filters-btn {
  min-height: 28px;
  align-self: end;
  padding: 0 8px;
  color: #48616d;
  background: #f3f7f8;
  border-color: #cbd8de;
  font-size: 0.68rem;
  font-weight: 800;
}

.reset-filters-btn:hover {
  color: #003f5a;
  background: #e7f0f3;
  border-color: #aebfc8;
  transform: none;
}

label {
  display: grid;
  gap: 6px;
}

[hidden] {
  display: none !important;
}

label span {
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 800;
}

.person-name-field {
  border: 1.5px solid #78aebc;
  border-radius: 8px;
  padding: 8px 10px 10px;
  background: #f6fbfc;
}

.person-name-field > span {
  color: #003f5a;
  font-weight: 900;
}

.person-name-field input {
  border-color: #aec7cf;
  color: #003f5a;
  font-weight: 850;
}

.person-name-field input:focus {
  border-color: #0d8585;
  outline-color: rgba(13, 133, 133, 0.18);
}

input,
select,
textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px 12px;
  color: var(--ink);
  background: #fff;
}

input:focus,
select:focus,
textarea:focus {
  outline: 3px solid rgba(22, 108, 95, 0.16);
  border-color: var(--accent);
}

.document-location-field {
  --document-location-accent: #9c8d7b;
  --document-location-bg: #faf8f5;
}

.document-location-field select {
  padding-left: 11px;
  border-color: color-mix(in srgb, var(--document-location-accent) 34%, var(--line));
  border-left-width: 5px;
  border-left-color: var(--document-location-accent);
  background-color: var(--document-location-bg);
  transition: border-color 0.15s ease, border-left-color 0.15s ease, background-color 0.15s ease;
}

.document-location-field select:focus {
  border-color: var(--accent);
  border-left-color: var(--document-location-accent);
}

.document-location-field[data-location-tone="T12"] {
  --document-location-accent: #9c8d7b;
  --document-location-bg: #faf8f5;
}

.document-location-field[data-location-tone="P50"] {
  --document-location-accent: #8a9850;
  --document-location-bg: #f7faec;
}

.document-location-field[data-location-tone="P63"] {
  --document-location-accent: #aa91be;
  --document-location-bg: #faf6fc;
}

.demo-purpose-field {
  display: grid;
  align-content: start;
  gap: 7px;
}

.demo-purpose-field > span {
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--muted);
}

.demo-purpose-choices {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}

.demo-purpose-choices button {
  min-height: 39px;
  padding: 7px 9px;
  border: 1px solid #ccdadd;
  border-radius: 7px;
  background: #f8fbfb;
  color: #49636b;
  font-size: 0.76rem;
  font-weight: 700;
}

.demo-purpose-choices button[data-demo-purpose="DO TESTOWANIA"][aria-pressed="true"] {
  border-color: #77aaa9;
  background: #e7f5f3;
  color: #176b69;
}

.demo-purpose-choices button[data-demo-purpose="APARAT ZASTĘPCZY"][aria-pressed="true"] {
  border-color: #a894bb;
  background: #f0ebf5;
  color: #655579;
}

.demo-purpose-choices.required-missing {
  padding: 3px;
  border: 1px solid #bd5a50;
  border-radius: 8px;
  background: #fff3f1;
}

.location-filter-field:not([data-location-tone]) {
  --document-location-accent: #b8c5ca;
  --document-location-bg: #ffffff;
}

#locationFilter option[value="T12"] {
  color: #6f604f;
  background: #faf8f5;
}

#locationFilter option[value="P50"] {
  color: #616b2f;
  background: #f7faec;
}

#locationFilter option[value="P63"] {
  color: #7b628b;
  background: #faf6fc;
}

#repairLocationFilter option[value="T12"] {
  color: #6f604f;
  background: #faf8f5;
}

#repairLocationFilter option[value="P50"] {
  color: #616b2f;
  background: #f7faec;
}

#repairLocationFilter option[value="P63"] {
  color: #7b628b;
  background: #faf6fc;
}

input.today-date-input {
  border-color: #7fb9ae;
  color: #003f5a;
  background: #f3faf8;
  font-weight: 950;
}

.today-date {
  color: #003f5a;
  font-weight: 1000 !important;
}

select.location-suggested {
  border-color: #9aa66d;
  background: #fbfcf4;
}

.date-input-wrap {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 34px;
  gap: 6px;
  align-items: center;
}

.date-input-wrap input {
  min-width: 0;
}

.date-input-wrap.invalid-date input {
  border-color: #c84b3f;
  background: #fff7f5;
}

input[aria-invalid="true"] {
  border-color: #c84b3f;
  background: #fff7f5;
}

.clear-date-btn {
  min-height: 34px;
  padding: 0;
  border-color: #d8dde3;
  color: #7b858e;
  background: #f6f7f8;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
}

.clear-date-btn:hover {
  border-color: #c3cbd2;
  color: #4c555e;
  background: #eceff1;
}

.checkbox-control {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  min-height: 42px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 0 12px;
  color: #526271;
  background: #fbfcfd;
  font-size: 0.82rem;
  font-weight: 800;
}

.checkbox-control input {
  width: 16px;
  height: 16px;
  accent-color: #166c5f;
}

.checkbox-control:has(input:checked) {
  color: #0f5148;
  border-color: #9bcac3;
  background: #edf7f5;
}

.two-month-picker {
  position: fixed;
  z-index: 1200;
  width: min(620px, calc(100vw - 24px));
  padding: 12px;
  border: 1px solid rgba(192, 202, 210, 0.96);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 18px 42px rgba(28, 31, 36, 0.18);
}

.date-picker-head {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) 34px auto;
  gap: 8px;
  align-items: center;
  margin-bottom: 12px;
}

.date-picker-head strong {
  color: var(--ink);
  font-size: 0.9rem;
  text-align: center;
}

.date-picker-hint {
  margin: -4px 0 10px;
  border-radius: 8px;
  padding: 7px 9px;
  color: #9b3327;
  background: #fff1ee;
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1.3;
}

.date-picker-hint:empty {
  display: none;
}

.date-picker-nav,
.date-picker-clear {
  min-height: 32px;
  padding: 0 10px;
  border-color: #d9e0e5;
  color: #35505d;
  background: #f7f9fa;
  box-shadow: none;
}

.date-picker-nav {
  width: 34px;
  padding: 0;
  font-size: 1.35rem;
  line-height: 1;
}

.date-picker-clear {
  font-size: 0.74rem;
  font-weight: 800;
}

.date-picker-nav:hover,
.date-picker-clear:hover {
  color: var(--accent);
  background: #eef4f2;
  transform: none;
}

.date-picker-months {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.date-picker-month {
  min-width: 0;
}

.date-picker-month h3 {
  margin: 0 0 8px;
  color: #003f5a;
  font-size: 0.82rem;
  font-weight: 900;
  text-align: center;
  text-transform: capitalize;
}

.date-picker-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 4px;
}

.date-picker-weekday {
  display: grid;
  min-height: 24px;
  place-items: center;
  color: #74828c;
  font-size: 0.68rem;
  font-weight: 900;
}

.date-picker-empty {
  min-height: 30px;
}

.date-picker-day {
  min-height: 30px;
  border: 1px solid transparent;
  border-radius: 8px;
  padding: 0;
  color: var(--ink);
  background: transparent;
  box-shadow: none;
  font-size: 0.78rem;
  font-weight: 800;
}

.date-picker-day:hover {
  border-color: rgba(22, 108, 95, 0.2);
  color: var(--accent);
  background: #eef7f4;
  transform: none;
}

.date-picker-day.today {
  border-color: #b8d2ca;
  color: #0f685c;
  background: #f1f8f5;
  box-shadow: inset 0 0 0 2px rgba(15, 104, 92, 0.18);
  font-size: 0.84rem;
  font-weight: 1000;
}

.date-picker-day.invalid-order {
  border-color: #e7aaa3;
  color: #983428;
  background: #fff0ed;
}

.date-picker-day.invalid-order:hover {
  border-color: #c84b3f;
  color: #8f2f24;
  background: #ffe3df;
}

.date-picker-day.selected {
  border-color: var(--accent);
  color: #fff;
  background: var(--accent);
}

.date-picker-day.invalid-order.selected {
  border-color: #c84b3f;
  color: #fff;
  background: #c84b3f;
}

@media (max-width: 720px) {
  .two-month-picker {
    width: calc(100vw - 24px);
  }

  .date-picker-months {
    grid-template-columns: 1fr;
  }
}

.device-type-select {
  appearance: none;
  font-weight: 800;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
  box-shadow: inset 0 0 0 1px transparent;
}

.device-type-select option {
  color: var(--ink);
  background: #fff;
}

.device-type-select[data-type-value="ALL"],
.device-type-select.type-select-all {
  color: var(--ink);
  background: #fff;
}

.device-type-select[data-type-value="NA STANIE"],
.device-type-select.type-select-stock {
  color: #075f61;
  background: #e1f4f2;
  border-color: #76bbb5;
  box-shadow: inset 4px 0 0 #198f8b;
}

.device-type-select[data-type-value="SPRZEDANY"],
.device-type-select.type-select-sold {
  color: #2f6b2f;
  background: #e8f4df;
  border-color: #9cc47d;
  box-shadow: inset 4px 0 0 #68a64b;
}

.device-type-select[data-type-value="REZERWACJA"],
.device-type-select.type-select-reserved {
  color: #755118;
  background: #fff0d8;
  border-color: #d9a75a;
  box-shadow: inset 4px 0 0 #c8852c;
}

.device-type-select[data-type-value="ZWROT"],
.device-type-select.type-select-return {
  color: #8b3434;
  background: #fde8e3;
  border-color: #df9a90;
  box-shadow: inset 4px 0 0 #c85b4e;
}

.table-zone {
  max-width: 100%;
  overflow: auto;
  border: 1px solid rgba(216, 221, 227, 0.75);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.97);
  box-shadow: var(--shadow);
}

table {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  border-collapse: collapse;
  table-layout: fixed;
}

.devices-table th:nth-child(2),
.devices-table td:nth-child(2) {
  min-width: 88px;
}

.devices-table th:nth-child(3),
.devices-table td:nth-child(3) {
  min-width: 320px;
}

.devices-table th:nth-child(4),
.devices-table td:nth-child(4) {
  min-width: 150px;
}

.devices-table th:nth-child(5),
.devices-table td:nth-child(5) {
  min-width: 132px;
}

.devices-table th:nth-child(8),
.devices-table td:nth-child(8) {
  min-width: 240px;
}

.devices-table th:nth-child(10),
.devices-table td:nth-child(10) {
  width: 50px;
  min-width: 50px;
  text-align: center;
}

.devices-table th:nth-child(11),
.devices-table td:nth-child(11) {
  width: 56px;
  min-width: 56px;
  text-align: center;
}

.devices-table th:nth-child(12),
.devices-table td:nth-child(12) {
  min-width: 220px;
}

.devices-table th:nth-child(13),
.devices-table td:nth-child(13) {
  width: 96px;
  min-width: 96px;
}

.devices-table th.actions-head {
  width: 96px;
  min-width: 96px;
}

.devices-table.private-payments-enabled th.private-payment-column,
.devices-table.private-payments-enabled td:nth-child(13) {
  width: 46px;
  min-width: 46px;
  text-align: center;
}

.devices-table.private-payments-enabled th:nth-child(14),
.devices-table.private-payments-enabled td:nth-child(14) {
  width: 96px;
  min-width: 96px;
}

th,
td {
  border-bottom: 1px solid var(--line);
  padding: 9px 7px;
  text-align: left;
  vertical-align: top;
}

th {
  position: sticky;
  top: 0;
  z-index: 1;
  color: #fff;
  background: #2d3f45;
  font-size: 0.72rem;
  line-height: 1.15;
  letter-spacing: 0;
  text-transform: uppercase;
  white-space: normal;
  cursor: pointer;
}

th.actions-head {
  cursor: default;
}

tbody tr:hover {
  background: #f5f8f7;
}

tbody tr.year-separator-row,
tbody tr.year-separator-row:hover {
  background: #f8fafb;
}

tbody tr.year-separator-row > td {
  padding: 13px 10px 6px;
  border-bottom: 0;
  color: #557078;
  background: linear-gradient(to bottom, transparent 49%, #d5dfe1 49%, #d5dfe1 52%, transparent 52%);
  font-size: 0.7rem;
  font-weight: 900;
  line-height: 1;
  text-align: left;
}

tbody tr.year-separator-row:first-child > td {
  padding-top: 7px;
}

tbody tr.year-separator-row > td > span {
  display: inline-block;
  padding-right: 9px;
  background: #f8fafb;
}

tbody tr.device-sold-row {
  color: #7e878f;
  background: #fbfcfc;
}

tbody tr.device-sold-row .serial-pill,
tbody tr.device-sold-row .location-pill,
tbody tr.device-sold-row .waybill-icon {
  opacity: 0.72;
}

tbody tr.device-sold-row .type-pill,
tbody tr.device-sold-row .age-pill {
  opacity: 0.82;
}

tbody tr.device-sold-row:hover {
  background: #f3f5f5;
}

.device-name-cell.has-price {
  position: relative;
  color: #174f64;
  cursor: help;
  text-decoration: underline dotted rgba(23, 79, 100, 0.42);
  text-underline-offset: 3px;
}

.device-name-cell.has-price::after {
  content: attr(data-price-tooltip);
  position: absolute;
  left: 0;
  bottom: calc(100% + 8px);
  z-index: 20;
  min-width: 190px;
  max-width: 280px;
  padding: 8px 10px;
  border: 1px solid #c9d8d4;
  border-radius: 8px;
  color: #20343b;
  background: #ffffff;
  box-shadow: 0 10px 26px rgba(28, 31, 36, 0.14);
  font-size: 0.78rem;
  font-weight: 650;
  line-height: 1.35;
  opacity: 0;
  pointer-events: none;
  transform: translateY(4px);
  transition: opacity 120ms ease, transform 120ms ease;
  white-space: pre-line;
}

.device-name-cell.has-price:hover::after,
.device-name-cell.has-price:focus-visible::after {
  opacity: 1;
  transform: translateY(0);
}

.devices-table tbody tr:first-child .device-name-cell.has-price::after,
.devices-table tbody tr.year-separator-row + tr .device-name-cell.has-price::after,
.repairs-table tbody tr:first-child .device-name-cell.has-price::after,
.repairs-table tbody tr.year-separator-row + tr .device-name-cell.has-price::after {
  top: calc(100% + 8px);
  bottom: auto;
  z-index: 40;
}

.customer-activity-cell {
  position: relative;
  display: inline-flex;
  gap: 6px;
  align-items: center;
  max-width: 100%;
}

.customer-activity-cell.has-customer-docs {
  color: #174f64;
  cursor: help;
  font-weight: 760;
}

.customer-docs-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 30px;
  height: 18px;
  border: 1px solid #b8d8d2;
  border-radius: 6px;
  padding: 1px 5px;
  color: #1f5a63;
  background: #eef8f6;
  font-size: 0.6rem;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}

.customer-phone-badge {
  display: inline-flex;
  width: fit-content;
  min-width: 30px;
  height: 18px;
  align-items: center;
  justify-content: center;
  border: 1px solid #b8d8d2;
  border-radius: 6px;
  padding: 1px 5px;
  color: #1f5a63;
  background: #eef8f6;
  font-size: 0.6rem;
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
  text-transform: lowercase;
  white-space: nowrap;
  cursor: pointer;
}

.customer-contact-badges {
  display: inline-flex;
  flex: 0 0 auto;
  flex-wrap: nowrap;
  align-items: center;
  gap: 3px;
  white-space: nowrap;
}

.device-form-zone {
  display: grid;
  gap: 8px;
}

.device-form-zone + .device-form-zone {
  border-top: 1px solid #dce6e8;
  padding-top: 13px;
}

.device-form-zone-title {
  color: #607780;
  font-size: 0.67rem;
  font-weight: 820;
  text-transform: uppercase;
}

.device-form-zone-grid {
  display: grid;
  gap: 12px;
  align-items: end;
}

.device-form-zone-grid-two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.device-form-zone-grid-three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.device-form-zone-grid label {
  min-width: 0;
}

.customer-phone-badge:hover,
.customer-phone-badge:focus-visible {
  border-color: #72aaa1;
  color: #07534f;
  background: #e4f4f1;
}

.customer-phone-badge.uncertain {
  border-color: #e0c39d;
  color: #825924;
  background: #fbf3e8;
  cursor: help;
}

.customer-activity-cell.customer-docs-uncertain .customer-docs-badge {
  border-color: #e0c39d;
  color: #7a5130;
  background: #f8eadb;
}

.customer-activity-cell.customer-demo-warning {
  color: #7a3f29;
  font-weight: 820;
}

.customer-loan-badge.demo {
  border-color: #9fcfca;
  color: #0b6666;
  background: #e7f6f4;
}

.customer-loan-badge.replacement {
  border-color: #edc198;
  color: #8b4b17;
  background: #fff0e1;
}

.customer-activity-cell.has-customer-docs::after {
  content: attr(data-customer-tooltip);
  position: absolute;
  left: 0;
  bottom: calc(100% + 8px);
  z-index: 45;
  min-width: 260px;
  max-width: 430px;
  padding: 8px 10px;
  border: 1px solid #c9d8d4;
  border-radius: 8px;
  color: #20343b;
  background: #ffffff;
  box-shadow: 0 10px 26px rgba(28, 31, 36, 0.14);
  font-size: 0.75rem;
  font-weight: 650;
  line-height: 1.35;
  opacity: 0;
  pointer-events: none;
  transform: translateY(4px);
  transition: opacity 120ms ease, transform 120ms ease;
  white-space: pre-line;
}

.customer-activity-cell.has-customer-docs.customer-demo-warning::after {
  border-color: #e5b7aa;
}

.customer-activity-cell.has-customer-docs:hover::after,
.customer-activity-cell.has-customer-docs:focus-visible::after {
  opacity: 1;
  transform: translateY(0);
}

.devices-table tbody tr:first-child .customer-activity-cell.has-customer-docs::after,
.devices-table tbody tr.year-separator-row + tr .customer-activity-cell.has-customer-docs::after {
  top: calc(100% + 8px);
  bottom: auto;
}

/* Podpowiedzi tabel są przenoszone do body, aby nie ucinało ich przewijane pole tabeli. */
.device-name-cell.has-price::after,
.customer-activity-cell.has-customer-docs::after {
  display: none !important;
}

.table-hover-tooltip {
  position: fixed;
  z-index: 300;
  width: min(430px, calc(100vw - 24px));
  max-height: min(340px, calc(100vh - 24px));
  overflow: auto;
  padding: 9px 10px;
  border: 1px solid #c9d8d4;
  border-radius: 8px;
  color: #20343b;
  background: #ffffff;
  box-shadow: 0 10px 26px rgba(28, 31, 36, 0.14);
  font-size: 0.76rem;
  font-weight: 650;
  line-height: 1.38;
  white-space: pre-wrap;
  pointer-events: none;
}

.table-hover-tooltip[hidden] {
  display: none;
}

.warranty-date {
  font-weight: 900;
}

.warranty-date.active {
  color: #28734f;
}

.warranty-date.expired {
  color: #b33f35;
}

.complaint-warranty-cell .warranty-date {
  font-size: 1.02em;
}

tbody tr.serial-duplicate-row {
  background: #fff7f2;
}

tbody tr.serial-duplicate-row:hover {
  background: #fff0e8;
}

tbody tr.serial-service-row {
  background: #f3faf9;
}

tbody tr.serial-service-row:hover {
  background: #e9f5f3;
}

tbody tr.fifo-warning {
  background: var(--fifo-yellow);
}

tbody tr.fifo-critical {
  background: var(--fifo-red);
}

tbody tr.fifo-warning:hover {
  background: #fff2c2;
}

tbody tr.fifo-critical:hover {
  background: #ffe0dc;
}

tbody tr.repair-open td:first-child {
  border-left: 5px solid #70b7a2;
}

.repairs-table tbody tr.repair-row > td {
  background-color: transparent;
}

.repair-status-received {
  background: #fafcfd;
}

.repair-status-progress {
  background: #f6faf9;
}

.repair-status-ready {
  background: #f4f9fc;
}

.repair-status-picked-up {
  background: #f8f9fa;
}

tbody tr.repair-status-received:hover {
  background: #f3f8fb;
}

tbody tr.repair-status-progress:hover {
  background: #eef6f4;
}

tbody tr.repair-status-ready:hover {
  background: #eaf4fa;
}

tbody tr.repair-overdue-warning {
  background: #fff8eb;
}

tbody tr.repair-overdue-warning td:first-child {
  border-left-color: #d6a35c;
}

tbody tr.repair-overdue-warning:hover {
  background: #fff3de;
}

tbody tr.repair-document-number-warning {
  background: #faf8ff;
}

tbody tr.repair-document-number-warning td:first-child {
  box-shadow: inset 4px 0 0 #b8a8d4;
}

tbody tr.repair-document-number-warning:hover {
  background: #f6f2fc;
}

tbody tr.repair-overdue-critical {
  background: #fff0ee;
}

tbody tr.repair-overdue-critical td:first-child {
  border-left-color: #cf766d;
}

.repair-notes-cell {
  display: grid;
  gap: 5px;
}

.repair-notes-preview {
  position: relative;
  display: block;
  cursor: help;
}

.repair-notes-preview-text {
  display: -webkit-box;
  overflow: hidden;
  color: #40525a;
  line-height: 1.32;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}

.repair-notes-tooltip {
  position: fixed;
  z-index: 100;
  width: min(440px, calc(100vw - 24px));
  max-height: min(320px, calc(100vh - 24px));
  overflow: auto;
  padding: 9px 10px;
  border: 1px solid #cbd9dd;
  border-radius: 8px;
  color: #20343b;
  background: #ffffff;
  box-shadow: 0 10px 26px rgba(28, 31, 36, 0.16);
  font-size: 0.76rem;
  font-weight: 650;
  line-height: 1.38;
  white-space: pre-wrap;
  pointer-events: none;
}

.repair-number-warning {
  width: fit-content;
  max-width: 100%;
  display: inline-block;
  padding: 3px 6px;
  border-radius: 6px;
  color: #5a4b7d;
  background: #f1edfb;
  font-size: 0.68rem;
  font-weight: 850;
  line-height: 1.25;
}

tbody tr.repair-overdue-critical:hover {
  background: #ffe8e5;
}

tbody tr.repair-closed {
  color: #98a1a8;
}

tbody tr.repair-closed .type-pill,
tbody tr.repair-closed .status-pill,
tbody tr.repair-closed .date-pill,
tbody tr.repair-closed .serial-pill {
  opacity: 0.56;
}

tbody tr.repair-closed:hover {
  background: #f1f3f4;
}

td {
  font-size: 0.86rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.muted-cell {
  color: #9aa2aa;
}

.waybill-cell {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 100%;
}

.waybill-icon {
  display: inline-flex;
  width: 18px;
  height: 18px;
  color: #1f4f79;
  flex: 0 0 auto;
}

.private-payment-column,
.private-payment-cell {
  text-align: center;
}

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

.private-payment-cell {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 8px;
  color: #0f5c48;
  background: #e5f4ee;
  font-size: 0.82rem;
  font-weight: 950;
}

.ezwm-cell {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
}

.ezwm-icon {
  width: 18px;
  height: 18px;
}

.ezwm-picked {
  color: #157347;
}

.ezwm-progress {
  color: #c56f00;
}

.ezwm-none {
  color: #66707a;
}

.ezwm-alert {
  color: #c3392a;
}

.pickup-customer {
  display: inline-block;
  color: #064f3f;
  font-size: 0.96rem;
  font-weight: 900;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}

.pickup-customer-cell,
.pickup-customer-cell .pickup-customer {
  color: #064f3f !important;
  font-weight: 900 !important;
}

.pickup-customer-cell {
  background: transparent;
}

.age-pill,
.date-pill,
.location-pill,
.serial-pill,
.status-pill,
.type-pill {
  display: inline-flex;
  align-items: center;
  min-height: 23px;
  border-radius: 8px;
  padding: 2px 7px;
  font-size: 0.72rem;
  font-weight: 850;
}

.location-pill {
  border: 1px solid #c9bfb3;
  color: #6f604f;
  background: #faf8f5;
}

.location-pill.T12 {
  border-color: #c9bfb3;
  color: #6f604f;
  background: #faf8f5;
}

.location-pill.P50 {
  border-color: #c7cf9d;
  color: #616b2f;
  background: #f7faec;
}

.location-pill.P63 {
  border-color: #d3c1de;
  color: #7b628b;
  background: #faf6fc;
}

.date-pill.sent {
  color: #52736e;
  background: #f0f7f5;
}

.date-pill.return {
  color: #416f9a;
  background: #f0f6fb;
}

.date-pill.pickup {
  color: #42745b;
  background: #eef7f2;
}

.date-pill.past {
  opacity: 0.42;
  filter: saturate(0.45);
}

.date-text.today-date {
  display: inline-block;
  color: #003f5a !important;
  font-size: 1.06em;
  font-weight: 1000 !important;
}

.date-pill.today-date {
  opacity: 1 !important;
  filter: none !important;
  color: #003f5a !important;
  font-size: 0.79rem;
  font-weight: 1000 !important;
}

tbody tr.repair-closed .date-pill.today-date,
tbody tr.device-sold-row .date-text.today-date {
  opacity: 1 !important;
  filter: none !important;
  color: #003f5a !important;
}

.serial-pill {
  appearance: none;
  border: 0;
  gap: 5px;
  padding: 2px 5px;
  color: #003f5a;
  background: #eef6f8;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  font-size: 0.9rem;
  font-weight: 920;
  letter-spacing: 0;
  cursor: pointer;
  transform: none;
  transition:
    background 0.16s ease,
    box-shadow 0.16s ease,
    color 0.16s ease;
}

.serial-pill-number {
  pointer-events: none;
}

.repair-serial-list {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 3px 6px;
  max-width: 100%;
}

.devices-table td:nth-child(4) .serial-pill {
  padding: 2px 4px;
  color: #003f5a;
  background: #e9f3f6;
  font-size: 0.98rem;
}

.repairs-table td:nth-child(6) .serial-pill {
  color: #003f5a;
  background: #e9f3f6;
  font-weight: 920;
}

.devices-table tbody tr.device-sold-row td:nth-child(4) .serial-pill {
  color: #2f6347;
  background: #eff7f0;
  opacity: 0.9;
}

.devices-table tbody tr.device-sold-row td:nth-child(4) .serial-pill:hover,
.devices-table tbody tr.device-sold-row td:nth-child(4) .serial-pill:focus-visible {
  color: #24543a;
  background: #e4f1e7;
  opacity: 1;
}

.devices-table td:nth-child(4) .serial-pill.duplicate {
  font-size: 1rem;
}

.devices-table td:nth-child(4) .serial-pill.service {
  font-size: 0.98rem;
}

.serial-pill:hover,
.serial-pill:focus-visible {
  border-color: transparent;
  color: #002f43;
  background: #dcecf1;
  transform: none;
}

.serial-pill:focus-visible {
  outline: 2px solid #4c9ac0;
  outline-offset: 2px;
}

.serial-pill.copied {
  color: #1d6b45;
  background: #e4f4eb;
  box-shadow: inset 0 0 0 1px #b8dfc8;
}

.serial-pill.empty {
  cursor: default;
  opacity: 0.58;
  background: transparent;
}

.serial-pill.empty:hover {
  color: #003f5a;
  background: transparent;
}

.serial-copy-icon {
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  opacity: 0.62;
}

.serial-pill:hover .serial-copy-icon,
.serial-pill:focus-visible .serial-copy-icon,
.serial-pill.copied .serial-copy-icon {
  opacity: 0.9;
}

.serial-copy-toast {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 100;
  max-width: min(320px, calc(100vw - 36px));
  border: 1px solid #b8dfc8;
  border-radius: 8px;
  padding: 9px 12px;
  color: #1d6b45;
  background: #eef8f1;
  box-shadow: 0 12px 30px rgba(28, 31, 36, 0.16);
  font-size: 0.84rem;
  font-weight: 800;
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity 140ms ease, transform 140ms ease;
}

.serial-copy-toast.visible {
  opacity: 1;
  transform: translateY(0);
}

.serial-pill.duplicate {
  gap: 6px;
  padding: 2px 7px;
  color: #a13b2f;
  background: #fff0e8;
  font-size: 0.92rem;
}

.serial-pill.service {
  gap: 6px;
  padding: 2px 7px;
  color: #236d73;
  background: #e9f5f3;
  font-size: 0.9rem;
}

.serial-pill.sale {
  gap: 6px;
  padding: 2px 7px;
  color: #4f6533;
  background: #eef5e8;
  font-size: 0.9rem;
}

tbody tr.device-sold-row .serial-pill.duplicate,
tbody tr.device-sold-row .serial-pill.service {
  opacity: 1;
}

.serial-duplicate-marker {
  color: #b65a36;
  font-family: inherit;
  font-size: 0.64rem;
  font-weight: 850;
  text-transform: uppercase;
}

.serial-service-marker {
  color: #2c7c7f;
  font-family: inherit;
  font-size: 0.64rem;
  font-weight: 850;
  text-transform: uppercase;
}

.serial-sale-marker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 16px;
  border: 1px solid #9ab171;
  border-radius: 4px;
  padding: 0 3px;
  color: #607b3d;
  background: #f8fbf2;
  flex: 0 0 auto;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 0.58rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0;
}

.type-pill.REPAIR {
  color: #466783;
  background: #f2f7fc;
  box-shadow:
    inset 0 0 0 1px #cbddeb,
    inset 3px 0 0 #9bbbd7;
}

.type-pill.INSERT {
  color: #756b42;
  background: #fffaf0;
  box-shadow:
    inset 0 0 0 1px #eadfb9,
    inset 3px 0 0 #d8c58b;
}

.type-pill.WATER-INSERT {
  color: #3f706a;
  background: #f1faf8;
  box-shadow:
    inset 0 0 0 1px #c6e2dd,
    inset 3px 0 0 #8dc7bd;
}

.type-pill.ORDER {
  color: #675f78;
  background: #f8f6fc;
  box-shadow:
    inset 0 0 0 1px #ddd5ed,
    inset 3px 0 0 #bcaed8;
}

.type-pill.OUT-OF-WARRANTY {
  color: #845564;
  background: #fcf3f5;
  box-shadow:
    inset 0 0 0 1px #ebcbd4,
    inset 3px 0 0 #d99aaa;
}

.type-pill.warranty-warning {
  box-shadow:
    inset 0 0 0 1px #d08a35,
    0 0 0 1px rgba(208, 138, 53, 0.16);
}

.status-pill.PRZYJĘTE {
  color: #667078;
  background: #f5f7f8;
  box-shadow: inset 0 0 0 1px #dde3e7;
}

.status-pill.W-TRAKCIE {
  color: #52736e;
  background: #f2f8f6;
  box-shadow: inset 0 0 0 1px #c9ddd8;
}

.status-pill.GOTOWE {
  color: #416f9a;
  background: #f0f7fc;
  box-shadow: inset 0 0 0 1px #c3dbea;
}

.status-pill.ODEBRANE {
  color: #617269;
  background: #f3f7f5;
  box-shadow: inset 0 0 0 1px #d4dfd9;
}

.age-pill.fresh {
  color: #4b6476;
  background: #e9f1f7;
}

.age-pill.aging {
  color: #2f597d;
  background: #dbeeff;
}

.age-pill.missing {
  color: var(--muted);
  background: #edf0f2;
}

.age-pill.sold {
  color: var(--sold);
  background: var(--sold-soft);
}

.age-pill.warning {
  color: var(--fifo-yellow-strong);
  background: #fff0b8;
}

.age-pill.critical {
  color: var(--fifo-red-strong);
  background: #ffd9d3;
}

.type-pill.type-stock {
  color: #075f61;
  background: #e1f4f2;
  box-shadow: inset 0 0 0 1px #8ac9c4;
}

.type-pill.type-sold {
  color: #2f6b2f;
  background: #e8f4df;
  box-shadow: inset 0 0 0 1px #aacb8f;
}

.type-pill.type-reserved {
  color: #755118;
  background: #fff0d8;
  box-shadow: inset 0 0 0 1px #dfb16b;
}

.type-pill.type-return {
  color: #8b3434;
  background: #fde8e3;
  box-shadow: inset 0 0 0 1px #e3a299;
}

.devices-table td:nth-child(5) .type-pill {
  min-height: 20px;
  padding: 1px 6px;
  font-size: 0.66rem;
  font-weight: 820;
}

.row-actions {
  display: flex;
  gap: 5px;
  width: auto;
  min-width: 0;
}

td.row-actions {
  width: auto;
  min-width: 0;
}

.devices-table td.row-actions,
.repairs-table td.row-actions,
.demo-table td.row-actions {
  width: auto;
  min-width: 0;
}

.row-actions button {
  min-height: 29px;
  flex: 1 1 0;
  min-width: 0;
  padding: 0 5px;
  font-size: 0.7rem;
}

.move-record-btn {
  color: #315b6b;
  background: #edf5f8;
  border-color: #c4d6de;
}

.move-record-btn:hover {
  color: #003f5a;
  background: #e2eef3;
  border-color: #9fbdc9;
  transform: none;
}

.empty-state {
  margin: 0;
  padding: 34px;
  color: var(--muted);
  text-align: center;
}

.render-limit-notice {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 10px 12px;
  border-top: 1px solid var(--line);
  color: #5a6874;
  background: #fbfcfd;
  font-size: 0.8rem;
  font-weight: 700;
}

.render-limit-notice[hidden] {
  display: none;
}

.render-limit-notice button {
  min-height: 30px;
  padding: 0 10px;
  color: #315d54;
  background: #eef5f3;
  border-color: #cbdcd7;
  font-size: 0.76rem;
}

.render-limit-notice button:hover {
  color: #123f38;
  background: #e2eeeb;
}

.data-control-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 10px;
}

.data-control-title {
  display: flex;
  align-items: baseline;
  gap: 10px;
}

.data-control-title strong {
  color: #003f5a;
  font-size: 0.94rem;
}

.data-control-title span {
  color: var(--muted);
  font-size: 0.8rem;
  font-weight: 700;
}

.data-control-search {
  flex: 1 1 340px;
  max-width: 560px;
}

.data-control-stats {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.data-control-stat {
  display: inline-flex;
  min-height: 32px;
  align-items: center;
  gap: 6px;
  border: 1px solid #d4dde4;
  border-radius: 8px;
  padding: 4px 8px;
  color: #526271;
  background: #fbfcfd;
  font-size: 0.76rem;
  font-weight: 750;
}

.data-control-stat strong {
  color: #003f5a;
  font-size: 0.9rem;
}

.data-control-table {
  min-width: 1180px;
}

.data-control-table th:nth-child(1),
.data-control-table td:nth-child(1) {
  width: 132px;
  min-width: 132px;
}

.data-control-table th:nth-child(2),
.data-control-table td:nth-child(2) {
  width: 90px;
  min-width: 90px;
}

.data-control-table th:nth-child(4),
.data-control-table td:nth-child(4) {
  min-width: 155px;
}

.data-control-table th:nth-child(7),
.data-control-table td:nth-child(7) {
  width: 96px;
  min-width: 96px;
}

.data-control-row.critical {
  background: #fff0ee;
}

.data-control-row.warning {
  background: #fff8e8;
}

.data-control-row.info {
  background: #f5f8fb;
}

.data-control-row.critical:hover {
  background: #ffe3df;
}

.data-control-row.warning:hover {
  background: #fff0ce;
}

.data-control-row.info:hover {
  background: #eef4f8;
}

.data-severity-pill {
  display: inline-flex;
  min-height: 23px;
  align-items: center;
  border-radius: 8px;
  padding: 2px 7px;
  font-size: 0.72rem;
  font-weight: 850;
}

.data-severity-pill.critical {
  color: #8b342b;
  background: #ffd9d3;
}

.data-severity-pill.warning {
  color: #715b17;
  background: #fff0b8;
}

.data-severity-pill.info {
  color: #3e5d72;
  background: #e4eef5;
}

.stock-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  margin: 18px 0;
  padding: 20px;
  border: 1px solid rgba(216, 221, 227, 0.75);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 10px 30px rgba(28, 31, 36, 0.08);
}

.stock-head p:not(.eyebrow) {
  margin: 8px 0 0;
  color: var(--muted);
}

.stock-total {
  min-width: 170px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--soft);
}

.stock-total span {
  display: block;
  font-size: 2rem;
  font-weight: 850;
}

.stock-total small {
  color: var(--muted);
  font-weight: 700;
}

.stock-table {
  min-width: 860px;
}

.stock-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 10px;
}

.stock-toolbar-title {
  display: flex;
  align-items: baseline;
  gap: 10px;
}

.stock-toolbar-title strong {
  color: #003f5a;
  font-size: 0.94rem;
}

.stock-toolbar-title span {
  color: var(--muted);
  font-size: 0.8rem;
  font-weight: 700;
}

.stock-location-summary {
  display: flex;
  flex: 1 1 auto;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.stock-location-card {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 32px;
  padding: 4px 8px;
  border: 1px solid #d4dde4;
  border-radius: 8px;
  background: #fbfcfd;
  color: #526271;
  font-size: 0.76rem;
  font-weight: 750;
}

.stock-location-card strong {
  color: #003f5a;
  font-size: 0.9rem;
}

.stock-location-card span:not(.location-pill) {
  color: var(--muted);
}

.stock-audit-panel {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(180px, 220px) minmax(150px, 180px) auto;
  gap: 10px;
  align-items: end;
  margin: 0 0 12px;
  padding: 12px;
  border: 1px solid rgba(198, 211, 217, 0.78);
  border-radius: 8px;
  background: rgba(247, 251, 250, 0.92);
}

.stock-audit-title {
  display: grid;
  gap: 3px;
  align-self: center;
}

.stock-audit-title strong {
  color: #003f5a;
  font-size: 0.88rem;
}

.stock-audit-title span {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 750;
}

.stock-audit-actions {
  display: flex;
  gap: 7px;
  align-items: center;
}

.stock-audit-preview {
  grid-column: 1 / -1;
  display: grid;
  gap: 10px;
  padding-top: 4px;
}

.stock-audit-preview-head {
  display: grid;
  grid-template-columns: repeat(2, minmax(120px, 1fr));
  gap: 8px;
}

.stock-audit-preview-card {
  display: flex;
  min-height: 46px;
  align-items: center;
  justify-content: space-between;
  border: 1px solid transparent;
  border-radius: 8px;
  padding: 8px 11px;
  font-size: 0.78rem;
  font-weight: 850;
}

.stock-audit-preview-card strong {
  font-size: 1rem;
}

.stock-audit-preview-card.present {
  color: #075f61;
  border-color: #aad3cc;
  background: #eaf7f4;
}

.stock-audit-preview-card.missing {
  color: #8b3a31;
  border-color: #e7b4a7;
  background: #fff0ec;
}

.stock-audit-preview-lists {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.stock-audit-preview-list {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.stock-audit-preview-list > strong {
  color: #003f5a;
  font-size: 0.76rem;
}

.stock-audit-preview-items {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.stock-audit-preview-chip,
.stock-audit-preview-more,
.stock-audit-preview-empty {
  display: inline-flex;
  max-width: 100%;
  min-height: 23px;
  align-items: center;
  border-radius: 8px;
  padding: 3px 8px;
  font-size: 0.72rem;
  font-weight: 800;
}

.stock-audit-preview-chip {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.stock-audit-preview-chip.present {
  color: #075f61;
  background: #dff2ee;
}

.stock-audit-preview-chip.missing {
  color: #8b3a31;
  background: #ffe2da;
}

.stock-audit-preview-more,
.stock-audit-preview-empty {
  color: var(--muted);
  background: rgba(236, 241, 243, 0.82);
}

#saveStockAuditBtn,
#exportStockAuditPdfBtn,
#clearStockAuditBtn {
  min-height: 38px;
  padding: 7px 12px;
  font-size: 0.78rem;
}

#saveStockAuditBtn {
  color: #075f61;
  background: #e1f4f2;
  border-color: #8ac9c4;
}

#clearStockAuditBtn {
  color: #5f6b72;
  background: #f3f6f7;
  border-color: #d2dbe0;
}

#exportStockAuditPdfBtn {
  color: #29485e;
  background: #eef5f8;
  border-color: #bdd1dc;
}

#saveStockAuditBtn:hover {
  color: #064f50;
  background: #d6eeeb;
  transform: none;
}

#exportStockAuditPdfBtn:hover {
  color: #1d3b51;
  background: #e3eff4;
  transform: none;
}

#clearStockAuditBtn:hover {
  color: #39464d;
  background: #e9eef1;
  transform: none;
}

.stock-audit-report {
  display: none;
}

#printStockChecklistBtn {
  min-height: 31px;
  padding: 5px 10px;
  color: #43586a;
  background: #f3f6f8;
  border-color: #c9d3dc;
  font-size: 0.74rem;
}

#printDemoChecklistBtn {
  min-height: 31px;
  padding: 5px 10px;
  color: #43586a;
  background: #f3f6f8;
  border-color: #c9d3dc;
  font-size: 0.74rem;
}

#printStockChecklistBtn:hover,
#printDemoChecklistBtn:hover {
  color: #29485e;
  background: #e8eef3;
  border-color: #aab8c4;
}

.stock-checklist,
.demo-checklist {
  display: none;
}

.repairs-table {
  min-width: 1300px;
}

.demo-table {
  min-width: 1600px;
}

.demo-table th:nth-child(1),
.demo-table td:nth-child(1) {
  min-width: 150px;
}

.demo-table th:nth-child(2),
.demo-table td:nth-child(2) {
  min-width: 145px;
}

.demo-table th:nth-child(3),
.demo-table td:nth-child(3) {
  min-width: 170px;
}

.demo-table th:nth-child(4),
.demo-table td:nth-child(4) {
  min-width: 140px;
}

.demo-table th:nth-child(5),
.demo-table td:nth-child(5) {
  min-width: 290px;
}

.demo-table th:nth-child(6),
.demo-table td:nth-child(6) {
  min-width: 150px;
}

.demo-table th:nth-child(7),
.demo-table td:nth-child(7),
.demo-table th:nth-child(8),
.demo-table td:nth-child(8) {
  min-width: 230px;
}

.demo-table th:nth-child(9),
.demo-table td:nth-child(9) {
  min-width: 220px;
}

.demo-table th:nth-child(10),
.demo-table td:nth-child(10) {
  width: 96px;
  min-width: 96px;
}

.demo-quality {
  display: block;
  margin-top: 4px;
  color: #9b4b20;
  font-size: 0.7rem;
  font-weight: 750;
}

.demo-purpose-pill {
  display: inline-flex;
  width: fit-content;
  min-height: 20px;
  align-items: center;
  border-radius: 7px;
  padding: 2px 6px;
  font-size: 0.66rem;
  font-weight: 800;
}

.demo-purpose-pill.replacement {
  color: #5e6040;
  background: #eef1d8;
}

.status-pill.NA-STANIE {
  color: #1f4f79;
  background: #dbeeff;
}

.status-pill.WYPOŻYCZONY {
  color: #745600;
  background: #faebad;
}

.status-pill.BRAK {
  color: #8b342b;
  background: #ffe0db;
}

.status-pill.DO-ZWROTU {
  color: #6b4f73;
  background: #f4ecf7;
}

.status-pill.ZWRÓCONO {
  color: #286048;
  background: #e1f1e9;
}

tbody tr.demo-needs-review {
  background: #fffaf0;
}

tbody tr.demo-missing {
  background: #fff2f0;
}

tbody tr.demo-return-warning {
  background: #fff8dc;
}

tbody tr.demo-return-warning:hover {
  background: #fff1bd;
}

tbody tr.demo-return-critical {
  background: #ffe7e3;
}

tbody tr.demo-return-critical:hover {
  background: #ffd9d3;
}

.demo-current-user {
  display: inline-grid;
  gap: 1px;
  border-radius: 7px;
  padding: 5px 8px;
  color: #174d67;
  background: #e6f2f7;
}

.demo-current-user small {
  color: #66808d;
  font-size: 0.66rem;
  font-weight: 750;
  text-transform: uppercase;
}

.demo-current-user strong {
  font-size: 0.88rem;
  font-weight: 850;
}

.demo-current-user .customer-phone-badge {
  margin-top: 2px;
  color: #176d68;
  font-size: 0.61rem;
  font-weight: 900;
}

.demo-current-user span {
  color: #527482;
  font-size: 0.7rem;
  font-weight: 750;
}

.demo-notes-cell {
  display: grid;
  gap: 5px;
}

.demo-notes-loan-date,
.demo-notes-return-date {
  width: fit-content;
  border-radius: 6px;
  padding: 3px 7px;
  font-size: 0.72rem;
  font-weight: 800;
}

.demo-notes-loan-date {
  color: #735400;
  background: #fff1bd;
}

.demo-notes-return-date {
  color: #286048;
  background: #e1f1e9;
}

.demo-notes-history {
  color: #5d6670;
  font-size: 0.72rem;
  font-weight: 750;
}

.demo-loan-history {
  margin: 0 0 16px;
  border-top: 1px solid var(--line);
  padding-top: 14px;
}

.demo-loan-history-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}

.demo-loan-history-head h3 {
  margin: 0;
  font-size: 0.94rem;
}

.demo-loan-history-head span {
  border-radius: 6px;
  padding: 2px 7px;
  color: #52606a;
  background: #edf0f2;
  font-size: 0.72rem;
  font-weight: 800;
}

.demo-loan-history-list {
  display: grid;
  gap: 6px;
  max-height: 180px;
  overflow: auto;
}

.demo-loan-history-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 12px;
  border-radius: 6px;
  padding: 7px 9px;
  background: #f4f7f8;
}

.demo-loan-history-item span {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 700;
}

.audit-trail {
  margin: 0 0 16px;
  border-top: 1px solid var(--line);
  padding-top: 14px;
}

.audit-trail-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}

.audit-trail-head h3 {
  margin: 0;
  color: #003f5a;
  font-size: 0.94rem;
  font-weight: 900;
}

.audit-trail-head span {
  border-radius: 6px;
  padding: 2px 7px;
  color: #52606a;
  background: #edf0f2;
  font-size: 0.72rem;
  font-weight: 800;
}

.audit-trail-list {
  display: grid;
  gap: 6px;
  max-height: 190px;
  overflow: auto;
}

.audit-trail-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 3px;
  border-radius: 6px;
  padding: 7px 9px;
  background: #f4f7f8;
}

.audit-trail-item strong {
  grid-column: 1;
  color: #284d5f;
  font-size: 0.78rem;
  font-weight: 900;
}

.audit-trail-item span,
.audit-trail-empty {
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 700;
}

.audit-trail-item span {
  grid-column: 1;
}

.audit-trail-delete {
  grid-column: 2;
  grid-row: 1 / span 3;
  align-self: center;
  min-height: 24px;
  padding: 2px 7px;
  border-color: #dccccc;
  color: #8b4c4c;
  background: transparent;
  font-size: 0.68rem;
  font-weight: 750;
}

.audit-trail-delete:hover {
  color: #733838;
  background: #fff1f1;
  transform: none;
}

.demo-loan-history-remove {
  min-height: 26px;
  padding: 3px 7px;
  border-color: #d9c5c5;
  color: #875050;
  background: transparent;
  font-size: 0.7rem;
  font-weight: 700;
}

.demo-loan-history-remove:hover {
  border-color: #c8a5a5;
  background: #f7eded;
}

.demo-history-attachments {
  grid-column: 1 / -1;
  display: grid;
  gap: 6px;
  border-top: 1px solid #e1e7ea;
  padding-top: 7px;
}

.demo-attachments-field {
  display: grid;
  gap: 7px;
  border-top: 1px solid var(--line);
  padding-top: 10px;
}

.demo-attachments-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.demo-attachments-head > span {
  font-size: 0.8rem;
  font-weight: 750;
}

.demo-attachment-add {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 28px;
  padding: 4px 8px;
  border: 1px solid #cbd6dc;
  border-radius: 6px;
  color: #46616e;
  background: #f7fafb;
  font-size: 0.72rem;
  font-weight: 750;
  cursor: pointer;
}

.demo-attachment-add input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.demo-attachments-list {
  display: grid;
  gap: 5px;
}

.demo-attachment-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto auto auto;
  align-items: center;
  gap: 6px;
  border-radius: 6px;
  padding: 5px 7px;
  background: #eef3f5;
}

.demo-attachment-item strong {
  overflow: hidden;
  font-size: 0.76rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.demo-attachment-item small,
.demo-attachments-empty {
  color: var(--muted);
  font-size: 0.7rem;
}

.demo-attachment-item button {
  min-height: 25px;
  padding: 3px 6px;
  color: #46616e;
  background: transparent;
  font-size: 0.68rem;
}

.demo-attachment-item .attachment-remove {
  color: #875050;
}

.attachment-preview-dialog {
  width: min(94vw, 1100px);
  height: min(90vh, 850px);
}

.attachment-preview-shell {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  height: 100%;
  padding: 18px;
}

.attachment-preview-body {
  min-height: 0;
  margin-top: 12px;
  overflow: auto;
  background: #f1f4f5;
}

.attachment-preview-body iframe,
.attachment-preview-body img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 65vh;
  border: 0;
  object-fit: contain;
}

.demo-loan-history-empty {
  margin: 0;
  border-radius: 6px;
  padding: 9px;
  color: var(--muted);
  background: #f4f7f8;
  font-size: 0.78rem;
  font-weight: 650;
}

.demo-return-date {
  display: inline-grid;
  gap: 2px;
  border-radius: 8px;
  padding: 5px 8px;
  color: #52606a;
  background: #f1f4f5;
}

.demo-return-date strong {
  font-size: 0.82rem;
}

.demo-return-date small {
  color: inherit;
  font-size: 0.68rem;
  font-weight: 750;
}

.demo-return-date.warning {
  color: #735400;
  background: #ffe9a6;
}

.demo-return-date.critical {
  color: #93372d;
  background: #ffcfc8;
}

.repairs-table th:nth-child(1),
.repairs-table td:nth-child(1) {
  min-width: 118px;
}

.repairs-table th:nth-child(2),
.repairs-table td:nth-child(2) {
  min-width: 170px;
}

.repairs-table th:nth-child(3),
.repairs-table td:nth-child(3) {
  min-width: 88px;
}

.repairs-table th:nth-child(4),
.repairs-table td:nth-child(4) {
  min-width: 240px;
}

.repairs-table th:nth-child(5),
.repairs-table td:nth-child(5) {
  min-width: 300px;
}

.repairs-table th:nth-child(6),
.repairs-table td:nth-child(6) {
  min-width: 150px;
}

.repairs-table th:nth-child(7),
.repairs-table td:nth-child(7) {
  min-width: 146px;
  text-align: center;
}

.repairs-table th:nth-child(8),
.repairs-table td:nth-child(8) {
  min-width: 120px;
}

.repairs-table th:nth-child(1),
.repairs-table td:nth-child(1),
.repairs-table th:nth-child(3),
.repairs-table td:nth-child(3),
.repairs-table th:nth-child(8),
.repairs-table td:nth-child(8),
.repairs-table th:nth-child(9),
.repairs-table td:nth-child(9),
.repairs-table th:nth-child(10),
.repairs-table td:nth-child(10),
.repairs-table th:nth-child(11),
.repairs-table td:nth-child(11) {
  text-align: center;
}

.repairs-table th:nth-child(9),
.repairs-table td:nth-child(9),
.repairs-table th:nth-child(10),
.repairs-table td:nth-child(10),
.repairs-table th:nth-child(11),
.repairs-table td:nth-child(11) {
  min-width: 118px;
}

.repairs-table th:nth-child(12),
.repairs-table td:nth-child(12) {
  min-width: 220px;
}

.repairs-table th:nth-child(13),
.repairs-table td:nth-child(13) {
  width: 96px;
  min-width: 96px;
}

.repair-document-number {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 1px 7px;
  border: 1px solid #c6d8de;
  border-radius: 8px;
  color: #24596a;
  background: #f4fafb;
  font-size: 0.7rem;
  font-weight: 850;
  white-space: nowrap;
}

.repair-document-number.order {
  border-color: #cbd2a9;
  color: #596423;
  background: #f3f5e7;
}

.repair-document-number.complaint {
  border-color: #e7c1bc;
  color: #8a433a;
  background: #fff0ed;
}

.stock-table th {
  cursor: default;
}

.stock-location-row td {
  padding: 8px 10px;
  border-top: 1px solid #cbd7de;
  border-bottom: 1px solid #dbe3e8;
  background: #f5f8fa;
}

.stock-location-row-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.stock-location-row-content strong {
  color: #003f5a;
  font-size: 0.82rem;
}

.stock-location-empty td {
  color: var(--muted);
  background: #fbfcfd;
  font-size: 0.78rem;
  font-style: italic;
}

.devices-table,
.repairs-table,
.demo-table,
.stock-table {
  min-width: 0;
  table-layout: fixed;
}

.devices-table th,
.devices-table td,
.repairs-table th,
.repairs-table td,
.demo-table th,
.demo-table td,
.stock-table th,
.stock-table td {
  min-width: 0;
}

.devices-table th:nth-child(1),
.devices-table td:nth-child(1) {
  width: 6.6%;
}

.devices-table th:nth-child(2),
.devices-table td:nth-child(2) {
  width: 5.2%;
}

.devices-table th:nth-child(3),
.devices-table td:nth-child(3) {
  width: 16.4%;
}

.devices-table th:nth-child(4),
.devices-table td:nth-child(4) {
  width: 9.6%;
}

.devices-table th:nth-child(5),
.devices-table td:nth-child(5) {
  width: 8.4%;
}

.devices-table th:nth-child(6),
.devices-table td:nth-child(6) {
  width: 5.4%;
}

.devices-table th:nth-child(7),
.devices-table td:nth-child(7) {
  width: 6.6%;
}

.devices-table th:nth-child(8),
.devices-table td:nth-child(8) {
  width: 11.2%;
}

.devices-table th:nth-child(9),
.devices-table td:nth-child(9) {
  width: 9.2%;
}

.devices-table th:nth-child(10),
.devices-table td:nth-child(10) {
  width: 4.2%;
}

.devices-table th:nth-child(11),
.devices-table td:nth-child(11) {
  width: 3.6%;
}

.devices-table th:nth-child(12),
.devices-table td:nth-child(12) {
  width: 9%;
}

.devices-table th:nth-child(13),
.devices-table td:nth-child(13) {
  width: 4.6%;
}

.devices-table.private-payments-enabled th:nth-child(12),
.devices-table.private-payments-enabled td:nth-child(12) {
  width: 7%;
}

.devices-table.private-payments-enabled th.private-payment-column,
.devices-table.private-payments-enabled td:nth-child(13) {
  width: 3.2%;
}

.devices-table.private-payments-enabled th:nth-child(14),
.devices-table.private-payments-enabled td:nth-child(14) {
  width: 4.6%;
}

.repairs-table th:nth-child(1),
.repairs-table td:nth-child(1) {
  width: 7%;
}

.repairs-table th:nth-child(2),
.repairs-table td:nth-child(2) {
  width: 11.6%;
}

.repairs-table th:nth-child(3),
.repairs-table td:nth-child(3) {
  width: 5%;
}

.repairs-table th:nth-child(4),
.repairs-table td:nth-child(4) {
  width: 13.3%;
}

.repairs-table th:nth-child(5),
.repairs-table td:nth-child(5) {
  width: 14.4%;
}

.repairs-table th:nth-child(6),
.repairs-table td:nth-child(6) {
  width: 9.3%;
}

.repairs-table th:nth-child(7),
.repairs-table td:nth-child(7) {
  width: 7.8%;
}

.repairs-table th:nth-child(8),
.repairs-table td:nth-child(8),
.repairs-table th:nth-child(9),
.repairs-table td:nth-child(9),
.repairs-table th:nth-child(10),
.repairs-table td:nth-child(10) {
  width: 6.4%;
}

.repairs-table th:nth-child(11),
.repairs-table td:nth-child(11) {
  width: 8%;
}

.repairs-table th:nth-child(12),
.repairs-table td:nth-child(12) {
  width: 4.4%;
}

.demo-table th:nth-child(1),
.demo-table td:nth-child(1) {
  width: 9%;
}

.demo-table th:nth-child(2),
.demo-table td:nth-child(2) {
  width: 9%;
}

.demo-table th:nth-child(3),
.demo-table td:nth-child(3) {
  width: 10%;
}

.demo-table th:nth-child(4),
.demo-table td:nth-child(4) {
  width: 9%;
}

.demo-table th:nth-child(5),
.demo-table td:nth-child(5) {
  width: 18.5%;
}

.demo-table th:nth-child(6),
.demo-table td:nth-child(6) {
  width: 10%;
}

.demo-table th:nth-child(7),
.demo-table td:nth-child(7) {
  width: 6%;
}

.demo-table th:nth-child(8),
.demo-table td:nth-child(8) {
  width: 13.5%;
}

.demo-table th:nth-child(9),
.demo-table td:nth-child(9) {
  width: 10%;
}

.demo-table th:nth-child(10),
.demo-table td:nth-child(10) {
  width: 5%;
}

.stock-table th:nth-child(1),
.stock-table td:nth-child(1) {
  width: 32%;
}

.stock-table th:nth-child(2),
.stock-table td:nth-child(2) {
  width: 10%;
}

.stock-table th:nth-child(3),
.stock-table td:nth-child(3) {
  width: 8%;
}

.stock-table th:nth-child(4),
.stock-table td:nth-child(4) {
  width: 12%;
}

.stock-table th:nth-child(5),
.stock-table td:nth-child(5) {
  width: 38%;
}

.devices-table td.row-actions,
.repairs-table td.row-actions,
.demo-table td.row-actions {
  width: auto;
  min-width: 0;
}

.serial-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.stock-audit-serial {
  display: inline-flex;
  min-height: 26px;
  align-items: center;
  border: 1px solid #d8dde3;
  border-radius: 8px;
  padding: 3px 9px;
  color: var(--ink);
  background: #edf0f2;
  font-size: 0.78rem;
  font-weight: 800;
}

.stock-audit-serial:hover {
  border-color: #a7c9c2;
  color: #075f61;
  background: #e7f3f0;
  transform: none;
}

.stock-audit-serial.checked {
  border-color: #80bcb3;
  color: #075f61;
  background: #dff2ee;
}

.stock-audit-serial.checked::before {
  content: "✓";
  margin-right: 5px;
  font-weight: 900;
}

.stock-audit-serial.missing {
  border-color: #e7b4a7;
  color: #8b3a31;
  background: #ffece7;
}

.stock-audit-serial.missing::before {
  content: "!";
  margin-right: 5px;
  font-weight: 900;
}

dialog {
  width: min(920px, calc(100% - 24px));
  border: 0;
  border-radius: 8px;
  overflow: visible;
  padding: 0;
  box-shadow: var(--shadow);
}

dialog::backdrop {
  background: rgba(28, 31, 36, 0.42);
}

.auth-dialog {
  width: min(420px, calc(100% - 24px));
}

.return-reminder-dialog {
  width: min(760px, calc(100% - 24px));
}

#recordDialog,
#repairDialog,
#demoDialog {
  width: min(980px, calc(100% - 24px));
  max-height: calc(100dvh - 24px);
}

#recordForm,
#repairForm,
#demoForm {
  max-height: calc(100dvh - 24px);
  overflow-y: auto;
  overscroll-behavior: contain;
}

#recordForm .dialog-head,
#repairForm .dialog-head,
#demoForm .dialog-head {
  position: sticky;
  top: 0;
  z-index: 5;
  margin: -22px -22px 0;
  border-bottom: 1px solid rgba(216, 221, 227, 0.76);
  padding: 18px 22px 12px;
  background: rgba(255, 255, 255, 0.98);
}

#recordForm .dialog-actions,
#repairForm .dialog-actions,
#demoForm .dialog-actions {
  position: sticky;
  bottom: 0;
  z-index: 5;
  margin: 0 -22px -22px;
  border-top: 1px solid rgba(216, 221, 227, 0.76);
  padding: 12px 22px 18px;
  background: rgba(255, 255, 255, 0.98);
}

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

.return-reminder-summary {
  margin: 0;
  color: var(--muted);
  font-weight: 700;
}

.return-reminder-list {
  display: grid;
  gap: 7px;
  max-height: min(54vh, 520px);
  overflow: auto;
}

.return-reminder-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  border-left: 4px solid #d7a323;
  border-radius: 6px;
  padding: 9px 11px;
  background: #fff8dc;
}

.return-reminder-item.critical {
  border-left-color: #c3483a;
  background: #ffe7e3;
}

.return-reminder-item > div {
  display: grid;
  gap: 2px;
}

.return-reminder-item span {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 700;
}

.return-reminder-deadline {
  text-align: right;
}

.return-reminder-item.critical .return-reminder-deadline {
  color: #93372d;
}

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

.auth-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 4px;
}

.auth-brand img {
  width: 42px;
  height: 42px;
  object-fit: contain;
}

.auth-error {
  min-height: 20px;
  margin: 0;
  color: #9b3327;
  font-size: 0.82rem;
  font-weight: 700;
}

.auth-security-note {
  color: var(--muted);
  font-size: 0.72rem;
  line-height: 1.45;
  text-align: center;
}

.form-error {
  min-height: 20px;
  margin: -6px 0 10px;
  color: #9b3327;
  font-size: 0.82rem;
  font-weight: 750;
}

.quality-hints {
  display: grid;
  gap: 7px;
  margin: -2px 0 14px;
}

.quality-hints[hidden] {
  display: none;
}

.quality-hint {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border-left: 3px solid #8da7ad;
  border-radius: 7px;
  padding: 8px 10px;
  color: #36505a;
  background: #edf5f5;
  font-size: 0.78rem;
  font-weight: 650;
}

.quality-hint span {
  line-height: 1.35;
}

.quality-hint button {
  flex: 0 0 auto;
  min-height: 28px;
  border-color: #c7d7d9;
  padding: 4px 8px;
  color: #2f5963;
  background: rgba(255, 255, 255, 0.82);
  font-size: 0.74rem;
}

.quality-suggestion-input {
  border-color: #9dbdc2;
  background: #f6fbfb;
}

.auth-form button[type="submit"] {
  color: #fff;
  background: var(--accent);
  border-color: var(--accent);
}

form {
  padding: 22px;
}

.dialog-head,
.dialog-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.dialog-secondary-actions,
.dialog-primary-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.dialog-primary-actions {
  justify-content: flex-end;
  margin-left: auto;
}

.dialog-secondary-actions button,
.dialog-primary-actions button {
  min-height: 34px;
}

.dialog-title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px;
}

.dialog-title-row h2 {
  margin: 0;
}

.dialog-title-serial {
  color: #7b8b93;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0;
}

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

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

.highlight-field {
  padding: 10px 12px 12px;
  border: 1px solid rgba(74, 145, 200, 0.34);
  border-radius: 8px;
  background: rgba(233, 241, 247, 0.62);
}

.highlight-field span {
  color: #1f4f79;
}

.highlight-field input {
  border-color: #8eb8da;
  background: rgba(255, 255, 255, 0.96);
}

textarea {
  resize: vertical;
}

@media (max-width: 980px) {
  .pricing-history-section {
    grid-template-columns: 1fr;
  }

  .pricing-history-preview-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .top-panel {
    align-items: stretch;
    flex-direction: column;
  }

  .header-brand {
    align-items: flex-start;
  }

  .top-switch-row {
    align-items: flex-start;
    flex-direction: column;
    margin-top: 8px;
  }

  .notebook-navigation {
    width: 100%;
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .connection-panel {
    margin-left: 0;
  }

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

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

  .loan-form-grid,
  .pcpr-form-grid,
  .order-form-grid,
  .complaint-form-grid,
  .complaint-product-grid,
  .complaint-device-picker,
  .loan-doc-grid,
  .loan-protocol-grid,
  .loan-doc-grid-charger,
  .loan-locations,
  .order-doc-grid,
  .order-signatures,
  .complaint-doc-grid,
  .complaint-signatures {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .loan-form-grid > .loan-contract-location-field {
    grid-column: 1;
  }

  .loan-form-grid > .loan-deposit-field {
    grid-column: 2;
  }

  .loan-device-row {
    grid-template-columns: 32px repeat(2, minmax(0, 1fr));
  }

  .loan-device-row .loan-side-badge {
    align-self: stretch;
    grid-row: span 3;
  }

  .loan-device-model-field {
    grid-column: span 2;
  }

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

  .pcpr-form-row-top .pcpr-name-field,
  .pcpr-form-row-top .pcpr-phone-field,
  .pcpr-form-row-top .pcpr-postal-field,
  .pcpr-form-row-top .pcpr-city-field,
  .pcpr-form-row-top .pcpr-street-field,
  .pcpr-form-row-bottom .pcpr-model-stack,
  .pcpr-form-row-bottom .pcpr-model-field,
  .pcpr-form-row-bottom .pcpr-office-field,
  .pcpr-form-row-bottom .pcpr-place-field,
  .pcpr-form-row-bottom .pcpr-ear-field,
  .pcpr-form-actions {
    grid-column: span 2;
  }

  .offer-locations {
    grid-template-columns: 1fr;
  }

  .order-editor {
    overflow-x: auto;
  }

  .offer-customer-field,
  .offer-age-field,
  .offer-date-field,
  .offer-location-field,
  .offer-option-field,
  .offer-pfron-field,
  .offer-device-field,
  .offer-accessory-field {
    grid-column: span 2;
  }

  .offer-device-right {
    grid-column: 1;
    grid-row: 4;
  }

  .offer-device-left {
    grid-column: 2;
    grid-row: 4;
  }

  .offer-charger-field {
    grid-column: 1;
    grid-row: 5;
  }

  .offer-earmold-field {
    grid-column: 2;
    grid-row: 5;
  }

  .offer-location-field {
    grid-column: span 2;
    grid-row: 6;
  }

  .offer-option-field {
    grid-column: 1;
    grid-row: 7;
  }

  .offer-pfron-field {
    grid-column: 2;
    grid-row: 7;
  }

  .loan-wide,
  .loan-contract-location-field,
  .loan-deposit-field,
  .pcpr-office-field,
  .pcpr-name-field,
  .pcpr-phone-field,
  .pcpr-city-field,
  .pcpr-street-field,
  .pcpr-model-field,
  .pcpr-ear-field,
  .complaint-wide,
  .complaint-full,
  .complaint-product-wide,
  .loan-doc-grid-parties p:first-child,
  .loan-doc-grid-parties p:nth-child(2),
  .loan-doc-grid-parties p:nth-child(4),
  .loan-protocol-grid p:nth-child(2),
  .loan-protocol-grid p:nth-child(4),
  .loan-signatures p,
  .complaint-signatures p {
    grid-column: span 2;
  }

  .stock-audit-panel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1550px) {
  .app-shell {
    width: calc(100% - 8px);
    margin: 8px auto;
  }

  th,
  td {
    padding: 7px 4px;
  }

  th {
    font-size: 0.66rem;
  }

  td {
    font-size: 0.81rem;
    line-height: 1.2;
  }

  .age-pill,
  .date-pill,
  .location-pill,
  .serial-pill,
  .status-pill,
  .type-pill {
    min-height: 21px;
    padding: 1px 5px;
    font-size: 0.67rem;
  }

  .serial-pill {
    font-size: 0.82rem;
  }

  .devices-table td:nth-child(4) .serial-pill {
    font-size: 0.9rem;
  }

  .devices-table td:nth-child(5) .type-pill {
    min-height: 19px;
    padding: 1px 4px;
    font-size: 0.61rem;
  }

  .row-actions button {
    min-height: 26px;
    padding: 0 3px;
    font-size: 0.68rem;
  }

  .devices-table,
  .repairs-table,
  .demo-table,
  .stock-table {
    min-width: 0;
  }
}

@media (max-width: 640px) {
  .pricing-panel,
  .pricing-view-section {
    min-width: 0;
  }

  .pricing-subtabs {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    scrollbar-width: thin;
  }

  .loan-document {
    max-width: 100%;
    overflow-x: auto;
  }

  .vacation-type-choices {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

  .vacation-summary > div:last-child {
    grid-column: 1 / -1;
  }

  .vacation-summary.gabinet-view > div:last-child {
    grid-column: auto;
  }

  .vacation-date-range {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .pricing-history-preview-grid {
    grid-template-columns: 1fr;
  }

  .app-shell {
    width: min(100% - 18px, 1540px);
    margin: 9px auto;
  }

  .top-panel,
  .controls,
  form {
    padding: 14px;
  }

  .stats,
    .controls,
    .repairs-controls,
    .stock-audit-panel,
    .private-form-grid,
    .vacation-admin,
  .offer-form-grid,
    .loan-form-grid,
    .pcpr-form-grid,
    .order-form-grid,
    .complaint-form-grid,
  .complaint-product-grid,
  .complaint-device-picker,
  .loan-doc-grid,
  .loan-protocol-grid,
  .loan-doc-grid-charger,
  .loan-locations,
  .loan-signatures,
  .order-doc-grid,
  .order-signatures,
  .complaint-doc-grid,
  .complaint-signatures,
  .stock-audit-preview-head,
  .stock-audit-preview-lists,
  .device-form-zone-grid,
  .form-grid,
  .private-payment-field {
    grid-template-columns: 1fr;
  }

  .offer-customer-field,
  .offer-age-field,
  .offer-date-field,
  .offer-location-field,
  .offer-option-field,
  .offer-pfron-field,
  .offer-device-field,
  .offer-accessory-field,
  .pcpr-office-field,
  .pcpr-place-field,
  .pcpr-name-field,
  .pcpr-phone-field,
  .pcpr-postal-field,
  .pcpr-city-field,
  .pcpr-street-field,
  .pcpr-model-field,
  .pcpr-model-stack,
  .pcpr-ear-field,
  .order-contact-field,
  .order-location-field,
  .complaint-location-field {
    grid-column: auto;
  }

  .loan-form-grid > .loan-contract-location-field,
  .loan-form-grid > .loan-deposit-field {
    grid-column: auto;
  }

  .offer-device-right,
  .offer-device-left,
  .offer-charger-field,
  .offer-earmold-field,
  .offer-location-field,
  .offer-option-field,
  .offer-pfron-field {
    grid-row: auto;
  }

  .pcpr-form-row {
    grid-template-columns: 1fr;
  }

  .pcpr-form-actions {
    grid-column: auto;
  }

  .pcpr-list-filters {
    grid-template-columns: 1fr;
  }

  .loan-device-row {
    grid-template-columns: 30px minmax(0, 1fr);
  }

  .loan-device-row .loan-side-badge {
    grid-row: span 5;
  }

  .loan-device-model-field {
    grid-column: auto;
  }

  .loan-clear-device-btn {
    grid-column: 2;
  }

  .loan-wide,
  .order-wide,
  .order-notes-field,
  .complaint-wide,
  .complaint-full,
  .complaint-product-wide,
  .order-doc-grid p:nth-child(3),
  .order-signatures p,
  .complaint-doc-grid p:nth-child(4),
  .complaint-doc-grid p:nth-child(6),
  .complaint-signatures p,
  .loan-doc-grid-parties p:first-child,
  .loan-doc-grid-parties p:nth-child(2),
  .loan-doc-grid-parties p:nth-child(4),
  .loan-protocol-grid p:nth-child(2),
  .loan-protocol-grid p:nth-child(4),
  .loan-signatures p {
    grid-column: auto;
  }

  .loan-history-item {
    grid-template-columns: 1fr;
  }

  .loan-history-search {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .pricing-history-search input {
    width: 100%;
    max-width: none;
  }

  .loan-history-actions {
    justify-content: flex-start;
  }

.offer-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .agreement-save-reminder {
    justify-content: center;
  }

  .demo-attachment-item {
    grid-template-columns: minmax(0, 1fr) auto auto;
  }

  .demo-attachment-item small {
    grid-column: 1;
  }

  .tabs,
  .stock-toolbar,
  .stock-head {
    align-items: stretch;
    flex-direction: column;
  }

  .header-brand {
    gap: 10px;
  }

  .header-logo {
    width: 38px;
    height: 38px;
  }

  .dialog-actions {
    align-items: stretch;
    flex-direction: column-reverse;
  }

  .dialog-secondary-actions,
  .dialog-primary-actions {
    width: 100%;
    justify-content: stretch;
  }

  .dialog-secondary-actions button,
  .dialog-primary-actions button {
    flex: 1 1 auto;
  }

  .return-reminder-item {
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .return-reminder-deadline {
    text-align: left;
  }
}

.document-new-btn {
  color: #006f73;
  border-color: #b7d7d6;
  background: #f1f9f8;
  font-weight: 850;
}

.document-new-btn:hover {
  color: #005c60;
  border-color: #8fc2c0;
  background: #e7f5f3;
}

@page capdReportPage {
  size: A4 portrait;
  margin: 10mm 10mm 15mm;

  @bottom-center {
    content: "Strona " counter(page) " / " counter(pages);
    color: #60737a;
    font-family: Arial, sans-serif;
    font-size: 8pt;
  }
}

@media print {
  @page {
    size: A4 portrait;
    margin: 10mm;
  }

  body {
    background: #fff;
  }

  .top-panel,
  .tabs,
  .top-switch-row,
  .controls,
  .stock-toolbar,
  .stock-audit-panel,
  .stock-head,
  .scroll-top-btn,
  .row-actions,
  .actions-head,
  .pricing-price-edit-btn {
    display: none;
  }

  .app-shell {
    width: 100%;
    margin: 0;
  }

  .table-zone {
    overflow: visible;
    border: 0;
    box-shadow: none;
  }

  table {
    min-width: 0;
    font-size: 10px;
  }

  th,
  td {
    padding: 5px;
  }

  body.pricing-offer-print,
  body.pricing-loan-print,
  body.pricing-order-print,
  body.pricing-complaint-print,
  body.capd-report-print,
  body.stock-checklist-print,
  body.stock-audit-pdf-print {
    color: #111;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }

  body.capd-report-print .app-shell > * {
    display: none !important;
  }

  body.capd-report-print .app-shell > #capdNotebook,
  body.capd-report-print #capdNotebook > .private-module-panel,
  body.capd-report-print #capdNotebook #capdReport {
    display: block !important;
  }

  body.capd-report-print #capdNotebook .private-module-panel > * {
    display: none !important;
  }

  body.capd-report-print #capdNotebook .private-module-panel > #capdReport {
    display: grid !important;
  }

  body.capd-report-print .app-shell,
  body.capd-report-print #capdNotebook,
  body.capd-report-print .private-module-panel {
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    background: #fff;
    box-shadow: none;
  }

  body.capd-report-print .capd-report {
    page: capdReportPage;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    gap: 4mm;
  }

  body.capd-report-print .offer-document-head {
    margin-bottom: 2mm;
    padding-bottom: 3mm;
  }

  body.capd-report-print .capd-report-table {
    font-size: 8.2pt;
  }

  body.capd-report-print .capd-report-table th,
  body.capd-report-print .capd-report-table td {
    padding: 2mm;
  }

  body.capd-report-print .capd-report-table tr,
  body.capd-report-print .capd-report-conclusions {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  body.pricing-offer-print .app-shell > * {
    display: none !important;
  }

  body.pricing-offer-print .app-shell > #pricingNotebook,
  body.pricing-offer-print #pricingNotebook > .pricing-panel,
  body.pricing-offer-print #pricingNotebook #pricingOfferView,
  body.pricing-offer-print #pricingOfferView > #pricingOfferPrint {
    display: block !important;
  }

  body.pricing-offer-print #pricingNotebook .pricing-panel > *,
  body.pricing-offer-print #pricingOfferView > * {
    display: none !important;
  }

  body.pricing-offer-print #pricingNotebook .pricing-panel > #pricingOfferView,
  body.pricing-offer-print #pricingOfferView > #pricingOfferPrint {
    display: block !important;
  }

  body.pricing-offer-print .app-shell,
  body.pricing-offer-print .pricing-panel,
  body.pricing-offer-print .pricing-offer-section {
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    background: #fff;
    box-shadow: none;
  }

  body.pricing-offer-print .offer-document {
    display: flex !important;
    flex-direction: column;
    width: 100%;
    max-width: none;
    min-height: 277mm;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  body.pricing-offer-print .offer-document-head {
    margin-bottom: 6mm;
    padding-bottom: 3mm;
  }

  body.pricing-offer-print .offer-document-head h2 {
    font-size: 16pt;
  }

  body.pricing-offer-print .offer-document-head p {
    font-size: 8pt;
  }

  body.pricing-offer-print .offer-document-head span {
    font-size: 8.5pt;
  }

  body.pricing-offer-print .offer-document-head img {
    width: 15mm;
    height: 15mm;
  }

  body.pricing-offer-print .offer-locations {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2mm;
    margin: auto 0 0;
    padding-top: 4mm;
    font-size: 6.8pt;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  body.pricing-offer-print .offer-locations > span {
    padding: 1.5mm 1.8mm;
    border-left-width: 1mm;
  }

  body.pricing-offer-print .offer-locations strong {
    font-size: 7pt;
  }

  body.pricing-offer-print .document-gabinet-title {
    margin: 3mm 0 1.5mm;
    font-size: 7pt;
  }

  body.pricing-offer-print .document-gabinet-locations {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2mm;
  }

  body.pricing-offer-print .document-gabinet-locations > span {
    padding: 1.5mm 1.8mm;
    border-left-width: 1mm;
  }

  body.pricing-offer-print .document-gabinet-locations .location-phone {
    font-size: 6.8pt;
  }

  body.pricing-offer-print .offer-items-table,
  body.pricing-offer-print .offer-payments-table {
    margin-top: 4mm;
    font-size: 8.5pt;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  body.pricing-offer-print .offer-items-table tr,
  body.pricing-offer-print .offer-payments-table tr,
  body.pricing-offer-print .offer-total-line {
    page-break-inside: avoid;
    break-inside: avoid;
  }

  body.pricing-offer-print .offer-items-table th,
  body.pricing-offer-print .offer-items-table td,
  body.pricing-offer-print .offer-payments-table th,
  body.pricing-offer-print .offer-payments-table td {
    padding: 2mm 2.2mm;
  }

  body.pricing-offer-print .offer-action-column {
    display: none !important;
  }

  body.pricing-offer-print .offer-items-table strong {
    font-size: 9.5pt;
  }

  body.pricing-offer-print .offer-total-line {
    margin-top: 5mm;
    padding: 3mm 4mm;
    font-size: 10pt;
  }

  body.pricing-offer-print .offer-total-line strong {
    font-size: 14pt;
  }

  body.pricing-order-print .app-shell > * {
    display: none !important;
  }

  body.pricing-order-print .app-shell > #pricingNotebook,
  body.pricing-order-print #pricingNotebook > .pricing-panel,
  body.pricing-order-print #pricingNotebook #pricingOrderView,
  body.pricing-order-print #pricingOrderView > #pricingOrderPrint {
    display: block !important;
  }

  body.pricing-order-print #pricingNotebook .pricing-panel > *,
  body.pricing-order-print #pricingOrderView > * {
    display: none !important;
  }

  body.pricing-order-print #pricingNotebook .pricing-panel > #pricingOrderView,
  body.pricing-order-print #pricingOrderView > #pricingOrderPrint {
    display: block !important;
  }

  body.pricing-order-print .app-shell,
  body.pricing-order-print .pricing-panel,
  body.pricing-order-print .pricing-order-section {
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    background: #fff;
    box-shadow: none;
  }

  body.pricing-order-print .order-document {
    display: flex !important;
    flex-direction: column;
    width: 100%;
    max-width: none;
    min-height: 277mm;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  body.pricing-order-print .offer-document-head {
    margin-bottom: 6mm;
    padding-bottom: 3mm;
  }

  body.pricing-order-print .offer-document-head h2 {
    font-size: 16pt;
  }

  body.pricing-order-print .offer-document-head p,
  body.pricing-order-print .offer-document-head span {
    font-size: 8pt;
  }

  body.pricing-order-print .offer-document-head img {
    width: 15mm;
    height: 15mm;
  }

  body.pricing-order-print .loan-doc-section {
    margin-top: 4mm;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  body.pricing-order-print .loan-doc-section h3 {
    margin-bottom: 2mm;
    padding-bottom: 1.4mm;
    font-size: 9pt;
  }

  body.pricing-order-print .loan-doc-grid {
    gap: 2mm;
  }

  body.pricing-order-print .loan-doc-grid p {
    min-height: 0;
    padding: 2mm 2.2mm;
    border-radius: 0;
  }

  body.pricing-order-print .loan-doc-grid p span {
    font-size: 6.8pt;
  }

  body.pricing-order-print .loan-doc-grid p strong {
    font-size: 8.5pt;
  }

  body.pricing-order-print .order-items-table {
    margin-top: 3mm;
    font-size: 8.5pt;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  body.pricing-order-print .order-items-table tr {
    page-break-inside: avoid;
    break-inside: avoid;
  }

  body.pricing-order-print .order-items-table th,
  body.pricing-order-print .order-items-table td {
    padding: 2mm 2.2mm;
  }

  body.pricing-order-print .order-print-notes {
    margin-top: 4mm;
    padding: 2mm 2.2mm;
    border-radius: 0;
    font-size: 8.2pt;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  body.pricing-order-print .order-signatures {
    gap: 2mm;
    margin-top: 5mm;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  body.pricing-order-print .order-signatures p {
    min-height: 22mm;
    padding: 2mm 2.2mm;
    border-radius: 0;
  }

  body.pricing-order-print .order-signatures span {
    font-size: 6.8pt;
  }

  body.pricing-order-print .order-signatures strong {
    margin-top: 10mm;
    font-size: 8pt;
  }

  body.pricing-order-print .offer-locations {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2mm;
    margin: auto 0 0;
    padding-top: 4mm;
    font-size: 6.8pt;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  body.pricing-order-print .offer-locations > span {
    padding: 1.5mm 1.8mm;
    border-left-width: 1mm;
  }

  body.pricing-order-print .offer-locations strong {
    font-size: 7pt;
  }

  body.pricing-order-print .document-gabinet-title {
    margin: 3mm 0 1.5mm;
    font-size: 7pt;
  }

  body.pricing-order-print .document-gabinet-locations {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2mm;
  }

  body.pricing-order-print .document-gabinet-locations > span {
    padding: 1.5mm 1.8mm;
    border-left-width: 1mm;
  }

  body.pricing-order-print .document-gabinet-locations .location-phone {
    font-size: 6.8pt;
  }

  body.pricing-complaint-print .app-shell > * {
    display: none !important;
  }

  body.pricing-complaint-print .app-shell > #pricingNotebook,
  body.pricing-complaint-print #pricingNotebook > .pricing-panel,
  body.pricing-complaint-print #pricingNotebook #pricingComplaintView,
  body.pricing-complaint-print #pricingComplaintView > #pricingComplaintPrint {
    display: block !important;
  }

  body.pricing-complaint-print #pricingNotebook .pricing-panel > *,
  body.pricing-complaint-print #pricingComplaintView > * {
    display: none !important;
  }

  body.pricing-complaint-print #pricingNotebook .pricing-panel > #pricingComplaintView,
  body.pricing-complaint-print #pricingComplaintView > #pricingComplaintPrint {
    display: block !important;
  }

  body.pricing-complaint-print .app-shell,
  body.pricing-complaint-print .pricing-panel,
  body.pricing-complaint-print .pricing-complaint-section {
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    background: #fff;
    box-shadow: none;
  }

  body.pricing-complaint-print .complaint-document {
    display: flex !important;
    flex-direction: column;
    width: 100%;
    max-width: none;
    min-height: 277mm;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  body.pricing-complaint-print .offer-document-head {
    margin-bottom: 5mm;
    padding-bottom: 3mm;
  }

  body.pricing-complaint-print .offer-document-head h2 {
    font-size: 16pt;
  }

  body.pricing-complaint-print .offer-document-head p,
  body.pricing-complaint-print .offer-document-head span {
    font-size: 8pt;
  }

  body.pricing-complaint-print .offer-document-head img {
    width: 15mm;
    height: 15mm;
  }

  body.pricing-complaint-print .loan-doc-section {
    margin-top: 3.5mm;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  body.pricing-complaint-print .loan-doc-section h3 {
    margin-bottom: 1.8mm;
    padding-bottom: 1.2mm;
    font-size: 8.8pt;
  }

  body.pricing-complaint-print .loan-doc-grid,
  body.pricing-complaint-print .complaint-signatures {
    gap: 1.8mm;
  }

  body.pricing-complaint-print .complaint-signatures {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: stretch;
    width: 100%;
  }

  body.pricing-complaint-print .loan-doc-grid p,
  body.pricing-complaint-print .complaint-signatures p {
    min-height: 0;
    padding: 1.8mm 2mm;
    border-radius: 0;
  }

  body.pricing-complaint-print .loan-doc-grid p span,
  body.pricing-complaint-print .complaint-signatures p span {
    font-size: 6.5pt;
  }

  body.pricing-complaint-print .loan-doc-grid p strong,
  body.pricing-complaint-print .complaint-signatures p strong {
    font-size: 8pt;
  }

  body.pricing-complaint-print .complaint-products-table {
    border-radius: 0;
    font-size: 7.4pt;
  }

  body.pricing-complaint-print .complaint-products-table th,
  body.pricing-complaint-print .complaint-products-table td {
    padding: 1.5mm 1.6mm;
    border-color: #dce5e8;
  }

  body.pricing-complaint-print .complaint-products-table th {
    font-size: 6.2pt;
  }

  body.pricing-complaint-print .complaint-text-box {
    min-height: 20mm;
    padding: 2mm 2.2mm;
    border-radius: 0;
    font-size: 8pt;
    line-height: 1.28;
  }

  body.pricing-complaint-print .complaint-decision-box {
    min-height: 14mm;
  }

  body.pricing-complaint-print .complaint-signatures p {
    grid-column: auto !important;
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 21mm;
    box-sizing: border-box;
  }

  body.pricing-complaint-print .complaint-signatures span {
    min-height: 3mm;
    line-height: 1.15;
  }

  body.pricing-complaint-print .complaint-signatures strong {
    margin-top: auto;
    padding-top: 9mm;
    line-height: 1.15;
  }

  body.pricing-complaint-print .offer-locations {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2mm;
    margin: auto 0 0;
    padding-top: 4mm;
    font-size: 6.8pt;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  body.pricing-complaint-print .offer-locations > span {
    padding: 1.5mm 1.8mm;
    border-left-width: 1mm;
  }

  body.pricing-complaint-print .offer-locations strong {
    font-size: 7pt;
  }

  body.pricing-complaint-print .document-gabinet-title {
    margin: 3mm 0 1.5mm;
    font-size: 7pt;
  }

  body.pricing-complaint-print .document-gabinet-locations {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2mm;
  }

  body.pricing-complaint-print .document-gabinet-locations > span {
    padding: 1.5mm 1.8mm;
    border-left-width: 1mm;
  }

  body.pricing-complaint-print .document-gabinet-locations .location-phone {
    font-size: 6.8pt;
  }

  body.pricing-loan-print .app-shell > * {
    display: none !important;
  }

  body.pricing-loan-print .app-shell > #pricingNotebook,
  body.pricing-loan-print #pricingNotebook > .pricing-panel,
  body.pricing-loan-print #pricingNotebook #pricingLoanView,
  body.pricing-loan-print #pricingLoanView > #pricingLoanPrint {
    display: block !important;
  }

  body.pricing-loan-print #pricingNotebook .pricing-panel > *,
  body.pricing-loan-print #pricingLoanView > * {
    display: none !important;
  }

  body.pricing-loan-print #pricingNotebook .pricing-panel > #pricingLoanView,
  body.pricing-loan-print #pricingLoanView > #pricingLoanPrint {
    display: block !important;
  }

  body.pricing-loan-print .app-shell,
  body.pricing-loan-print .pricing-panel,
  body.pricing-loan-print .pricing-loan-section {
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    background: #fff;
    box-shadow: none;
  }

  body.pricing-loan-print .loan-document {
    display: flex !important;
    flex-direction: column;
    width: 100%;
    max-width: none;
    min-height: 277mm;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
  }

  body.pricing-loan-print #pricingLoanView > #pricingLoanPrint.loan-document {
    display: flex !important;
  }

  body.pricing-loan-print .offer-document-head {
    margin-bottom: 4mm;
    padding-bottom: 2.5mm;
  }

  body.pricing-loan-print .offer-document-head h2 {
    font-size: 14pt;
  }

  body.pricing-loan-print .offer-document-head p,
  body.pricing-loan-print .offer-document-head span {
    font-size: 8pt;
  }

  body.pricing-loan-print .offer-document-head img {
    width: 14mm;
    height: 14mm;
  }

  body.pricing-loan-print .loan-doc-section {
    margin-top: 3mm;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  body.pricing-loan-print .loan-doc-section h3 {
    margin-bottom: 2mm;
    padding-bottom: 1.4mm;
    font-size: 8.2pt;
  }

  body.pricing-loan-print .loan-doc-grid,
  body.pricing-loan-print .loan-protocol-grid,
  body.pricing-loan-print .loan-signatures {
    gap: 1.8mm;
  }

  body.pricing-loan-print .loan-doc-grid p,
  body.pricing-loan-print .loan-protocol-grid p,
  body.pricing-loan-print .loan-signatures p {
    min-height: 0;
    padding: 1.8mm 2mm;
    border-radius: 0;
  }

  body.pricing-loan-print .loan-doc-grid p span,
  body.pricing-loan-print .loan-protocol-grid p span,
  body.pricing-loan-print .loan-signatures p span {
    font-size: 6.5pt;
  }

  body.pricing-loan-print .loan-doc-grid p strong,
  body.pricing-loan-print .loan-protocol-grid p strong,
  body.pricing-loan-print .loan-signatures p strong {
    font-size: 8pt;
  }

  body.pricing-loan-print .loan-doc-note,
  body.pricing-loan-print .loan-terms p {
    font-size: 7.4pt;
    line-height: 1.22;
  }

  body.pricing-loan-print .loan-equipment-table th,
  body.pricing-loan-print .loan-equipment-table td {
    padding: 1.6mm 1.8mm;
    font-size: 7.2pt;
  }

  body.pricing-loan-print .loan-signatures p {
    min-height: 18mm;
  }

  body.pricing-loan-print .loan-locations {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.8mm;
    margin-top: auto;
    padding-top: 3mm;
    font-size: 6.5pt;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  body.pricing-loan-print .loan-locations > span {
    padding: 1.4mm 1.8mm;
    border-left-width: 1mm;
    border-radius: 0;
  }

  body.pricing-loan-print .loan-locations strong {
    font-size: 6.8pt;
  }

  body.pricing-loan-print .document-gabinet-title {
    margin: 3mm 0 1.5mm;
    font-size: 7pt;
  }

  body.pricing-loan-print .document-gabinet-locations {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2mm;
  }

  body.pricing-loan-print .document-gabinet-locations > span {
    padding: 1.5mm 1.8mm;
    border-left-width: 1mm;
  }

  body.pricing-loan-print .document-gabinet-locations .location-phone {
    font-size: 6.5pt;
  }

  body.stock-checklist-print .app-shell > * {
    display: none !important;
  }

  body.stock-checklist-print .app-shell > #devicesNotebook,
  body.stock-checklist-print #devicesNotebook > #stockView,
  body.stock-checklist-print #stockView > #stockChecklist {
    display: block !important;
  }

  body.stock-checklist-print #devicesNotebook > *,
  body.stock-checklist-print #stockView > * {
    display: none !important;
  }

  body.stock-checklist-print #devicesNotebook > #stockView,
  body.stock-checklist-print #stockView > #stockChecklist {
    display: block !important;
  }

  body.stock-audit-pdf-print .app-shell > * {
    display: none !important;
  }

  body.stock-audit-pdf-print .app-shell > #devicesNotebook,
  body.stock-audit-pdf-print #devicesNotebook > #stockView,
  body.stock-audit-pdf-print #stockView > #stockAuditReport {
    display: block !important;
  }

  body.stock-audit-pdf-print #devicesNotebook > *,
  body.stock-audit-pdf-print #stockView > * {
    display: none !important;
  }

  body.stock-audit-pdf-print #devicesNotebook > #stockView,
  body.stock-audit-pdf-print #stockView > #stockAuditReport {
    display: block !important;
  }

  body.demo-checklist-print .app-shell > * {
    display: none !important;
  }

  body.demo-checklist-print .app-shell > #devicesNotebook,
  body.demo-checklist-print #devicesNotebook > #demoView,
  body.demo-checklist-print #demoView > #demoChecklist {
    display: block !important;
  }

  body.demo-checklist-print #devicesNotebook > *,
  body.demo-checklist-print #demoView > * {
    display: none !important;
  }

  body.demo-checklist-print #devicesNotebook > #demoView,
  body.demo-checklist-print #demoView > #demoChecklist {
    display: block !important;
  }

  .stock-checklist-head,
  .demo-checklist-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 7mm;
    padding-bottom: 4mm;
    border-bottom: 1.5px solid #003f5a;
  }

  .stock-checklist-head h1,
  .demo-checklist-head h1 {
    margin: 0 0 2mm;
    color: #003f5a;
    font-size: 17pt;
  }

  .stock-checklist-head p,
  .demo-checklist-head p {
    margin: 0;
    color: #4c5963;
    font-size: 9pt;
    font-weight: 700;
  }

  .stock-checklist-head img,
  .demo-checklist-head img {
    width: 16mm;
    height: 16mm;
    object-fit: contain;
  }

  .stock-checklist-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    font-size: 8.5pt;
  }

  .stock-checklist-table thead {
    display: table-header-group;
  }

  .stock-checklist-table tr {
    break-inside: avoid;
  }

  .stock-checklist-table th,
  .stock-checklist-table td {
    height: 8mm;
    padding: 1.5mm 2mm;
    border: 1px solid #9aa5ad;
    text-align: left;
    vertical-align: middle;
  }

  .stock-checklist-table th {
    color: #233b4a;
    background: #eef3f6;
    font-size: 7.5pt;
    text-transform: uppercase;
  }

  .stock-checklist-location-row td {
    height: auto;
    padding: 1.8mm 2mm;
    color: #003f5a;
    background: #e8f0f4;
    font-weight: 800;
    text-transform: uppercase;
  }

  .stock-checklist-table th:nth-child(1),
  .stock-checklist-table td:nth-child(1) {
    width: 8mm;
    text-align: center;
  }

  .stock-checklist-table th:nth-child(2),
  .stock-checklist-table td:nth-child(2) {
    width: 18mm;
    text-align: center;
  }

  .stock-checklist-table th:nth-child(4),
  .stock-checklist-table td:nth-child(4) {
    width: 33mm;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  }

  .stock-checklist-table th:nth-child(5),
  .stock-checklist-table td:nth-child(5) {
    width: 18mm;
    text-align: center;
  }

  .stock-checklist-table th:nth-child(6),
  .stock-checklist-table td:nth-child(6) {
    width: 35mm;
  }

  .stock-audit-row-present td {
    background: #f0faf7;
  }

  .stock-audit-row-missing td {
    background: #fff0ec;
  }

  .stock-audit-row-present td:nth-child(6) {
    color: #075f61;
    font-weight: 800;
  }

  .stock-audit-row-missing td:nth-child(6) {
    color: #8b3a31;
    font-weight: 850;
  }

  .checklist-box {
    display: inline-block;
    position: relative;
    width: 5mm;
    height: 5mm;
    border: 1.5px solid #344955;
  }

  .checklist-box.checked::after {
    content: "✓";
    position: absolute;
    left: 0.7mm;
    top: -1.8mm;
    color: #075f61;
    font-size: 6mm;
    font-weight: 900;
  }

  .stock-checklist-footer {
    display: grid;
    grid-template-columns: 1.4fr 0.8fr 1fr;
    gap: 8mm;
    margin-top: 10mm;
    font-size: 9pt;
    font-weight: 700;
  }

  .stock-checklist-footer span {
    min-height: 8mm;
    border-bottom: 1px solid #66737c;
  }

  .stock-audit-report {
    display: block !important;
  }

  .stock-audit-report-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 6mm;
    padding-bottom: 4mm;
    border-bottom: 1.5px solid #003f5a;
  }

  .stock-audit-report-head h1 {
    margin: 0 0 2mm;
    color: #003f5a;
    font-size: 18pt;
  }

  .stock-audit-report-head p {
    margin: 0;
    color: #4c5963;
    font-size: 9pt;
    font-weight: 700;
  }

  .stock-audit-report-head img {
    width: 16mm;
    height: 16mm;
    object-fit: contain;
  }

  .stock-audit-report-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 3mm;
    margin-bottom: 5mm;
  }

  .stock-audit-report-stat {
    display: grid;
    gap: 1mm;
    min-height: 14mm;
    border: 1px solid #b8c6cd;
    border-radius: 2mm;
    padding: 2.5mm 3mm;
    color: #233b4a;
    background: #f3f6f8;
  }

  .stock-audit-report-stat span {
    font-size: 7pt;
    font-weight: 800;
    text-transform: uppercase;
  }

  .stock-audit-report-stat strong {
    font-size: 13pt;
  }

  .stock-audit-report-stat.present {
    color: #075f61;
    background: #eaf7f4;
    border-color: #9bcfc7;
  }

  .stock-audit-report-stat.missing {
    color: #8b3a31;
    background: #fff0ec;
    border-color: #e5aa9d;
  }

  .stock-audit-report-table {
    width: calc(100% - 1.5mm);
    margin-right: 1.5mm;
    border: 1.2px solid #7f8c95;
    border-right: 1.6px solid #64747e;
    border-collapse: collapse;
    box-shadow: inset -1.4px 0 0 #64747e;
    box-sizing: border-box;
    table-layout: fixed;
    font-size: 8.3pt;
  }

  .stock-audit-report-table thead {
    display: table-header-group;
  }

  .stock-audit-report-table tr {
    break-inside: avoid;
    break-inside: avoid-page;
    page-break-inside: avoid;
  }

  .stock-audit-report-table th,
  .stock-audit-report-table td {
    min-height: 8mm;
    padding: 1.4mm 1.8mm;
    border: 1px solid #9aa5ad;
    text-align: left;
    vertical-align: middle;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .stock-audit-report-table th {
    color: #233b4a;
    background: #eef3f6;
    font-size: 7.4pt;
    text-transform: uppercase;
  }

  .stock-audit-report-table th:nth-child(1),
  .stock-audit-report-table td:nth-child(1) {
    width: 11mm;
    padding-left: 1mm;
    padding-right: 1mm;
    text-align: center;
    white-space: nowrap;
  }

  .stock-audit-report-table th:nth-child(2),
  .stock-audit-report-table td:nth-child(2) {
    width: 26mm;
    text-align: center;
    font-weight: 850;
  }

  .stock-audit-report-table th:nth-child(3),
  .stock-audit-report-table td:nth-child(3) {
    overflow-wrap: anywhere;
    line-height: 1.12;
  }

  .stock-audit-report-table th:nth-child(4),
  .stock-audit-report-table td:nth-child(4) {
    width: 36mm;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  }

  .stock-audit-report-table th:nth-child(5),
  .stock-audit-report-table td:nth-child(5) {
    width: 18mm;
    border-right: 1.6px solid #64747e;
    box-shadow: inset -1.2px 0 0 #64747e;
    text-align: center;
  }

  .stock-audit-report-table tr th:last-child,
  .stock-audit-report-table tr td:last-child {
    border-right: 1.6px solid #64747e;
    box-shadow: inset -1.2px 0 0 #64747e;
  }

  .stock-audit-report-long-name .audit-report-device-name {
    font-size: 7.4pt;
    line-height: 1.08;
  }

  .stock-audit-report-very-long-name .audit-report-device-name {
    font-size: 6.8pt;
    line-height: 1.05;
  }

  .stock-audit-report-present td {
    background: #f0faf7;
  }

  .stock-audit-report-present td:nth-child(2) {
    color: #075f61;
  }

  .stock-audit-report-missing td {
    background: #fff0ec;
  }

  .stock-audit-report-missing td:nth-child(2) {
    color: #8b3a31;
  }

  .stock-audit-report-footer {
    display: grid;
    grid-template-columns: 1.4fr 0.8fr 1fr;
    gap: 8mm;
    margin-top: 10mm;
    font-size: 9pt;
    font-weight: 700;
  }

  .stock-audit-report-footer span {
    min-height: 8mm;
    border-bottom: 1px solid #66737c;
  }

  .demo-checklist-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    font-size: 7.2pt;
  }

  .demo-checklist-table thead {
    display: table-header-group;
  }

  .demo-checklist-table tr {
    break-inside: avoid;
  }

  .demo-checklist-table th,
  .demo-checklist-table td {
    height: 8mm;
    padding: 1.3mm 1.5mm;
    border: 1px solid #9aa5ad;
    text-align: left;
    vertical-align: middle;
    overflow-wrap: anywhere;
  }

  .demo-checklist-table th {
    color: #233b4a;
    background: #eef3f6;
    font-size: 6.5pt;
    text-transform: uppercase;
  }

  .demo-checklist-table th:nth-child(1),
  .demo-checklist-table td:nth-child(1) {
    width: 7mm;
    text-align: center;
  }

  .demo-checklist-table th:nth-child(2),
  .demo-checklist-table td:nth-child(2) {
    width: 16mm;
    text-align: center;
  }

  .demo-checklist-table th:nth-child(3),
  .demo-checklist-table td:nth-child(3) {
    width: 23mm;
  }

  .demo-checklist-table th:nth-child(5),
  .demo-checklist-table td:nth-child(5) {
    width: 28mm;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  }

  .demo-checklist-table th:nth-child(6),
  .demo-checklist-table td:nth-child(6) {
    width: 16mm;
    text-align: center;
  }

  .demo-checklist-table th:nth-child(7),
  .demo-checklist-table td:nth-child(7) {
    width: 32mm;
  }

  .demo-checklist-table th:nth-child(8),
  .demo-checklist-table td:nth-child(8) {
    width: 27mm;
  }

  .demo-checklist-footer {
    display: grid;
    grid-template-columns: 1.4fr 0.8fr 1fr;
    gap: 8mm;
    margin-top: 10mm;
    font-size: 9pt;
    font-weight: 700;
  }

  .demo-checklist-footer span {
    min-height: 8mm;
    border-bottom: 1px solid #66737c;
  }
}

.document-description {
  margin-top: 14px;
  padding-top: 11px;
  border-top: 1px solid #d3e0e3;
}

.document-description h3,
.document-description-page h3,
.document-service-notice h3 {
  margin: 0 0 8px;
  color: #003f5a;
  font-size: 0.86rem;
  font-weight: 900;
  text-transform: uppercase;
}

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

.offer-description-grid p,
.document-rule-cards p {
  margin: 0;
  padding: 8px 9px;
  border-left: 3px solid #8fb9c4;
  background: #f7fafb;
}

.offer-description-grid strong,
.offer-description-grid span,
.document-rule-cards strong,
.document-rule-cards span {
  display: block;
}

.offer-description-grid strong,
.document-rule-cards strong {
  margin-bottom: 3px;
  color: #164f5f;
  font-size: 0.75rem;
}

.offer-description-grid span,
.document-rule-cards span {
  color: #405861;
  font-size: 0.72rem;
  line-height: 1.32;
}

.document-description-note {
  margin: 8px 0 0;
  padding: 8px 10px;
  border-left: 3px solid #df9b55;
  color: #5c4935;
  background: #fff9f2;
  font-size: 0.73rem;
  line-height: 1.34;
}

.manufacturer-brand-block {
  margin-top: 9px;
}

.manufacturer-brand-title {
  display: block;
  margin-bottom: 6px;
  color: #51666e;
  font-size: 0.65rem;
  font-weight: 850;
  text-transform: uppercase;
}

.manufacturer-brand-logos {
  display: grid;
  grid-template-columns: repeat(11, minmax(44px, 1fr));
  grid-auto-rows: 36px;
  align-items: center;
  justify-items: center;
  gap: 6px 9px;
  padding: 8px 10px;
  border: 1px solid #d9e3e6;
  background: #fff;
}

.manufacturer-logo-image {
  display: block;
  width: 100%;
  max-width: 92px;
  height: 28px;
  object-fit: contain;
  object-position: center;
}

@media screen and (max-width: 980px) {
  .manufacturer-brand-logos {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    grid-auto-rows: 38px;
  }
}

.document-description-page {
  margin-top: 20px;
  padding: 20px 22px;
  border: 1px solid #cad9dd;
  background: #fff;
}

.document-description-page > header {
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 2px solid #003f5a;
}

.document-description-page > header span {
  color: #2b8a78;
  font-size: 0.7rem;
  font-weight: 900;
  text-transform: uppercase;
}

.document-description-page > header h3 {
  margin: 4px 0 0;
  font-size: 1.12rem;
}

.document-description-page > p,
.document-description-page li {
  color: #273d47;
  font-size: 0.8rem;
  line-height: 1.44;
}

.document-description-page h4 {
  margin: 14px 0 6px;
  color: #003f5a;
  font-size: 0.82rem;
  text-transform: uppercase;
}

.document-description-page ul {
  margin: 7px 0 0;
  padding-left: 20px;
}

.document-rule-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin: 12px 0;
}

.document-service-notice {
  margin-top: 11px;
  padding: 10px 12px;
  border-left: 4px solid #b76854;
  background: #fff6f3;
}

.document-service-notice h3 {
  margin-bottom: 5px;
  color: #7f3e33;
}

.document-service-notice p {
  margin: 3px 0;
  color: #533f3a;
  font-size: 0.75rem;
  line-height: 1.35;
}

@media print {
  body.pricing-offer-print .document-description {
    margin-top: 3.5mm;
    padding-top: 2.5mm;
    border-top: 0.25mm solid #cbd8dc;
  }

  body.pricing-offer-print .document-description h3 {
    margin-bottom: 1.5mm;
    font-size: 8pt;
  }

  body.pricing-offer-print .offer-description-grid {
    gap: 1.2mm 2mm;
  }

  body.pricing-offer-print .offer-description-grid p {
    padding: 1.3mm 1.6mm;
    border-left-width: 0.7mm;
  }

  body.pricing-offer-print .offer-description-grid strong {
    margin-bottom: 0.5mm;
    font-size: 7pt;
  }

  body.pricing-offer-print .offer-description-grid span,
  body.pricing-offer-print .document-description-note {
    font-size: 6.8pt;
    line-height: 1.25;
  }

  body.pricing-offer-print .document-description-note {
    margin-top: 1.5mm;
    padding: 1.3mm 1.8mm;
    border-left-width: 0.7mm;
  }

  body.pricing-offer-print .manufacturer-brand-block {
    margin-top: 1.8mm;
  }

  body.pricing-offer-print .manufacturer-brand-title {
    margin-bottom: 1mm;
    font-size: 6.4pt;
  }

  body.pricing-offer-print .manufacturer-brand-logos {
    grid-template-columns: repeat(11, minmax(0, 1fr));
    grid-auto-rows: 6.8mm;
    gap: 1mm 2.5mm;
    padding: 1.4mm 2mm;
    border: 0.25mm solid #d5e0e3;
  }

  body.pricing-offer-print .manufacturer-logo-image {
    width: 100%;
    max-width: 20mm;
    height: 5.4mm;
    image-rendering: auto;
  }

  body.pricing-loan-print .loan-testing-information {
    min-height: 245mm;
    margin: 0;
    padding: 10mm 11mm;
    border: 0;
    break-before: page;
    page-break-before: always;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  body.pricing-loan-print .loan-testing-information > header {
    margin-bottom: 5mm;
    padding-bottom: 3mm;
    border-bottom: 0.55mm solid #003f5a;
  }

  body.pricing-loan-print .loan-testing-information > header span {
    font-size: 8pt;
  }

  body.pricing-loan-print .loan-testing-information > header h3 {
    margin-top: 1mm;
    font-size: 16pt;
  }

  body.pricing-loan-print .loan-testing-information > p,
  body.pricing-loan-print .loan-testing-information li {
    font-size: 9pt;
    line-height: 1.42;
  }

  body.pricing-loan-print .loan-testing-information h4 {
    margin: 5mm 0 2mm;
    font-size: 10pt;
  }

  body.pricing-loan-print .document-rule-cards {
    gap: 3mm;
    margin: 4mm 0;
  }

  body.pricing-loan-print .document-rule-cards p {
    padding: 3mm;
    border-left-width: 1mm;
  }

  body.pricing-loan-print .document-rule-cards strong {
    font-size: 8.5pt;
  }

  body.pricing-loan-print .document-rule-cards span {
    font-size: 8pt;
  }

  body.pricing-loan-print .loan-testing-information + .document-gabinet-title,
  body.pricing-loan-print .loan-testing-information ~ .document-gabinet-locations {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  body.pricing-complaint-print .document-service-notice {
    margin-top: 2.5mm;
    padding: 2mm 2.4mm;
    border-left-width: 1mm;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  body.pricing-complaint-print .document-service-notice h3 {
    margin-bottom: 1mm;
    font-size: 8pt;
  }

  body.pricing-complaint-print .document-service-notice p {
    margin: 0.6mm 0;
    font-size: 7.2pt;
    line-height: 1.25;
  }
}
.customer-relations-panel {
  display: grid;
  grid-template-columns: minmax(280px, 520px) minmax(0, 1fr) auto;
  align-items: end;
  gap: 8px 12px;
  padding: 9px 12px;
  border-top: 1px solid #dbe5e7;
  border-bottom: 1px solid #dbe5e7;
  background: #f8fbfb;
}

.customer-relations-panel[hidden] {
  display: none;
}

.customer-relations-search {
  display: grid;
  gap: 4px;
}

.customer-relations-search > span {
  color: #315864;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
}

.customer-relations-search input {
  width: 100%;
  min-height: 34px;
  padding: 6px 10px;
  border: 1px solid #bccdd1;
  border-radius: 6px;
  background: #fff;
  color: #003f5a;
}

.customer-relations-summary {
  align-self: center;
  color: #60777d;
  font-size: 0.78rem;
}

.customer-relations-results {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  max-height: 360px;
  overflow: auto;
  padding-top: 3px;
}

.customer-relations-results[hidden] {
  display: none;
}

.customer-relation-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 8px;
  min-width: 0;
  padding: 7px 8px;
  border: 1px solid #dce6e8;
  border-left: 3px solid #66858e;
  border-radius: 6px;
  background: #fff;
}

.customer-relation-item[data-relation-tone="purchase"] { border-left-color: #008784; }
.customer-relation-item[data-relation-tone="service"] { border-left-color: #b37a44; }
.customer-relation-item[data-relation-tone="demo"] { border-left-color: #277d91; }
.customer-relation-item[data-relation-tone="offer"] { border-left-color: #e56b00; }
.customer-relation-item[data-relation-tone="loan"] { border-left-color: #66588c; }
.customer-relation-item[data-relation-tone="order"] { border-left-color: #75833f; }
.customer-relation-item[data-relation-tone="complaint"] { border-left-color: #a55656; }

.customer-relation-kind {
  padding: 3px 5px;
  border-radius: 5px;
  background: #eef4f5;
  color: #315864;
  font-size: 0.66rem;
  font-weight: 700;
}

.customer-relation-item > div {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.customer-relation-item > div strong,
.customer-relation-item > div span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.customer-relation-item > div strong {
  color: #003f5a;
  font-size: 0.78rem;
}

.customer-relation-item > div span,
.customer-relation-item time {
  color: #647a80;
  font-size: 0.7rem;
}

.repair-category-stack {
  display: inline-grid;
  justify-items: start;
  gap: 3px;
}

.repair-customer-stack {
  display: inline-grid;
  justify-items: start;
  gap: 3px;
}

.repair-demo-relation {
  padding: 1px 5px;
  border-radius: 5px;
  font-size: 0.62rem;
  font-weight: 700;
  line-height: 1.35;
}

.repair-demo-relation.demo {
  border: 1px solid #9fcfca;
  background: #e7f6f4;
  color: #0b6666;
}

.repair-demo-relation.replacement {
  border: 1px solid #edc198;
  background: #fff0e1;
  color: #8b4b17;
}

@media (max-width: 800px) {
  .customer-relations-panel,
  .customer-relations-results {
    grid-template-columns: 1fr;
  }

  .customer-relations-results,
  .customer-relations-summary,
  .customer-relations-panel > .reset-filters-btn {
    grid-column: 1;
  }

  .customer-relation-item {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  .customer-relation-item > .reset-filters-btn {
    grid-column: 2 / -1;
    justify-self: end;
  }
}

/* Wspolny profil wysokiej jakosci dla dokumentow z zakladki Umowy. */
@media print {
  body.pricing-offer-print,
  body.pricing-loan-print,
  body.pricing-order-print,
  body.pricing-complaint-print {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 9pt;
    line-height: 1.3;
    text-rendering: geometricPrecision;
  }

  body.pricing-offer-print *,
  body.pricing-loan-print *,
  body.pricing-order-print *,
  body.pricing-complaint-print * {
    box-sizing: border-box;
    box-shadow: none !important;
    filter: none !important;
    text-shadow: none !important;
    transform: none !important;
  }

  body.pricing-offer-print .offer-document,
  body.pricing-loan-print .loan-document,
  body.pricing-order-print .order-document,
  body.pricing-complaint-print .complaint-document {
    width: 190mm;
    max-width: 190mm;
    color: #17272e;
    font-size: 9pt;
    line-height: 1.3;
  }

  body.pricing-offer-print .offer-document-head,
  body.pricing-loan-print .offer-document-head,
  body.pricing-order-print .offer-document-head,
  body.pricing-complaint-print .offer-document-head {
    border-bottom: 0.55mm solid #003f5a;
  }

  body.pricing-offer-print .offer-document-head h2,
  body.pricing-loan-print .offer-document-head h2,
  body.pricing-order-print .offer-document-head h2,
  body.pricing-complaint-print .offer-document-head h2 {
    color: #003f5a;
    font-size: 16pt;
    font-weight: 700;
    line-height: 1.12;
  }

  body.pricing-offer-print .offer-document-head p,
  body.pricing-loan-print .offer-document-head p,
  body.pricing-order-print .offer-document-head p,
  body.pricing-complaint-print .offer-document-head p {
    font-size: 8pt;
    font-weight: 700;
  }

  body.pricing-offer-print .offer-document-head span,
  body.pricing-loan-print .offer-document-head span,
  body.pricing-order-print .offer-document-head span,
  body.pricing-complaint-print .offer-document-head span {
    color: #465860;
    font-size: 8.5pt;
    font-weight: 600;
  }

  body.pricing-offer-print .offer-document-head img,
  body.pricing-loan-print .offer-document-head img,
  body.pricing-order-print .offer-document-head img,
  body.pricing-complaint-print .offer-document-head img {
    image-rendering: auto;
  }

  body.pricing-loan-print .loan-doc-section h3,
  body.pricing-order-print .loan-doc-section h3,
  body.pricing-complaint-print .loan-doc-section h3 {
    border-bottom: 0.25mm solid #bdcdd2;
    font-size: 9pt;
    font-weight: 700;
  }

  body.pricing-loan-print .loan-doc-grid p,
  body.pricing-loan-print .loan-protocol-grid p,
  body.pricing-loan-print .loan-signatures p,
  body.pricing-order-print .loan-doc-grid p,
  body.pricing-order-print .order-signatures p,
  body.pricing-complaint-print .loan-doc-grid p,
  body.pricing-complaint-print .complaint-signatures p,
  body.pricing-complaint-print .complaint-text-box,
  body.pricing-order-print .order-print-notes {
    border: 0.25mm solid #cbd8dc;
    background: #fff;
  }

  body.pricing-loan-print .loan-doc-grid p span,
  body.pricing-loan-print .loan-protocol-grid p span,
  body.pricing-loan-print .loan-signatures p span,
  body.pricing-order-print .loan-doc-grid p span,
  body.pricing-order-print .order-signatures span,
  body.pricing-complaint-print .loan-doc-grid p span,
  body.pricing-complaint-print .complaint-signatures span {
    color: #52656d;
    font-size: 7.3pt;
    font-weight: 700;
  }

  body.pricing-loan-print .loan-doc-grid p strong,
  body.pricing-loan-print .loan-protocol-grid p strong,
  body.pricing-loan-print .loan-signatures p strong,
  body.pricing-order-print .loan-doc-grid p strong,
  body.pricing-order-print .order-signatures strong,
  body.pricing-complaint-print .loan-doc-grid p strong,
  body.pricing-complaint-print .complaint-signatures strong {
    color: #17272e;
    font-size: 8.7pt;
    font-weight: 700;
  }

  body.pricing-offer-print .offer-items-table,
  body.pricing-offer-print .offer-payments-table,
  body.pricing-loan-print .loan-equipment-table,
  body.pricing-order-print .order-items-table,
  body.pricing-complaint-print .complaint-products-table {
    border-collapse: collapse;
    border: 0.25mm solid #bdcbd0;
    color: #17272e;
    font-size: 8.3pt;
  }

  body.pricing-offer-print .offer-items-table th,
  body.pricing-offer-print .offer-items-table td,
  body.pricing-offer-print .offer-payments-table th,
  body.pricing-offer-print .offer-payments-table td,
  body.pricing-loan-print .loan-equipment-table th,
  body.pricing-loan-print .loan-equipment-table td,
  body.pricing-order-print .order-items-table th,
  body.pricing-order-print .order-items-table td,
  body.pricing-complaint-print .complaint-products-table th,
  body.pricing-complaint-print .complaint-products-table td {
    border: 0.25mm solid #cbd8dc;
    font-size: 8.3pt;
    line-height: 1.25;
  }

  body.pricing-offer-print .offer-items-table th,
  body.pricing-offer-print .offer-payments-table th,
  body.pricing-loan-print .loan-equipment-table th,
  body.pricing-order-print .order-items-table th,
  body.pricing-complaint-print .complaint-products-table th {
    color: #243f4a;
    background: #edf4f5;
    font-size: 7.4pt;
    font-weight: 700;
  }

  body.pricing-offer-print .offer-items-table strong {
    font-size: 9.4pt;
    font-weight: 700;
  }

  body.pricing-loan-print .loan-doc-note,
  body.pricing-loan-print .loan-terms p,
  body.pricing-order-print .order-print-notes,
  body.pricing-complaint-print .complaint-text-box {
    font-size: 7.8pt;
    line-height: 1.3;
  }

  body.pricing-offer-print .document-gabinet-title,
  body.pricing-loan-print .document-gabinet-title,
  body.pricing-order-print .document-gabinet-title,
  body.pricing-complaint-print .document-gabinet-title {
    font-size: 7.6pt;
    font-weight: 700;
  }

  body.pricing-offer-print .document-gabinet-locations,
  body.pricing-loan-print .document-gabinet-locations,
  body.pricing-order-print .document-gabinet-locations,
  body.pricing-complaint-print .document-gabinet-locations {
    color: #253b44;
    font-size: 7.2pt;
    line-height: 1.25;
  }

  body.pricing-offer-print .document-gabinet-locations > span,
  body.pricing-loan-print .document-gabinet-locations > span,
  body.pricing-order-print .document-gabinet-locations > span,
  body.pricing-complaint-print .document-gabinet-locations > span {
    border-left: 0.8mm solid #78aebc;
    background: #f6fafb;
  }

  body.pricing-offer-print .document-gabinet-locations strong,
  body.pricing-loan-print .document-gabinet-locations strong,
  body.pricing-order-print .document-gabinet-locations strong,
  body.pricing-complaint-print .document-gabinet-locations strong,
  body.pricing-offer-print .document-gabinet-locations .location-phone,
  body.pricing-loan-print .document-gabinet-locations .location-phone,
  body.pricing-order-print .document-gabinet-locations .location-phone,
  body.pricing-complaint-print .document-gabinet-locations .location-phone {
    font-size: 7.2pt;
    font-weight: 700;
  }

  body.pricing-offer-print tr,
  body.pricing-loan-print tr,
  body.pricing-order-print tr,
  body.pricing-complaint-print tr,
  body.pricing-offer-print .offer-total-line,
  body.pricing-loan-print .loan-doc-section,
  body.pricing-order-print .loan-doc-section,
  body.pricing-complaint-print .loan-doc-section {
    break-inside: avoid;
    page-break-inside: avoid;
  }
}
