:root {
  --background: #edf2f8;
  --surface: #ffffff;
  --surface-soft: #f8fafc;
  --line: #dce4ef;
  --text: #172236;
  --muted: #647084;
  --BlueNote: rgb(75, 100, 165);
  --BlueNote-hover: rgb(60, 82, 137);
  --primary: var(--BlueNote);
  --primary-dark: var(--BlueNote-hover);
  --shadow: 0 12px 30px rgba(23, 34, 54, 0.08);
}

* {
  box-sizing: border-box;
}

html {
  font-size: 16px;
  min-height: 100%;
}

body {
  background:
    linear-gradient(rgba(237, 242, 248, 0.84), rgba(237, 242, 248, 0.84)),
    url("/images/menu-background.jpg") center / cover no-repeat fixed;
  color: var(--text);
  font-family: "Segoe UI", Arial, sans-serif;
  margin: 0;
  min-height: 100vh;
}

button,
a {
  font: inherit;
}

.page-container {
  margin: 0 auto;
  max-width: 1320px;
  padding: 0 24px;
}

.app-identity {
  align-items: center;
  display: flex;
  flex: 1 1 auto;
  gap: 14px;
}

.app-logo {
  border-radius: 8px;
  box-shadow: 0 7px 16px rgba(23, 58, 96, 0.18);
  flex: 0 0 58px;
  height: 58px;
  object-fit: cover;
  width: 58px;
}

.app-heading {
  align-items: center;
  display: flex;
  gap: 28px;
  justify-content: space-between;
  min-height: 126px;
  padding: 26px 0 44px;
  user-select: none;
  -webkit-user-select: none;
}

.eyebrow {
  color: var(--primary-dark);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.09em;
  margin: 0 0 5px;
  text-transform: uppercase;
}

.app-heading h1 {
  font-size: clamp(27px, 3vw, 36px);
  letter-spacing: -0.03em;
  margin: 0;
}

.app-heading-copy {
  min-width: 230px;
}

.food-logo {
  flex: 0 0 82px;
  height: 82px;
  object-fit: contain;
  width: 82px;
}

.app-subtitle {
  color: var(--muted);
  margin: 7px 0 0;
}

.session-panel {
  min-width: min(100%, 480px);
}

.app-version {
  color: #42556e;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  margin: 0 4px 5px 0;
  text-align: right;
  text-transform: uppercase;
}

.session-summary {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
  display: grid;
  grid-template-columns: repeat(3, minmax(120px, 1fr));
  margin: 0;
  min-width: 100%;
  overflow: hidden;
}

.session-summary div {
  padding: 10px 14px;
}

.session-summary div + div {
  border-left: 1px solid var(--line);
}

.session-summary dt {
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.session-summary dd {
  font-size: 14px;
  font-weight: 600;
  margin: 3px 0 0;
}

.quick-links {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-bottom: 42px;
  user-select: none;
  -webkit-user-select: none;
}

.quick-link {
  align-items: center;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(228, 239, 252, 0.96));
  border: 1px solid #8fa9c7;
  border-bottom: 3px solid #567da9;
  border-radius: 10px;
  box-shadow: 0 9px 20px rgba(23, 58, 96, 0.14);
  color: #173b65;
  display: flex;
  font-size: 16px;
  font-weight: 700;
  gap: 13px;
  min-height: 66px;
  padding: 9px 15px;
  text-align: left;
  text-decoration: none;
  transition:
    border-color 140ms ease,
    box-shadow 140ms ease,
    transform 140ms ease;
}

.quick-link:not(:disabled):hover,
.quick-link:not(:disabled):focus-visible {
  background: linear-gradient(135deg, #ffffff, #d8eaff);
  border-color: #5f8fc5;
  box-shadow: 0 12px 25px rgba(23, 75, 132, 0.2);
  color: var(--primary-dark);
  outline: none;
  transform: translateY(-2px);
}

.quick-icon {
  align-items: center;
  background: linear-gradient(145deg, #2d72bd, #164f9f);
  border: 1px solid rgba(255, 255, 255, 0.55);
  border-radius: 9px;
  box-shadow: 0 4px 10px rgba(22, 79, 159, 0.22);
  color: #ffffff;
  display: flex;
  flex: 0 0 38px;
  font-size: 13px;
  font-weight: 800;
  height: 38px;
  justify-content: center;
  width: 38px;
}

.menu-link.is-pending {
  cursor: default;
  opacity: 0.88;
}

.quick-link.is-pending {
  cursor: default;
  opacity: 1;
}

.menu-shell {
  background: rgba(246, 249, 253, 0.9);
  border: 1px solid #b8c5d6;
  border-radius: 10px;
  box-shadow: var(--shadow);
  margin-bottom: 26px;
  padding: 18px;
  user-select: none;
  -webkit-user-select: none;
}

.menu-intro {
  align-items: end;
  display: flex;
  justify-content: space-between;
  margin-bottom: 14px;
}

.menu-intro h2 {
  font-size: 21px;
  margin: 0;
}

.menu-intro > p {
  color: var(--muted);
  font-size: 14px;
  margin: 0;
}

.main-menu {
  display: grid;
  gap: 11px 13px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  user-select: none;
}

.menu-section {
  --accent: #647084;
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid #bcc8d8;
  border-left: 5px solid #143f82;
  border-radius: 8px;
  overflow: hidden;
}

.menu-section[open] {
  background: #edf5ff;
  border-color: #9db4d0;
  box-shadow: 0 12px 26px rgba(23, 34, 54, 0.13);
  overflow: visible;
}

.menu-section summary {
  align-items: center;
  cursor: pointer;
  display: grid;
  gap: 13px;
  grid-template-columns: 38px 1fr 28px;
  list-style: none;
  min-height: 64px;
  padding: 10px 15px;
}

.menu-section summary::-webkit-details-marker {
  display: none;
}

.menu-section summary:focus-visible {
  outline: 3px solid rgba(31, 111, 235, 0.22);
  outline-offset: -3px;
}

.section-icon {
  align-items: center;
  background: #b8cbe0;
  border-radius: 8px;
  color: #143f82;
  display: flex;
  font-size: 12px;
  font-weight: 800;
  height: 34px;
  justify-content: center;
  width: 34px;
}

.section-title {
  color: #143f82;
  font-size: 17px;
  font-weight: 700;
}

.section-toggle {
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  color: var(--muted);
  display: flex;
  height: 26px;
  justify-content: center;
  width: 26px;
}

.section-toggle::before {
  content: "+";
  font-size: 20px;
  line-height: 1;
}

.menu-section[open] .section-toggle::before {
  content: "-";
}

.section-content {
  border-top: 1px solid var(--line);
  box-sizing: border-box;
  display: grid;
  gap: 13px;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  padding: 13px;
}

.main-menu > .menu-section[open] .section-content {
  background: #edf5ff;
  border: 1px solid #9db4d0;
  border-top: 1px solid var(--line);
  border-radius: 0 0 8px 8px;
  margin: 0 -1px -1px;
  position: relative;
  width: calc(200% + 13px);
  z-index: 2;
}

.main-menu > .menu-section:nth-child(even)[open] .section-content {
  transform: translateX(calc(-50% - 6.5px));
}

.main-menu > #menu-tabelle[open] .section-content {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-template-rows: auto 1fr;
}

.main-menu > #menu-tabelle[open] .menu-group:nth-child(1),
.main-menu > #menu-tabelle[open] .menu-group:nth-child(2),
.main-menu > #menu-tabelle[open] .menu-group:nth-child(3) {
  grid-row: 1 / 3;
}

.main-menu > #menu-tabelle[open] .menu-group:nth-child(4) {
  align-self: start;
  grid-column: 4;
  grid-row: 1;
  margin-top: 0;
  min-height: 0;
  padding-bottom: 8px;
  padding-top: 8px;
}

.main-menu > #menu-tabelle[open] .menu-group:nth-child(4) .menu-items {
  gap: 5px;
}

.main-menu > #menu-tabelle[open] .menu-group:nth-child(5) {
  grid-column: 4;
  grid-row: 2;
  align-self: stretch;
  justify-self: stretch;
  min-height: 0;
  position: static;
}

.main-menu > #menu-tabelle[open] .menu-group:nth-child(5) .menu-items {
  grid-template-columns: 1fr;
}

.main-menu > #menu-tabelle[open] .menu-group:nth-child(5) .menu-link {
  white-space: nowrap;
  width: 100%;
}

.menu-group {
  background: var(--surface);
  border: 1px solid #b9c6d6;
  border-radius: 7px;
  padding: 12px;
}

.menu-group h3 {
  color: #143f82;
  font-size: 14px;
  font-weight: 750;
  margin: 0 0 9px;
}

.menu-items {
  display: grid;
  gap: 7px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

#menu-vendite .menu-group {
  grid-column: 3;
  grid-row: 1;
}

#menu-vendite .menu-items {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

#menu-dipendenti .menu-group {
  grid-column: 3;
  grid-row: 1;
}

#menu-dipendenti .menu-items {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.menu-link {
  align-items: center;
  background: #edf2f8;
  border: 1px solid #c1ccda;
  border-radius: 6px;
  color: var(--text);
  display: flex;
  font-weight: 600;
  font-size: 14px;
  min-height: 42px;
  padding: 8px 11px;
  text-decoration: none;
}

a.menu-link:hover,
a.menu-link:focus-visible {
  background: #dceaff;
  border-color: #8eb3e5;
  color: var(--primary-dark);
  outline: none;
}

.accent-tables { --accent: #866118; }
.accent-stock { --accent: #227a68; }
.accent-sales { --accent: #b25757; }
.accent-accounting { --accent: #70578f; }
.accent-employees { --accent: #1f6feb; }
.accent-tools { --accent: #647084; }

.app-footer {
  color: var(--muted);
  font-size: 14px;
  padding: 0 0 24px;
  user-select: none;
  -webkit-user-select: none;
}

.module-page {
  padding: 28px 0 34px;
}

.list-page {
  display: flex;
  flex-direction: column;
  height: 100vh;
  margin: 0 calc(50% - 50vw);
  overflow: hidden;
  padding: 14px 18px 18px;
  width: 100vw;
}

.list-titlebar {
  align-items: center;
  background: #fff;
  border: 1px solid #8799ad;
  border-radius: 8px;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.82),
    0 7px 18px rgba(23, 34, 54, 0.14);
  display: flex;
  flex: 0 0 auto;
  justify-content: space-between;
  margin-bottom: 12px;
  min-height: 66px;
  padding: 7px 10px;
  position: relative;
  z-index: 5;
}

.list-title-identity {
  align-items: center;
  color: #172236;
  display: flex;
  gap: 11px;
  text-decoration: none;
}

.list-title-identity img {
  border-radius: 7px;
  height: 48px;
  object-fit: cover;
  width: 48px;
}

.supplier-list-page .list-title-identity img {
  border-radius: 0;
  box-shadow: 1px 1px 0 rgba(28, 42, 82, 0.85), 2px 2px 3px rgba(20, 28, 48, 0.28);
  filter: contrast(1.04);
  height: 48px;
  object-fit: contain;
  width: auto;
}

.supplier-list-page .list-titlebar {
  min-height: 66px;
  padding-bottom: 6px;
  padding-top: 6px;
}

.list-title-identity strong,
.list-title-identity small {
  display: block;
}

.list-title-identity strong {
  font-size: 23px;
  line-height: 1.05;
}

.list-title-identity small {
  color: #40536a;
  font-size: 13px;
  margin-top: 4px;
}

.list-title-actions {
  align-items: center;
  display: flex;
  gap: 9px;
}

.list-title-button {
  align-items: center;
  background: var(--BlueNote);
  border: 1px solid var(--BlueNote-hover);
  border-radius: 6px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22);
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  font-weight: 700;
  justify-content: center;
  min-height: 38px;
  min-width: 94px;
  padding: 7px 14px;
  text-decoration: none;
}

.list-title-button:hover,
.list-title-button:focus-visible {
  background: var(--BlueNote-hover);
  color: #fff;
  outline: 2px solid rgba(255, 255, 255, 0.7);
  outline-offset: -3px;
}

.list-page > .message {
  flex: 0 0 auto;
  margin-bottom: 10px;
}

.list-panel {
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid #9eacbc;
  border-radius: 8px;
  box-shadow: var(--shadow);
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
  padding: 12px 14px 14px;
}

.list-toolbar {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  gap: 10px;
  margin-bottom: 8px;
}

.list-filter-field {
  align-items: center;
  display: grid;
  gap: 6px;
  grid-template-columns: max-content minmax(0, 1fr);
}

.list-filter-field label {
  align-items: center;
  background: #b8cbe0;
  border: 1px solid #b8cbe0;
  border-radius: 6px 0 0 6px;
  box-sizing: border-box;
  color: #263b55;
  display: flex;
  font-size: 13px;
  font-weight: 500;
  min-height: 28px;
  padding: 0 8px;
  line-height: 1;
  white-space: nowrap;
}

.list-filter-field input,
.list-filter-field select {
  background: #fff;
  border: 1px solid #8799ad;
  border-radius: 6px;
  min-height: 28px;
  padding: 3px 8px;
}

.list-search-field {
  flex: 1 1 420px;
  max-width: 620px;
}

.list-search-control {
  position: relative;
  width: 100%;
}

.list-search-control input {
  padding-right: 40px;
  width: 100%;
}

.list-search-clear {
  align-items: center;
  background: var(--BlueNote);
  border: 1px solid var(--BlueNote-hover);
  border-radius: 6px;
  color: #ffffff;
  cursor: pointer;
  display: inline-flex;
  font-size: 18px;
  font-weight: 700;
  height: 26px;
  justify-content: center;
  line-height: 1;
  padding: 0;
  position: absolute;
  right: 4px;
  top: 50%;
  transform: translateY(-50%);
  width: 30px;
}

.list-search-clear:hover,
.list-search-clear:focus-visible {
  background: var(--BlueNote-hover);
  color: #ffffff;
  outline: none;
}

.list-account-field {
  flex: 0 1 360px;
}

.list-records-box {
  align-items: center;
  background: #d5e1ee;
  border: 1px solid #8799ad;
  border-radius: 6px;
  color: #263b55;
  display: inline-flex;
  gap: 7px;
  justify-content: center;
  margin-left: auto;
  min-height: 28px;
  min-width: 112px;
  padding: 3px 15px;
  white-space: nowrap;
}

.list-grid-frame {
  border: 1px solid #8799ad;
  border-radius: 5px;
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  position: relative;
  scrollbar-gutter: stable;
}

.list-grid {
  border-collapse: collapse;
  color: #000;
  font-size: 13px;
  font-weight: 520;
  min-width: 1120px;
  user-select: none;
  width: 100%;
}

.list-grid th {
  background: linear-gradient(#c7d7e8, #b8cbe0 52%, #a9bed6);
  border-bottom: 1px solid #758aa1;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.72),
    inset 0 -1px 0 rgba(72, 91, 112, 0.26);
  color: #0e1824;
  font-size: 12px;
  font-weight: 400;
  height: 30px;
  padding: 0 8px;
  position: sticky;
  text-align: left;
  text-transform: none;
  top: 0;
  z-index: 2;
}

.list-grid th[data-sort-key] {
  cursor: pointer;
  padding-right: 22px;
  position: sticky;
}

.list-grid th[data-sort-key]::after {
  color: #40536a;
  content: "";
  font-size: 11px;
  position: absolute;
  right: 7px;
  top: 50%;
  transform: translateY(-50%);
}

.list-grid th[data-sort-key].is-sorted::after {
  content: "▲";
}

.list-grid th[data-sort-key].is-sorted[data-sort-direction="desc"]::after {
  content: "▼";
}

.list-grid th[data-sort-key]:focus-visible {
  outline: 2px solid rgba(75, 100, 165, 0.45);
  outline-offset: -3px;
}

.list-grid td {
  border-bottom: 1px solid #cfd8e3;
  box-sizing: border-box;
  height: 27px;
  line-height: 18px;
  max-width: 280px;
  overflow: hidden;
  padding: 4px 6px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.list-grid tbody tr {
  background: #fff;
  cursor: pointer;
  height: 27px;
  outline: none;
}

.list-grid tbody tr:nth-child(even) {
  background: #f4f7fa;
}

.list-grid tbody tr:hover {
  background: #e3edf8;
}

.list-grid tbody tr.selected-row,
.list-grid tbody tr.selected-row:hover {
  background: #b8d2ee;
  box-shadow: inset 4px 0 0 #2f6faa;
  color: #102b49;
}

.list-grid tbody tr:focus-visible {
  box-shadow: inset 0 0 0 2px #2f6faa;
}

.list-grid tr.is-inactive {
  color: #000;
}

.list-empty {
  color: var(--muted);
  left: 0;
  padding: 34px;
  position: absolute;
  right: 0;
  text-align: center;
  top: 31px;
}

body.list-module {
  overflow: hidden;
}

body.list-module .app-footer {
  display: none;
}

body.accounting-cause-edit-module .app-footer {
  display: none;
}

body.accounting-movement-edit-module .app-footer {
  display: none;
}

.module-header {
  align-items: end;
  background: rgba(255, 255, 255, 0.93);
  border: 1px solid #b8c5d6;
  border-radius: 10px;
  box-shadow: var(--shadow);
  display: flex;
  gap: 24px;
  justify-content: space-between;
  margin-bottom: 20px;
  padding: 20px 22px;
}

.module-header h1 {
  font-size: 30px;
  margin: 0;
}

.module-header p:last-child {
  color: var(--muted);
  margin: 6px 0 0;
}

.module-title-identity {
  align-items: center;
  display: flex;
  gap: 11px;
  min-width: 0;
}

.module-title-logo {
  border-radius: 7px;
  display: block;
  flex: 0 0 42px;
  height: 42px;
  width: 42px;
}

.module-title-logo:focus-visible {
  outline: 3px solid rgba(75, 100, 165, 0.28);
  outline-offset: 3px;
}

.module-title-identity img {
  border-radius: 7px;
  display: block;
  height: 42px;
  object-fit: cover;
  width: 42px;
}

.module-actions,
.form-actions,
.filter-actions,
.row-actions {
  align-items: center;
  display: flex;
  gap: 9px;
}

.button,
.icon-button {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 7px;
  cursor: pointer;
  display: inline-flex;
  font-weight: 700;
  justify-content: center;
  text-decoration: none;
}

.button {
  min-height: 42px;
  padding: 8px 15px;
}

.button-primary {
  background: var(--BlueNote);
  border-color: var(--BlueNote-hover);
  color: #fff;
}

.button-primary:hover,
.button-primary:focus-visible {
  background: var(--BlueNote-hover);
  color: #fff;
}

.button-secondary {
  background: var(--BlueNote);
  border-color: var(--BlueNote-hover);
  color: #fff;
}

.button-secondary:hover,
.button-secondary:focus-visible {
  background: var(--BlueNote-hover);
  color: #fff;
}

.message {
  border: 1px solid;
  border-radius: 7px;
  font-weight: 650;
  margin-bottom: 16px;
  padding: 11px 14px;
}

.message-success {
  background: #e8f7ee;
  border-color: #91c9a6;
  color: #205e38;
}

.message-error,
.validation-summary {
  background: #fff0ed;
  border-color: #dfaaa0;
  color: #8c2f20;
}

.messagebox-overlay {
  align-items: center;
  background: rgba(23, 32, 51, 0.32);
  display: none;
  inset: 0;
  justify-content: center;
  padding: 24px;
  position: fixed;
  z-index: 3000;
}

.messagebox-overlay.active {
  display: flex;
}

.messagebox {
  background: #fff;
  border: 1px solid #b8c5d6;
  border-radius: 8px;
  box-shadow: 0 18px 42px rgba(23, 32, 51, 0.28);
  max-width: 620px;
  overflow: hidden;
  width: min(620px, 100%);
}

.messagebox-title {
  background: #1673b8;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  padding: 10px 18px;
}

.messagebox-success .messagebox-title {
  background: #15803d;
}

.messagebox-error .messagebox-title {
  background: #dc2626;
}

.messagebox-confirm .messagebox-title {
  background: #f59e0b;
}

.messagebox-body {
  padding: 28px 22px 20px;
  text-align: center;
}

.messagebox-message {
  color: var(--text);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.35;
  overflow-wrap: anywhere;
  white-space: pre-line;
}

.messagebox-detail {
  color: #1673b8;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.45;
  margin-top: 14px;
  overflow-wrap: anywhere;
  white-space: pre-line;
}

.messagebox-success .messagebox-detail {
  color: #15803d;
}

.messagebox-error .messagebox-detail {
  color: #dc2626;
}

.messagebox-confirm .messagebox-detail {
  color: #b45309;
}

.messagebox-actions {
  display: flex;
  gap: 10px;
  justify-content: center;
  padding: 0 22px 24px;
}

.messagebox-ok,
.messagebox-cancel {
  min-height: 40px;
  min-width: 148px;
}

.operation-progress-overlay {
  align-items: center;
  background: rgba(23, 32, 51, 0.28);
  display: none;
  inset: 0;
  justify-content: center;
  padding: 24px;
  position: fixed;
  z-index: 2800;
}

.operation-progress-overlay.active {
  display: flex;
}

.operation-progress-box {
  align-items: center;
  background: transparent;
  border: 0;
  box-shadow: none;
  color: var(--text);
  display: flex;
  flex-direction: column;
  min-width: 192px;
  padding: 0;
  text-align: center;
}

.operation-progress-box img {
  display: block;
  height: 144px;
  object-fit: contain;
  width: 144px;
}

.password-control {
  display: flex;
  gap: 6px;
  width: 100%;
}

.password-control input {
  flex: 1 1 auto;
  min-width: 0;
}

.password-control input.password-masked {
  -webkit-text-security: disc;
}

.password-view-button {
  background: var(--BlueNote);
  border: 1px solid var(--BlueNote-hover);
  color: #ffffff;
  cursor: pointer;
  flex: 0 0 58px;
  font-size: 12px;
  font-weight: 700;
  height: 30px;
  padding: 0 8px;
}

.password-view-button:hover,
.password-view-button:focus-visible {
  background: var(--BlueNote-hover);
  outline: none;
}

.user-form-page .user-name-row {
  display: grid;
  column-gap: 14px;
  grid-column: 1 / -1;
  grid-template-columns:
    minmax(0, calc((100% - 42px) / 4))
    minmax(0, calc(((100% - 42px) / 4) + var(--label-width) + 14px))
    minmax(0, 1fr);
  min-height: 30px;
}

.user-form-page .form-frame-grid {
  grid-auto-rows: 30px;
}

.user-form-page .field,
.user-form-page .check-button-field,
.user-form-page .password-control {
  min-height: 30px;
}

.filter-panel {
  align-items: end;
  background: rgba(255, 255, 255, 0.93);
  border: 1px solid #b8c5d6;
  border-radius: 9px;
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(260px, 1.5fr) minmax(260px, 1fr) auto auto;
  margin-bottom: 16px;
  padding: 15px;
}

.field {
  display: grid;
  gap: 5px;
  min-width: 0;
}

label,
.check-text,
.readonly-field,
input[readonly],
textarea[readonly] {
  -ms-user-select: none;
  -webkit-user-select: none;
  user-select: none;
}

.accounting-cause-account-column h2,
.accounting-cause-account-subhead span,
.accounting-cause-row-button {
  -ms-user-select: none;
  -webkit-user-select: none;
  user-select: none;
}

.field label {
  color: #43546a;
  font-size: 13px;
  font-weight: 750;
}

th,
legend,
.sales-entry-grid th,
.sales-entry-total-label {
  user-select: none;
}

.field input,
.field select,
.field textarea {
  background: #fff;
  border: 1px solid #9fb0c4;
  border-radius: 6px;
  color: var(--text);
  font-size: 12px;
  font-weight: 600;
  min-height: 40px;
  padding: 7px 10px;
  width: 100%;
}

.field input:focus,
.field select:focus {
  border-color: #1f6feb;
  box-shadow: 0 0 0 3px rgba(31, 111, 235, 0.14);
  outline: none;
}

.updown-control {
  align-items: stretch;
  display: block;
  position: relative;
  width: 100%;
}

.field .updown-control input[data-updown] {
  font-variant-numeric: tabular-nums;
  min-width: 0;
  text-align: center;
}

.updown-buttons {
  display: grid;
  grid-template-rows: 1fr 1fr;
  height: 100%;
  left: calc(100% + 1px);
  position: absolute;
  top: 0;
  width: 24px;
}

.updown-button {
  align-items: center;
  background: linear-gradient(#f8fafc, #d9e3ee);
  border: 1px solid #9fb0c4;
  color: #203247;
  cursor: default;
  display: flex;
  justify-content: center;
  min-height: 0;
  padding: 0;
  position: relative;
}

.updown-button-up {
  border-bottom: 0;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
}

.updown-button-down {
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
}

.updown-button::before {
  border-color: currentColor;
  border-style: solid;
  border-width: 0 2px 2px 0;
  content: "";
  height: 7px;
  width: 7px;
}

.updown-button-up::before {
  margin-top: 8px;
  transform: rotate(225deg);
}

.updown-button-down::before {
  margin-bottom: 3px;
  transform: rotate(45deg);
}

.updown-button:hover,
.updown-button:focus-visible {
  background: linear-gradient(#ffffff, #c8d7e6);
  color: #0f2742;
  outline: none;
}

.updown-button:active {
  background: #c2d1e0;
}

fieldset:disabled .updown-button,
.updown-control input:disabled + .updown-buttons .updown-button,
.updown-control input[readonly] + .updown-buttons .updown-button {
  background: #edf2f7;
  color: #8493a5;
  pointer-events: none;
}

.field span.field-validation-error {
  color: #9a3412;
  display: none;
  font-size: 12px;
  font-weight: 650;
}

.record-count {
  color: #43546a;
  padding: 0 4px 11px;
  white-space: nowrap;
}

.data-table-frame {
  background: #fff;
  border: 1px solid #aebccd;
  border-radius: 9px;
  box-shadow: var(--shadow);
  overflow: auto;
}

.data-table {
  border-collapse: collapse;
  font-size: 14px;
  min-width: 1160px;
  width: 100%;
}

.data-table th {
  background: #dce8f6;
  border-bottom: 1px solid #9fb0c4;
  color: #203955;
  font-size: 12px;
  letter-spacing: 0.025em;
  padding: 10px 9px;
  position: sticky;
  text-align: left;
  text-transform: uppercase;
  top: 0;
  z-index: 1;
}

.data-table td {
  border-bottom: 1px solid #dbe2eb;
  max-width: 240px;
  overflow: hidden;
  padding: 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.data-table tbody tr:hover {
  background: #edf5ff;
}

.data-table tr.is-inactive {
  color: #788598;
}

.code-cell {
  font-variant-numeric: tabular-nums;
  text-align: center;
}

.table-primary-link {
  color: #164f9f;
  font-weight: 700;
  text-decoration: none;
}

.table-primary-link:hover {
  text-decoration: underline;
}

.table-actions-column {
  min-width: 150px;
}

.row-actions {
  overflow: visible !important;
}

.row-actions form {
  margin: 0;
}

.icon-button {
  background: var(--BlueNote);
  border-color: var(--BlueNote-hover);
  color: #fff;
  font-size: 12px;
  min-height: 32px;
  padding: 5px 8px;
}

.icon-button-danger {
  background: #fff4f2;
  border-color: #d7a39a;
  color: #8c2f20;
}

.empty-row {
  color: var(--muted);
  padding: 30px !important;
  text-align: center;
}

.entity-form {
  display: grid;
  gap: 16px;
}

.validation-summary {
  border: 1px solid;
  border-radius: 7px;
  padding: 10px 14px;
}

.validation-summary:empty,
.validation-summary.validation-summary-valid {
  display: none;
}

.form-frame {
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid #afbecf;
  border-radius: 9px;
  box-shadow: 0 8px 20px rgba(23, 34, 54, 0.07);
  margin: 0;
  padding: 15px;
}

.form-frame legend {
  color: #164f9f;
  float: none;
  font-size: 15px;
  font-weight: 800;
  margin: 0;
  padding: 0 7px;
  width: auto;
}

.form-grid {
  display: grid;
  gap: 13px 15px;
}

.form-grid-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.field-span-2 {
  grid-column: span 2;
}

.field-small {
  max-width: 130px;
}

.field-code {
  max-width: 240px;
}

.code-display {
  font-variant-numeric: tabular-nums;
  text-align: center;
}

.currency-display {
  font-variant-numeric: tabular-nums;
  text-align: right;
}

.checkbox-field {
  align-content: end;
}

.checkbox-field label {
  align-items: center;
  background: #edf2f8;
  border: 1px solid #b8c5d6;
  border-radius: 6px;
  display: flex;
  gap: 9px;
  min-height: 40px;
  padding: 7px 10px;
}

.checkbox-field input {
  min-height: auto;
  width: auto;
}

.readonly-field,
input[readonly],
textarea[readonly] {
  color: #000 !important;
  pointer-events: none;
}

.readonly-field {
  background: #e8edf3 !important;
}

.text-uppercase {
  text-transform: uppercase;
}

.form-actions {
  justify-content: flex-end;
  padding: 4px 0 20px;
}

.supplier-form-page {
  --label-width: 120px;
}

.supplier-form-page .module-header {
  align-items: center;
  margin-bottom: 12px;
  padding: 12px 16px;
}

.supplier-form-page .module-header h1 {
  font-size: 24px;
}

.supplier-form-page .module-header p:last-child {
  margin-top: 3px;
}

.supplier-form-page .top-actions {
  align-items: center;
  display: flex;
  gap: 10px;
  margin-right: 14px;
}

.supplier-form-page .entity-form {
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid #9eacbc;
  border-radius: 8px;
  box-shadow: var(--shadow);
  gap: 8px;
  padding: 14px;
}

.supplier-form-page .form-grid,
.supplier-form-page .compact-frame .form-frame-grid {
  gap: 8px 14px;
}

.supplier-form-page .supplier-location-row {
  display: grid;
  gap: 8px 14px;
  grid-column: 1 / -1;
  grid-template-columns:
    minmax(0, calc(38.16% - 16.03px))
    minmax(0, calc(18.42% - 7.74px))
    minmax(0, calc(18.42% - 7.74px))
    minmax(0, calc(25% - 10.5px));
}

.supplier-form-page .field {
  align-items: center;
  gap: 6px;
  grid-template-columns: var(--label-width) minmax(0, 1fr);
  min-height: 30px;
}

.supplier-form-page .supplier-email-row {
  display: grid;
  gap: 8px 14px;
  grid-column: 1 / -1;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.supplier-form-page .field-span-2 {
  grid-column: span 2;
}

.supplier-form-page .field-country {
  grid-column: 3 / span 2;
  grid-row: 3;
  margin-left: calc(13.16% - 1.85px);
}

.supplier-form-page .field-address,
.supplier-form-page .field-legal-nature {
  grid-column: 1 / -1;
  max-width: 100%;
  width: calc(56.58% - 9.77px);
}

.supplier-form-page .field-address {
  grid-row: 3;
}

.supplier-form-page .field-legal-nature {
  grid-row: 4;
}

.supplier-form-page .field-small {
  max-width: none;
}

.supplier-form-page .field-active {
  grid-column: 3 / span 2;
  grid-row: 4;
  margin-left: calc(13.16% - 1.85px);
}

.supplier-form-page.user-form-page .field-user-active {
  grid-column: 4;
  grid-row: 3;
  margin-left: 0;
}

.supplier-form-page.user-form-page .field-user-locked {
  grid-column: 1 / span 2;
  grid-row: 3;
  margin-left: 0;
}

.supplier-form-page.user-form-page .field-user-store {
  grid-column: 3 / span 2;
  grid-row: 3;
  margin-left: 0;
}

.supplier-form-page .form-frame {
  grid-column: 1 / -1;
  padding: 10px 12px 12px;
}

.supplier-form-page .compact-frame + .compact-frame {
  margin-top: 6px;
}

.supplier-form-page.data-form-skin .form-frame {
  background: #ffffff;
  border: 1px solid #8a8f98;
  border-radius: 0;
  box-shadow: none;
}

.supplier-form-page.data-form-skin .form-frame legend {
  background: transparent;
  border: 1px solid #8a8f98;
  color: #0e1824;
  font-size: 15px;
  font-weight: 700;
  padding: 3px 10px;
  text-transform: uppercase;
}

.supplier-form-page.data-form-skin .field label {
  align-items: center;
  background: #b8cbe0;
  border: 1px solid #8a8f98;
  border-radius: 6px;
  color: #0e1824;
  display: flex;
  font-weight: 500;
  height: 30px;
  line-height: 1.15;
  min-height: 30px;
  padding: 5px 8px;
}

.supplier-form-page.data-form-skin input,
.supplier-form-page.data-form-skin select,
.supplier-form-page.data-form-skin textarea {
  border: 1px solid #8a8f98;
  font-size: 12px;
  font-weight: 600;
  height: 30px;
  line-height: 1.15;
  min-height: 30px;
  padding-bottom: 5px;
  padding-top: 5px;
}

.supplier-form-page.data-form-skin select {
  padding-bottom: 3px;
  padding-top: 3px;
}

.supplier-form-page.data-form-skin .top-actions .button,
.supplier-form-page.data-form-skin .top-actions button {
  background: var(--BlueNote);
  border: 0;
  color: #fff;
  gap: 7px;
  min-height: 40px;
  min-width: 96px;
  padding: 9px 13px;
  white-space: nowrap;
  width: 96px;
}

.supplier-form-page.data-form-skin .top-actions .button:hover,
.supplier-form-page.data-form-skin .top-actions .button:focus-visible,
.supplier-form-page.data-form-skin .top-actions button:hover,
.supplier-form-page.data-form-skin .top-actions button:focus-visible {
  background: var(--BlueNote-hover);
  color: #fff;
  outline: 2px solid rgba(31, 111, 235, 0.22);
  outline-offset: 2px;
}

.supplier-form-page.data-form-skin .form-actions.top-actions {
  justify-content: flex-end;
  margin-right: 0;
  padding: 4px 0 6px;
}

.supplier-form-page.data-form-skin .form-actions.top-actions .button,
.supplier-form-page.data-form-skin .form-actions.top-actions button {
  width: 96px;
}

.supplier-form-page.data-form-skin .field-check {
  min-height: 30px;
}

.supplier-form-page.data-form-skin .field-check .check-button-field {
  align-items: stretch;
  background: transparent;
  border: 0;
  display: grid;
  gap: 6px;
  grid-template-columns: var(--label-width) 68px;
  height: 30px;
  min-height: 30px;
  padding: 0;
  width: 100%;
}

.supplier-form-page.data-form-skin .field-check .check-button-field .check-text {
  align-items: center;
  background: #b8cbe0;
  border: 1px solid #8a8f98;
  border-radius: 6px;
  box-sizing: border-box;
  color: #0e1824;
  display: flex;
  font-weight: 500;
  height: 30px;
  min-height: 30px;
  width: var(--label-width);
  padding: 5px 8px;
}

.supplier-form-page.data-form-skin .field-check .check-button-field input {
  border: 0;
  height: 1px;
  min-height: 0;
  opacity: 0;
  padding: 0;
  position: absolute;
  width: 1px;
}

.supplier-form-page.data-form-skin .field-check .check-button-field .check-button-wrap {
  align-items: center;
  background: #ffffff !important;
  border: 1px solid #8a8f98;
  border-radius: 6px;
  box-sizing: border-box;
  display: flex;
  font-size: 0;
  height: 30px;
  justify-content: center;
  min-height: 30px;
  overflow: hidden;
  padding: 0 !important;
  position: relative;
}

.supplier-form-page.data-form-skin .field-check .check-button-field .check-button-wrap::before {
  background: rgb(210, 210, 210);
  border: 1px solid #c2ccda;
  border-radius: 999px;
  content: "";
  display: block;
  height: 22px;
  transition: background 0.15s ease, border-color 0.15s ease;
  width: 42px;
}

.supplier-form-page.data-form-skin .field-check .check-button-field .check-button-wrap::after {
  background: #ffffff;
  border-radius: 50%;
  box-shadow: 0 1px 3px rgba(23, 32, 51, 0.28);
  content: "";
  height: 16px;
  left: 16px;
  position: absolute;
  top: 7px;
  transition: transform 0.15s ease;
  width: 16px;
}

.supplier-form-page.data-form-skin .field-check .check-button-field input:checked ~ .check-button-wrap::before {
  background: var(--BlueNote);
  border-color: var(--BlueNote);
}

.supplier-form-page.data-form-skin .field-check .check-button-field input:checked ~ .check-button-wrap::after {
  transform: translateX(20px);
}

.supplier-form-page.data-form-skin .field-check .check-button-field input:focus-visible ~ .check-button-wrap {
  box-shadow: 0 0 0 3px rgba(75, 100, 165, 0.18);
}

.supplier-form-page.user-form-page.data-form-skin .field,
.supplier-form-page.user-form-page.data-form-skin .field-check,
.supplier-form-page.user-form-page.data-form-skin .field-check .check-button-field,
.supplier-form-page.user-form-page.data-form-skin .password-control {
  min-height: 30px;
}

.sector-list-page .sector-grid {
  min-width: 680px;
}

.sector-list-page .list-panel {
  flex: 1 1 auto;
  margin-bottom: 10px;
  min-height: 330px;
}

.sector-list-page .sector-grid-frame {
  max-height: 64vh;
}

.sector-list-page.is-sector-editing .sector-grid-frame {
  opacity: 0.58;
  pointer-events: none;
}

.sector-list-page .sector-grid th:first-child,
.sector-list-page .sector-grid td:first-child {
  width: 110px;
}

.sector-inline-editor {
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid #9eacbc;
  border-radius: 8px;
  box-shadow: var(--shadow);
  flex: 0 0 auto;
  margin: 0;
  max-width: none;
  padding: 12px 14px 14px;
}

.sector-form-page .entity-form {
  max-width: 760px;
}

.sector-form-page .sector-fields-row {
  align-items: start;
  grid-template-columns: 190px minmax(0, 1fr) max-content;
}

.sector-form-page .field-code {
  grid-template-columns: 70px minmax(0, 1fr);
  max-width: none;
}

.supplier-form-page .sector-description-field {
  grid-column: span 1;
}

.sector-inline-actions {
  align-items: center;
  align-self: center;
  display: flex;
  gap: 8px;
  min-height: 30px;
}

.sector-inline-actions .button {
  background: var(--BlueNote);
  border: 0;
  color: #fff;
  min-height: 30px;
  width: 96px;
}

.sector-inline-actions .button:disabled {
  cursor: default;
  opacity: 0.56;
}

.sector-inline-actions .button:hover,
.sector-inline-actions .button:focus-visible {
  background: var(--BlueNote-hover);
  color: #fff;
}

.sector-inline-editor fieldset:disabled {
  opacity: 0.76;
}

.sector-inline-editor fieldset:disabled input {
  background: #eef1f5;
  color: #3f4f63;
}

.small-table-grid {
  min-width: 680px;
}

.small-table-page .list-panel {
  flex: 1 1 auto;
  margin-bottom: 10px;
  min-height: 330px;
}

.small-table-page .small-table-grid-frame {
  max-height: 64vh;
}

.small-table-page.is-small-table-editing .small-table-grid-frame {
  opacity: 0.58;
  pointer-events: none;
}

.small-table-grid th:first-child,
.small-table-grid td:first-child {
  width: 110px;
}

.comuni-grid th:first-child,
.comuni-grid td:first-child {
  width: 320px;
}

.comuni-grid th:nth-child(2),
.comuni-grid td:nth-child(2) {
  text-align: center;
  width: 100px;
}

.comuni-grid th:nth-child(3),
.comuni-grid td:nth-child(3) {
  text-align: center;
  width: 120px;
}

.small-table-editor {
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid #9eacbc;
  border-radius: 8px;
  box-shadow: var(--shadow);
  flex: 0 0 auto;
  margin: 0;
  max-width: none;
  padding: 12px 14px 14px;
}

.small-table-fields-row {
  align-items: start;
  grid-template-columns: 190px minmax(0, 1fr) max-content;
}

.small-table-editor .field-code {
  grid-template-columns: 70px minmax(0, 1fr);
  max-width: none;
}

.small-table-editor .small-table-description-field {
  grid-column: span 1;
}

.small-table-actions {
  align-items: center;
  align-self: center;
  display: flex;
  gap: 8px;
  min-height: 30px;
}

.small-table-actions .button {
  background: var(--BlueNote);
  border: 0;
  color: #fff;
  min-height: 30px;
  width: 96px;
}

.small-table-actions .button:disabled {
  cursor: default;
  opacity: 0.56;
}

.small-table-actions .button:hover,
.small-table-actions .button:focus-visible {
  background: var(--BlueNote-hover);
  color: #fff;
}

.small-table-editor fieldset:disabled {
  opacity: 0.76;
}

.small-table-editor fieldset:disabled input {
  background: #eef1f5;
  color: #3f4f63;
}

.comuni-fields-row {
  align-items: center;
  display: grid;
  gap: 10px;
  grid-template-columns: 430px 140px 170px 190px 1fr 174px;
  min-height: 30px;
}

.comuni-name-field,
.comuni-province-field,
.comuni-postal-code-field,
.comuni-code-field {
  grid-column: auto;
}

.comuni-name-field input {
  width: 100%;
}

.comuni-fields-row .comuni-name-field {
  grid-template-columns: 58px minmax(0, 1fr);
}

.comuni-fields-row .comuni-province-field {
  grid-template-columns: 56px minmax(0, 1fr);
}

.comuni-fields-row .comuni-postal-code-field {
  grid-template-columns: 54px minmax(0, 1fr);
}

.comuni-fields-row .comuni-code-field {
  grid-template-columns: 66px minmax(0, 1fr);
}

.comuni-fields-row .field {
  align-items: center;
  min-height: 30px;
}

.comuni-fields-row .field label,
.comuni-fields-row .field input {
  height: 30px;
}

.comuni-fields-row .field label {
  align-items: center;
  display: flex;
  padding-bottom: 0;
  padding-top: 0;
}

.comuni-fields-row .comuni-actions {
  align-items: center;
  align-self: center;
  display: flex;
  height: 30px;
  justify-content: flex-end;
  min-height: 30px;
}

.comuni-fields-row .comuni-action-button {
  align-items: center;
  background: var(--BlueNote);
  border: 0;
  border-radius: 7px;
  color: #fff;
  display: inline-flex;
  flex: 0 0 78px;
  font-size: 14px;
  font-weight: 800;
  height: 30px;
  justify-content: center;
  line-height: 1;
  min-height: 30px;
  padding-bottom: 0;
  padding-top: 0;
  width: 78px;
}

.comuni-fields-row .comuni-action-button:hover,
.comuni-fields-row .comuni-action-button:focus-visible {
  background: var(--BlueNote-hover);
  color: #fff;
}

.comuni-fields-row .comuni-action-button:disabled {
  cursor: default;
  opacity: 0.56;
}

.comuni-actions {
  grid-column: 6;
  align-items: center !important;
  align-self: center !important;
  display: flex !important;
  height: 30px !important;
  justify-content: flex-end !important;
  margin: 0 !important;
  min-width: 0;
  padding: 0 !important;
}

.comuni-action-button {
  align-items: center !important;
  display: inline-flex !important;
  height: 30px !important;
  justify-content: center !important;
  line-height: 1 !important;
  margin: 0 !important;
  min-height: 30px !important;
  padding: 0 !important;
  width: 78px !important;
}

.nazioni-grid {
  min-width: 980px;
}

.nazioni-grid th:first-child,
.nazioni-grid td:first-child {
  width: 86px;
}

.nazioni-grid th:nth-child(2),
.nazioni-grid td:nth-child(2) {
  width: 320px;
}

.nazioni-grid th:not(:nth-child(2)),
.nazioni-grid td:not(:nth-child(2)) {
  text-align: center;
}

.nazioni-fields-row {
  align-items: center;
  display: grid;
  gap: 18px;
  grid-template-columns: 252px 452px 180px 180px;
  padding-right: 112px;
  position: relative;
}

.nazioni-fields-row .field {
  align-items: center;
  min-height: 30px;
}

.nazioni-fields-row .field label,
.nazioni-fields-row .field input {
  height: 30px;
}

.nazioni-fields-row .field label {
  align-items: center;
  display: flex;
  min-width: 0;
  padding-bottom: 0;
  padding-top: 0;
}

.nazioni-code-field {
  column-gap: 6px;
  grid-template-columns: 66px 120px;
  width: 196px;
}

.nazioni-code-field input {
  text-align: center;
  width: 120px;
}

.nazioni-name-field {
  column-gap: 6px;
  grid-template-columns: 58px 360px;
  width: 424px;
}

.nazioni-name-field input {
  text-align: left;
  width: 360px;
}

.nazioni-fields-row .field-validation-valid,
.nazioni-fields-row .field-validation-error {
  display: none;
}

.nazioni-abbreviation-field {
  grid-template-columns: 68px 96px;
  width: 164px;
}

.nazioni-short-field {
  grid-template-columns: 58px 96px;
  width: 154px;
}

.nazioni-abbreviation-field input,
.nazioni-short-field input {
  width: 96px;
}

.nazioni-zone-field {
  column-gap: 6px;
  grid-column: 2;
  grid-row: 2;
  grid-template-columns: 48px 360px;
  width: 414px;
}

.nazioni-zone-field input {
  width: 360px;
}

.nazioni-tax-field {
  grid-column: 1;
  grid-row: 2;
  grid-template-columns: 94px 120px;
  width: 224px;
}

.nazioni-tax-field input {
  text-align: center;
  width: 120px;
}

.nazioni-iso-field {
  grid-column: 3;
  grid-row: 2;
}

.nazioni-sigla1-field,
.nazioni-iso-field {
  transform: translateX(44px);
}

.nazioni-regime-field {
  grid-column: 4;
  grid-row: 2;
}

.nazioni-sigla2-field,
.nazioni-regime-field {
  transform: translateX(88px);
}

.nazioni-actions {
  bottom: auto;
  flex-direction: column;
  gap: 8px;
  justify-content: center;
  min-width: 96px;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

.nazioni-actions .button {
  height: 32px;
  width: 92px;
}

.vat-rate-grid {
  min-width: 900px;
}

.vat-rate-grid th:first-child,
.vat-rate-grid td:first-child {
  width: 110px;
}

.vat-rate-grid th:nth-child(2),
.vat-rate-grid td:nth-child(2) {
  width: 420px;
}

.vat-rate-grid th:nth-child(n + 3),
.vat-rate-grid td:nth-child(n + 3) {
  text-align: center;
  width: 130px;
}

.vat-rate-fields-row {
  align-items: center;
  display: grid;
  gap: 12px;
  grid-template-columns: 210px 430px 170px 190px 180px;
  min-height: 30px;
  padding-right: 174px;
  position: relative;
}

.vat-rate-fields-row .field {
  align-items: center;
  min-height: 30px;
}

.vat-rate-fields-row .field label,
.vat-rate-fields-row .field input,
.vat-rate-fields-row .field select {
  height: 30px;
}

.vat-rate-fields-row .field label {
  align-items: center;
  display: flex;
  min-width: 0;
  padding-bottom: 0;
  padding-top: 0;
}

.vat-rate-fields-row .field-validation-valid,
.vat-rate-fields-row .field-validation-error {
  display: none;
}

.vat-rate-code-field {
  grid-template-columns: 66px 90px;
}

.vat-rate-code-field input {
  text-align: center;
  width: 90px;
}

.vat-rate-description-field {
  grid-template-columns: 86px 320px;
  transform: translateX(8px);
}

.vat-rate-description-field input {
  width: 320px;
}

.vat-rate-fields-row .vat-rate-percent-field {
  column-gap: 6px;
  grid-template-columns: 80px 70px;
  width: 170px;
}

.vat-rate-fields-row .vat-rate-percent-field label {
  width: 80px;
}

.vat-rate-fields-row .vat-rate-rate-field {
  column-gap: 6px;
  grid-template-columns: 80px 90px;
  transform: translateX(28px);
  width: 176px;
}

.vat-rate-fields-row .vat-rate-deduction-field {
  transform: translateX(40px);
}

.vat-rate-fields-row .vat-rate-percent-field input {
  text-align: right;
  width: 90px;
}

.vat-rate-nature-field {
  grid-template-columns: 90px 88px;
  transform: translateX(25px);
}

.vat-rate-nature-field select {
  text-align: center;
  width: 88px;
}

.vat-rate-actions {
  position: absolute;
  justify-content: flex-end;
  right: 0;
}

.ledger-master-grid {
  min-width: 760px;
}

.ledger-master-grid th:first-child,
.ledger-master-grid td:first-child {
  width: 120px;
}

.ledger-master-grid th:nth-child(2),
.ledger-master-grid td:nth-child(2) {
  width: 420px;
}

.ledger-master-grid th:nth-child(n + 3),
.ledger-master-grid td:nth-child(n + 3) {
  text-align: center;
  width: 120px;
}

.ledger-master-fields-row {
  align-items: center;
  display: grid;
  gap: 14px;
  grid-template-columns: 190px 430px 250px 180px;
  min-height: 30px;
  padding-right: 174px;
  position: relative;
}

.ledger-master-fields-row .field {
  align-items: center;
  min-height: 30px;
}

.ledger-master-fields-row .field label,
.ledger-master-fields-row .field input,
.ledger-master-fields-row .field select {
  height: 30px;
}

.ledger-master-fields-row .field label {
  align-items: center;
  display: flex;
  min-width: 0;
  padding-bottom: 0;
  padding-top: 0;
}

.ledger-master-fields-row .field-validation-valid,
.ledger-master-fields-row .field-validation-error {
  display: none;
}

.ledger-master-fields-row .ledger-master-code-field {
  grid-template-columns: 66px 90px;
}

.ledger-master-fields-row .ledger-master-code-field input {
  text-align: center;
  width: 90px;
}

.ledger-master-fields-row .ledger-master-description-field {
  column-gap: 6px;
  grid-template-columns: 86px 360px;
  width: 452px;
}

.ledger-master-fields-row .ledger-master-description-field label {
  width: 86px;
}

.ledger-master-fields-row .ledger-master-description-field input {
  width: 360px;
}

.ledger-master-fields-row .ledger-master-type-field {
  column-gap: 6px;
  grid-template-columns: 50px 180px;
  transform: translateX(40px);
}

.ledger-master-fields-row .ledger-master-type-field select {
  width: 180px;
}

.ledger-master-locked-field {
  align-items: center;
  display: flex;
  height: 30px;
  transform: translateX(40px);
}

.ledger-master-locked-field .check-button-field {
  grid-template-columns: 86px 68px;
  width: 160px;
}

.ledger-master-actions {
  justify-content: flex-end;
  position: absolute;
  right: 0;
}

.payment-code-grid {
  min-width: 1060px;
}

.payment-code-grid th:first-child,
.payment-code-grid td:first-child {
  width: 100px;
}

.payment-code-grid th:nth-child(2),
.payment-code-grid td:nth-child(2) {
  width: 460px;
}

.payment-code-grid th:nth-child(3),
.payment-code-grid td:nth-child(3) {
  text-align: center;
  width: 80px;
}

.payment-code-grid th:nth-child(4),
.payment-code-grid td:nth-child(4) {
  width: 180px;
}

.payment-code-grid th:nth-child(5),
.payment-code-grid td:nth-child(5) {
  text-align: center;
  width: 90px;
}

.payment-code-grid th:nth-child(6),
.payment-code-grid td:nth-child(6) {
  width: 120px;
}

.payment-code-fields {
  display: grid;
  gap: 10px 18px;
  grid-template-columns: 550px 430px;
  padding: 6px 0 2px;
}

.payment-code-fields .field {
  align-items: center;
  min-height: 30px;
}

.payment-code-fields .field label,
.payment-code-fields .field input,
.payment-code-fields .field select {
  font-weight: 650;
  height: 30px;
}

.payment-code-fields .field label {
  align-items: center;
  display: flex;
  min-width: 0;
  padding-bottom: 0;
  padding-top: 0;
}

.payment-code-fields .field-validation-valid,
.payment-code-fields .field-validation-error {
  display: none;
}

.payment-code-form-page .payment-code-code-field {
  grid-column: 1;
  grid-row: 1;
  grid-template-columns: 150px 90px;
}

.payment-code-form-page .payment-code-code-field input {
  text-align: center;
  width: 90px;
}

.payment-code-form-page .payment-code-description-field {
  grid-column: 1;
  grid-row: 2;
  grid-template-columns: 150px 370px;
}

.payment-code-form-page .payment-code-description-field input {
  width: 370px;
}

.payment-code-form-page .payment-code-abbreviation-field {
  grid-column: 2;
  grid-row: 2;
  grid-template-columns: 150px 270px;
}

.payment-code-form-page .payment-code-abbreviation-field input {
  text-align: center;
  width: 270px;
}

.payment-code-form-page .payment-code-title-type-field,
.payment-code-form-page .payment-code-conditions-field,
.payment-code-form-page .payment-code-mode-field {
  grid-template-columns: 150px 270px;
}

.payment-code-form-page .payment-code-type-field {
  grid-column: 1;
  grid-row: 3;
  grid-template-columns: 150px 370px;
}

.payment-code-form-page .payment-code-title-type-field {
  grid-column: 2;
  grid-row: 3;
}

.payment-code-form-page .payment-code-conditions-field {
  grid-column: 2;
  grid-row: 4;
}

.payment-code-form-page .payment-code-mode-field {
  grid-column: 2;
  grid-row: 5;
}

.payment-code-form-page .payment-code-type-field select {
  width: 370px;
}

.payment-code-form-page .payment-code-title-type-field select,
.payment-code-form-page .payment-code-conditions-field select,
.payment-code-form-page .payment-code-mode-field select {
  width: 270px;
}

.payment-code-form-page .payment-code-due-dates-field,
.payment-code-form-page .payment-code-first-interval-field,
.payment-code-form-page .payment-code-interval-field,
.payment-code-form-page .payment-code-offset-field,
.payment-code-form-page .payment-code-start-field,
.payment-code-form-page .payment-code-expenses-field {
  grid-template-columns: 150px 100px;
}

.payment-code-form-page .payment-code-due-dates-field {
  grid-column: 1;
  grid-row: 5;
}

.payment-code-form-page .payment-code-interval-field {
  grid-column: 1;
  grid-row: 6;
}

.payment-code-form-page .payment-code-start-field {
  grid-column: 1;
  grid-row: 4;
  grid-template-columns: 150px 370px;
}

.payment-code-form-page .payment-code-offset-field {
  grid-column: 1;
  grid-row: 8;
}

.payment-code-form-page .payment-code-expenses-field {
  grid-column: 1;
  grid-row: 9;
}

.payment-code-form-page .payment-code-first-interval-field {
  grid-column: 1;
  grid-row: 7;
}

.payment-code-due-dates-field input,
.payment-code-first-interval-field input,
.payment-code-interval-field input,
.payment-code-offset-field input,
.payment-code-expenses-field input {
  width: 100px;
}

.payment-code-due-dates-field input,
.payment-code-first-interval-field input,
.payment-code-interval-field input,
.payment-code-offset-field input {
  text-align: center;
}

.payment-code-expenses-field input {
  text-align: right;
}

.payment-code-start-field select {
  width: 370px;
}

.payment-code-skip-august-field,
.payment-code-skip-december-field {
  align-items: center;
  display: flex;
  height: 30px;
}

.payment-code-skip-august-field {
  grid-column: 2;
  grid-row: 6;
}

.payment-code-skip-december-field {
  grid-column: 2;
  grid-row: 7;
}

.payment-code-form-page.data-form-skin .payment-code-skip-august-field .check-button-field,
.payment-code-form-page.data-form-skin .payment-code-skip-december-field .check-button-field {
  gap: 0;
  grid-template-columns: 150px 68px;
  width: 224px;
}

.payment-code-form-page.data-form-skin .payment-code-skip-august-field .check-button-field .check-text,
.payment-code-form-page.data-form-skin .payment-code-skip-december-field .check-button-field .check-text {
  width: 150px;
}

.payment-code-form-page.data-form-skin .payment-code-skip-august-field .check-button-field .check-button-wrap,
.payment-code-form-page.data-form-skin .payment-code-skip-december-field .check-button-field .check-button-wrap {
  justify-self: start;
  margin-left: 6px;
  width: 68px;
}

.sales-entry-page {
  max-width: none;
}

.sales-entry-module .page-container {
  max-width: none;
  padding-left: 12px;
  padding-right: 12px;
  width: 100%;
}

.sales-entry-module .module-page {
  padding-top: 8px;
}

.sales-entry-page .module-header {
  margin-bottom: 10px;
}

.sales-entry-frame {
  background: #f7f9fc;
  padding: 18px 18px 14px;
}

.sales-entry-toolbar {
  align-items: center;
  display: grid;
  gap: 28px;
  grid-template-columns: 270px 240px 330px 360px;
  margin-bottom: 18px;
}

.sales-entry-toolbar .field {
  align-items: center;
  display: grid;
  grid-template-columns: 120px 1fr;
  min-height: 30px;
}

.sales-entry-toolbar .sales-entry-last-field {
  grid-template-columns: 150px 1fr;
}

.sales-entry-toolbar .sales-entry-exercise-field {
  grid-template-columns: 150px 1fr;
}

.sales-entry-toolbar input {
  text-align: center;
}

.sales-entry-page label,
.sales-entry-grid th,
.sales-entry-total-label,
.sales-entry-summary label {
  color: #000000;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  font-weight: 500;
}

.sales-entry-page input,
.sales-entry-page select,
.sales-entry-page textarea,
.sales-entry-grid input {
  color: #000000;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  font-weight: 520;
}

.supplier-form-page.data-form-skin.sales-entry-page input,
.supplier-form-page.data-form-skin.sales-entry-page select,
.supplier-form-page.data-form-skin.sales-entry-page textarea,
.supplier-form-page.data-form-skin.sales-entry-page .sales-entry-grid input {
  color: #000000;
  font-size: 13px;
  font-weight: 520;
}

.sales-entry-page input[readonly],
.sales-entry-page textarea[readonly],
.sales-entry-page input:disabled,
.sales-entry-page textarea:disabled,
.sales-entry-grid input[readonly],
.sales-entry-grid input:disabled {
  color: #000000;
  opacity: 1;
  -webkit-text-fill-color: #000000;
}

.supplier-form-page.data-form-skin.sales-entry-page input[readonly],
.supplier-form-page.data-form-skin.sales-entry-page textarea[readonly],
.supplier-form-page.data-form-skin.sales-entry-page input:disabled,
.supplier-form-page.data-form-skin.sales-entry-page textarea:disabled,
.supplier-form-page.data-form-skin.sales-entry-page .sales-entry-grid input[readonly],
.supplier-form-page.data-form-skin.sales-entry-page .sales-entry-grid input:disabled {
  color: #000000;
  opacity: 1;
  -webkit-text-fill-color: #000000;
}

.sales-entry-grid-wrap {
  border: 1px solid #8799ad;
  overflow-x: auto;
}

.sales-entry-grid {
  border-collapse: separate;
  border-spacing: 0;
  min-width: 1500px;
  table-layout: fixed;
  width: 100%;
}

.sales-entry-grid tbody {
  display: table-row-group;
}

.sales-entry-grid tbody.is-scrollable {
  display: block;
  max-height: calc(var(--sales-visible-rows, 10) * 24px);
  overflow-y: auto;
}

.sales-entry-grid tbody.is-scrollable tr {
  display: table;
  table-layout: fixed;
  width: 100%;
}

.sales-entry-grid col.sales-col-code {
  width: 70px;
}

.sales-entry-grid col.sales-col-name {
  width: 180px;
}

.sales-entry-grid col.sales-col-money {
  width: 96px;
}

.sales-entry-grid th,
.sales-entry-grid td {
  border: 1px solid #c8ced8;
  height: 24px;
  padding: 0;
}

.sales-entry-grid tr > :last-child {
  border-right: 0;
}

.sales-entry-grid tbody tr:last-child td,
.sales-entry-grid tfoot tr:last-child th,
.sales-entry-grid tfoot tr:last-child td {
  border-bottom: 0;
}

.sales-entry-grid thead tr:not(.sales-entry-group-row) th:nth-child(2),
.sales-entry-grid thead tr:not(.sales-entry-group-row) th:nth-child(7),
.sales-entry-grid tbody td:nth-child(2),
.sales-entry-grid tbody td:nth-child(7),
.sales-entry-grid tfoot th:first-child,
.sales-entry-grid tfoot td:nth-child(6) {
  border-right: 1px solid #ffffff;
}

.sales-entry-grid th {
  background: #b8cbe0;
  color: #000000;
  text-align: center;
}

.sales-entry-grid .sales-entry-group-row th {
  background: linear-gradient(#c7d7e8, #b8cbe0 52%, #a9bed6);
  border: 1px solid #c8ced8;
  border-bottom: 1px solid #9fb0c4;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.72),
    inset 0 -1px 0 rgba(72, 91, 112, 0.26);
  height: 30px;
}

.sales-entry-grid .sales-entry-group-row th:nth-child(1),
.sales-entry-grid .sales-entry-group-row th:nth-child(2) {
  border-right: 1px solid #ffffff;
}

.sales-entry-grid thead th {
  border-color: #c8ced8;
}

.sales-entry-grid thead tr + tr th {
  border-top: 0;
}

.sales-entry-grid thead th + th {
  border-left: 0;
}

.sales-entry-grid td {
  background: #ffffff;
}

.sales-entry-grid tbody td:nth-child(1),
.sales-entry-grid tbody td:nth-child(2) {
  background: #b8cbe0;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: #000000;
}

.sales-entry-grid tbody td:nth-child(1) {
  text-align: center;
  width: 70px;
}

.sales-entry-grid tbody td:nth-child(2) {
  padding-left: 6px;
  width: 180px;
}

.sales-entry-grid .sales-entry-disabled-row td,
.sales-entry-grid .sales-entry-disabled-row td:nth-child(1),
.sales-entry-grid .sales-entry-disabled-row td:nth-child(2) {
  background: #edf2f7;
  color: #8493a5;
}

.sales-entry-grid .sales-entry-disabled-row input {
  background: #edf2f7 !important;
  color: #8493a5 !important;
  cursor: default;
  pointer-events: none;
  -webkit-text-fill-color: #8493a5 !important;
}

.sales-entry-grid thead tr:not(.sales-entry-group-row) th:nth-child(1),
.sales-entry-grid tbody td:nth-child(1),
.sales-entry-grid tfoot th:nth-child(1) {
  width: 70px;
}

.sales-entry-grid thead tr:not(.sales-entry-group-row) th:nth-child(2),
.sales-entry-grid tbody td:nth-child(2),
.sales-entry-grid tfoot th:nth-child(2) {
  width: 180px;
}

.sales-entry-grid thead tr:not(.sales-entry-group-row) th:nth-child(n+3),
.sales-entry-grid tbody td:nth-child(n+3),
.sales-entry-grid tfoot td {
  width: 96px;
}

.sales-entry-grid input {
  background: #ffffff;
  border: 0;
  display: block;
  height: 24px;
  padding: 2px 5px;
  text-align: right;
  width: 100%;
}

.supplier-form-page.data-form-skin.sales-entry-page .sales-entry-grid input {
  background: #ffffff;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box;
  display: block;
  height: 24px !important;
  line-height: 24px;
  min-height: 0 !important;
  outline: none;
  padding: 0 6px !important;
  text-align: right;
  width: 100%;
}

.sales-entry-grid input:not([readonly]):focus {
  background: #fff8bd;
  outline: 2px solid rgba(75, 100, 165, 0.28);
  outline-offset: -2px;
}

.sales-entry-grid input[readonly]:focus {
  background: rgb(230, 230, 240);
  outline: none;
}

.sales-entry-grid .sales-calculated,
.sales-entry-grid .sales-total-field {
  background: rgb(230, 230, 240);
}

.supplier-form-page.data-form-skin.sales-entry-page .sales-entry-grid input[readonly],
.supplier-form-page.data-form-skin.sales-entry-page .sales-entry-grid input:disabled,
.supplier-form-page.data-form-skin.sales-entry-page .sales-entry-grid input.sales-calculated,
.supplier-form-page.data-form-skin.sales-entry-page .sales-entry-grid input.sales-total-field {
  background: rgb(230, 230, 240);
  color: #000000;
  opacity: 1;
  -webkit-text-fill-color: #000000;
}

.sales-entry-grid tfoot th,
.sales-entry-grid tfoot td {
  background: #d9e3ef;
  border-top: 1px solid #ffffff;
  height: 26px;
}

.sales-entry-grid .sales-entry-total-label {
  background: #b8cbe0 !important;
}

.sales-entry-summary {
  display: grid;
  gap: 14px 20px;
  grid-template-columns: repeat(6, minmax(160px, 1fr));
  margin-top: 18px;
}

.sales-entry-summary .field {
  align-items: center;
  display: grid;
  grid-template-columns: 112px 1fr;
  min-height: 30px;
}

.sales-entry-summary label {
  white-space: nowrap;
}

.sales-entry-summary input {
  text-align: right;
}

.sales-history-module .page-container {
  max-width: none;
  overflow: hidden;
  padding-left: 12px;
  padding-right: 12px;
}

body.sales-history-module {
  overflow: hidden;
}

body.sales-history-module .app-footer {
  display: none;
}

.stock-purchase-stats-module .page-container {
  max-width: none;
  overflow: hidden;
  padding-left: 12px;
  padding-right: 12px;
}

body.stock-purchase-stats-module {
  overflow: hidden;
}

body.stock-purchase-stats-module .app-footer {
  display: none;
}

.sales-history-page {
  height: calc(100vh - 24px);
  max-width: none;
  overflow: hidden;
  padding-top: 4px;
}

.sales-history-page .module-header {
  align-items: center;
  gap: 12px;
  margin-bottom: 6px;
  padding-bottom: 8px;
  padding-top: 8px;
}

.sales-history-actions {
  margin-left: auto;
  margin-right: 0;
}

.sales-history-actions .button,
.sales-history-actions button {
  min-width: 86px;
  white-space: nowrap;
}

.supplier-form-page.data-form-skin .top-actions .sales-history-article-button,
.supplier-form-page.data-form-skin .top-actions button.sales-history-article-button {
  min-width: 166px;
  width: 166px;
}

.sales-history-actions .sales-history-records {
  margin-left: 0;
  margin-right: 2px;
}

.stock-purchase-stats-page {
  gap: 8px;
  height: calc(100vh - 24px);
  max-width: none;
  overflow: hidden;
  padding-top: 4px;
}

.stock-purchase-stats-filters {
  margin-bottom: 0;
}

.purchase-stats-filter-row {
  align-items: center;
  display: grid;
  column-gap: 0;
  grid-template-columns: 244px 20px 244px 40px minmax(160px, 1fr) 20px 300px 20px 210px;
}

.purchase-stats-filter-row .field {
  align-items: center;
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
}

.purchase-stats-filter-row .field:nth-child(2) {
  grid-column: 3;
}

.purchase-stats-search-field {
  grid-column: 5;
  grid-template-columns: 106px minmax(0, 1fr) !important;
}

.purchase-stats-store-field {
  grid-column: 7;
  grid-template-columns: 124px minmax(0, 1fr) !important;
}

.purchase-stats-price-field {
  grid-column: 9;
  grid-template-columns: 116px 94px !important;
}

.purchase-stats-price-field input {
  text-align: right;
}

.purchase-stats-refresh {
  height: 40px;
}

.purchase-stats-main-panel,
.purchase-stats-detail-panel {
  border: 1px solid #8799ad;
  border-radius: 4px;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.purchase-stats-main-panel {
  flex: 1 1 0;
  min-height: 0;
}

.purchase-stats-main-panel h2,
.purchase-stats-detail-panel h2 {
  background: #b8cbe0;
  color: #061d45;
  font-size: 13px;
  font-weight: 520;
  line-height: 22px;
  margin: 0;
  padding: 0 8px;
}

.purchase-stats-grid-frame {
  border: 0;
  border-radius: 0;
}

.purchase-stats-grid {
  min-width: 1500px;
}

.purchase-stats-grid th,
.purchase-stats-detail-grid th {
  height: 24px;
}

.purchase-stats-grid th:nth-child(n+4):nth-child(-n+10),
.purchase-stats-grid td:nth-child(n+4):nth-child(-n+10) {
  width: 98px;
}

.purchase-stats-grid th:nth-child(n+4) {
  text-align: right;
}

.purchase-stats-grid th:nth-child(2),
.purchase-stats-grid td:nth-child(2) {
  width: 280px;
}

.purchase-stats-grid td:nth-child(1),
.purchase-stats-grid td:nth-child(2) {
  background: #ffffb3;
}

.purchase-stats-grid td:nth-child(3),
.purchase-stats-grid td:nth-child(10),
.purchase-stats-grid td:nth-child(11),
.purchase-stats-grid td:nth-child(12),
.purchase-stats-detail-grid td:nth-child(1) {
  text-align: center;
}

.purchase-stats-grid td:nth-child(n+4):nth-child(-n+10),
.purchase-stats-detail-grid th:nth-child(n+3),
.purchase-stats-detail-grid td:nth-child(n+3) {
  text-align: right;
}

.purchase-stats-detail-panel {
  flex: 0 0 124px;
}

.purchase-stats-detail-layout {
  display: grid;
  flex: 1 1 auto;
  grid-template-columns: minmax(0, 1fr);
  min-height: 0;
  padding: 0;
}

.purchase-stats-detail-frame {
  border: 0;
  border-radius: 0;
}

.purchase-stats-detail-grid {
  max-width: 940px;
  min-width: 940px;
  table-layout: fixed;
  width: 940px;
}

.purchase-price-low {
  background: #bfe8bf !important;
}

.purchase-price-high {
  background: #f5b6b6 !important;
}

.sales-history-filters {
  margin-bottom: 6px;
}

.sales-history-filters .form-frame {
  background: #f7f9fc;
  margin-top: 0;
  padding: 8px 14px 10px;
}

.sales-history-filter-row {
  align-items: center;
  display: grid;
  gap: 20px;
  grid-template-columns: 196px 256px;
}

.sales-history-filter-row .field {
  align-items: center;
  display: grid;
  grid-template-columns: 90px 1fr;
}

.sales-history-filter-row input,
.sales-history-filter-row select {
  height: 24px;
}

.sales-history-filter-row select[name="year"] {
  text-align: center;
  text-align-last: center;
}

.sales-history-layout {
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(0, 1fr) 145px;
  height: calc(100vh - 176px);
  min-height: 0;
}

.sales-history-main {
  display: grid;
  gap: 6px;
  grid-template-rows: minmax(0, 1fr) 139px;
  min-width: 0;
  min-height: 0;
}

.sales-history-panel {
  border: 1px solid #8a8f98;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}

.sales-history-panel h2,
.sales-history-totals h2 {
  background: #a9c0d8;
  color: #0f2236;
  font-size: 13px;
  font-weight: 500;
  height: 23px;
  line-height: 23px;
  margin: 0;
  padding: 0 8px;
}

.sales-history-grid-frame {
  background: #ffffff;
  height: calc(100% - 23px);
  min-height: 0;
  overflow: auto;
  scrollbar-gutter: stable;
}

.sales-history-detail-frame {
  background: #ffffff;
  height: calc(100% - 23px);
  min-height: 0;
  overflow: auto;
  scrollbar-gutter: stable;
}

.sales-history-grid {
  min-width: 1120px;
  table-layout: fixed;
  user-select: none;
}

.sales-history-grid th,
.sales-history-grid td {
  font-size: 13px;
  height: 27px;
  padding: 4px 6px;
}

.sales-history-grid th {
  text-align: center;
}

.sales-history-grid td {
  background: #ffffff;
  box-sizing: border-box;
  font-weight: 520;
  line-height: 18px;
  text-align: right;
  white-space: nowrap;
}

.sales-history-grid td:nth-child(1),
.sales-history-grid td:nth-child(2),
.sales-history-grid td:nth-child(3) {
  text-align: center;
}

.sales-history-grid td:nth-child(4),
.sales-history-grid td:nth-child(5),
.sales-history-grid td:nth-child(6) {
  background: rgb(255, 255, 220);
}

.sales-history-grid td:nth-child(n+7) {
  background: rgb(200, 255, 220);
}

.sales-history-detail-grid td:nth-child(3),
.sales-history-detail-grid td:nth-child(4),
.sales-history-detail-grid td:nth-child(5) {
  background: rgb(255, 255, 220);
}

.sales-history-detail-grid td:nth-child(n+6) {
  background: rgb(200, 255, 220);
}

.sales-history-grid tbody tr.selected td,
.sales-history-grid tbody tr.selected-row td {
  background: #b8d2ee;
  color: #102b49;
}

.sales-history-grid tbody tr.selected td:first-child,
.sales-history-grid tbody tr.selected-row td:first-child {
  box-shadow: inset 4px 0 0 #2f6faa;
}

.sales-history-grid tbody tr:focus-visible td {
  outline: none;
}

.sales-history-grid tbody tr {
  cursor: pointer;
  height: 27px;
  outline: none;
}

.sales-history-grid th:nth-child(1),
.sales-history-grid td:nth-child(1) {
  width: 78px;
}

.sales-history-grid th:nth-child(2),
.sales-history-grid td:nth-child(2) {
  width: 88px;
}

.sales-history-grid th:nth-child(3),
.sales-history-grid td:nth-child(3) {
  width: 124px;
}

.sales-history-detail-grid th:nth-child(1),
.sales-history-detail-grid td:nth-child(1) {
  width: 80px;
}

.sales-history-detail-grid th:nth-child(2),
.sales-history-detail-grid td:nth-child(2) {
  text-align: left;
  width: 190px;
}

.sales-history-totals {
  border: 1px solid #8a8f98;
  display: grid;
  gap: 5px;
  padding-bottom: 8px;
  overflow: hidden;
  user-select: none;
}

.sales-history-totals div {
  display: grid;
  gap: 0;
  grid-template-rows: 22px 22px;
  padding: 0 6px;
}

.sales-history-totals span,
.sales-history-totals strong {
  align-items: center;
  border: 1px solid #8a8f98;
  display: inline-flex;
  justify-content: center;
}

.sales-history-totals span {
  background: #b8cbe0;
  font-weight: 400;
}

.sales-history-totals strong {
  background: #e2e2ea;
  font-weight: 600;
}

.sales-history-empty {
  background: #ffffff;
  padding: 18px;
  text-align: center;
}

.sales-history-page input[readonly],
.sales-history-page textarea[readonly] {
  user-select: none;
}

.exercise-change-page {
  max-width: 940px;
}

.exercise-change-page .module-header {
  grid-template-columns: 1fr auto;
}

.exercise-change-page .top-actions {
  justify-content: flex-end;
}

.exercise-change-page .form-frame {
  min-height: 118px;
  padding: 26px 20px;
}

.exercise-change-content {
  align-items: center;
  display: flex;
  gap: 28px;
  justify-content: space-between;
}

.exercise-change-actions {
  align-items: stretch;
  flex: 0 0 120px;
  flex-direction: column;
  gap: 10px;
}

.exercise-change-actions .button,
.exercise-change-actions button {
  height: 36px;
  justify-content: center;
  width: 120px;
}

.exercise-change-form {
  max-width: none;
  width: 100%;
}

.exercise-change-fields {
  align-items: start;
  display: grid;
  gap: 34px;
  grid-template-columns: 330px 330px;
}

.exercise-change-fields .field {
  align-items: center;
  column-gap: 6px;
  display: grid;
  grid-template-columns: 164px 150px;
}

.exercise-change-fields label,
.exercise-change-fields input {
  font-size: 18px;
  font-weight: 700;
}

.exercise-change-fields input {
  font-size: 22px;
  font-weight: 700;
  height: 42px;
  text-align: center;
}

.supplier-form-page.data-form-skin .exercise-change-fields input {
  font-size: 22px;
  font-weight: 700;
  height: 42px;
  width: 150px;
}

.settings-module .app-footer {
  user-select: none;
}

.settings-page.module-page {
  max-width: 1240px;
}

.settings-page .module-header {
  margin-bottom: 8px;
}

.settings-shell {
  background: #ffffff;
  border: 1px solid #aab3bf;
  border-radius: 7px;
  display: grid;
  grid-template-columns: 186px minmax(0, 1fr);
  min-height: 560px;
  overflow: hidden;
}

.settings-tabs {
  background: #e8eef7;
  border-right: 1px solid #aab3bf;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 12px 10px;
}

.settings-tab-button {
  align-items: center;
  background: #ffffff;
  border: 1px solid #aab3bf;
  border-radius: 5px;
  color: #22384e;
  cursor: pointer;
  display: flex;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  font-weight: 600;
  height: 34px;
  justify-content: flex-start;
  padding: 0 12px;
  text-align: left;
}

.settings-tab-button.active {
  background: var(--BlueNote);
  border-color: var(--BlueNote);
  color: #ffffff;
}

.settings-content {
  padding: 14px;
}

.settings-tab-panel {
  display: none;
}

.settings-tab-panel.active {
  display: block;
}

.settings-frame {
  margin: 0 0 7px;
  padding: 8px 10px 9px;
}

.settings-frame:last-child {
  margin-bottom: 0;
}

.settings-grid {
  display: grid;
  gap: 6px 12px;
}

.settings-company-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.settings-address-grid {
  grid-template-columns: minmax(360px, 1fr) 300px 300px;
}
.settings-owner-address-grid {
  grid-template-columns: calc((100% - 12px) / 2) 300px minmax(0, 1fr);
}

.settings-owner-address-grid .settings-owner-phone-field,
.settings-owner-address-grid .settings-owner-email-field {
  grid-column: 2 / 4;
}

.settings-owner-address-grid .settings-owner-pec-field {
  grid-column: 1;
  grid-row: 3;
}

.settings-fe-grid {
  grid-template-columns: minmax(0, 1fr);
}

.settings-accounting-grid {
  grid-template-columns: minmax(0, 1fr);
}

.settings-accounting-grid .field {
  grid-template-columns: 170px 140px;
}

.settings-accounting-grid input {
  max-width: 140px;
  min-width: 140px;
  width: 140px;
}
.settings-accounting-grid input[data-percent-field] {
  text-align: center;
}

.settings-billing-grid,
.settings-mail-grid,
.settings-backup-grid,
.settings-print-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.settings-grid .field {
  align-items: center;
  column-gap: 6px;
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
}

.settings-grid .field-check {
  align-items: center;
  display: grid;
}

.settings-grid .field-wide {
  grid-column: span 2;
}

.settings-address-grid .field-wide {
  grid-column: 1 / -1;
}

.settings-address-grid .field-short {
  grid-template-columns: 120px minmax(0, 1fr);
}

.settings-address-grid .settings-address-pec-field {
  grid-template-columns: 86px minmax(0, 1fr);
}

.settings-address-grid .settings-address-country-field {
  grid-template-columns: 86px 70px;
}

.settings-grid .field-full {
  grid-column: 1 / -1;
}
.settings-billing-left-field {
  grid-column: 1;
}

.settings-grid .field-short {
  grid-template-columns: 86px 70px;
}

.settings-grid .settings-mail-port-field {
  grid-template-columns: 150px 70px;
}
.settings-grid .settings-mail-smtp-row {
  align-items: center;
  column-gap: 12px;
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: calc((100% - 12px) / 2) 226px 1fr 226px;
}

.settings-grid .settings-mail-smtp-row .settings-mail-server-field {
  grid-column: 1;
}

.settings-grid .settings-mail-smtp-row .settings-mail-port-field {
  grid-column: 2;
}

.settings-grid .settings-mail-smtp-row .settings-mail-check-field {
  grid-column: 4;
}
.settings-grid .settings-mail-check-field {
  grid-template-columns: 150px 70px;
}

.settings-grid .settings-mail-check-field > span:last-child {
  display: none;
}

.settings-password-control {
  position: relative;
  width: 100%;
}

.settings-password-control input {
  padding-right: 44px;
  width: 100%;
}

.settings-password-toggle {
  align-items: center;
  background: transparent;
  border: 0;
  color: #526173;
  cursor: pointer;
  display: flex;
  height: 28px;
  justify-content: center;
  min-height: 28px;
  padding: 0;
  position: absolute;
  right: 1px;
  top: 1px;
  width: 40px;
}

.settings-password-toggle:hover,
.settings-password-toggle.active {
  background: #eef4ff;
  color: var(--BlueNote);
}

.settings-password-toggle svg {
  fill: none;
  height: 20px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
  width: 20px;
}
.settings-grid .settings-mail-test-field {
  grid-template-columns: 150px 170px;
}

.settings-grid .settings-mail-test-field > span {
  display: block;
}

.settings-mail-test-button {
  min-height: 40px;
  padding-left: 14px;
  padding-right: 14px;
  white-space: nowrap;
}

.settings-grid label,
.settings-grid input,
.settings-grid select,
.settings-grid textarea,
.settings-weekdays label {
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  font-weight: 520;
}

.settings-grid label {
  align-items: center;
  background: #b8cbe0;
  border: 1px solid #8a8f98;
  border-radius: 5px;
  color: #22384e;
  display: inline-flex;
  height: 30px;
  padding: 0 9px;
  user-select: none;
}

.settings-grid input,
.settings-grid select,
.settings-grid textarea {
  background: #ffffff;
  border: 1px solid #9aa5b5;
  border-radius: 5px;
  color: #111827;
  padding: 0 10px;
}

.settings-grid input,
.settings-grid select {
  height: 30px;
}

.settings-grid textarea {
  min-height: 58px;
  padding: 7px 10px;
  resize: vertical;
}

.settings-grid input:focus,
.settings-grid select:focus,
.settings-grid textarea:focus {
  border-color: var(--BlueNote);
  box-shadow: 0 0 0 2px rgba(75, 100, 165, 0.18);
  outline: none;
}

.settings-grid .field-validation-error,
.settings-grid .field-validation-valid,
.settings-page .validation-summary {
  display: none;
}

.settings-grid .input-validation-error {
  border-color: #b32d2e;
  box-shadow: 0 0 0 2px rgba(179, 45, 46, 0.14);
}

.settings-textarea-field {
  align-items: start !important;
}

.settings-textarea-field label {
  align-self: start;
}
.settings-billing-wide-label-field {
  grid-template-columns: 210px minmax(0, 1fr) !important;
}

.settings-note {
  align-items: center;
  background: #fff8a6;
  border: 1px solid #c9b94d;
  border-radius: 5px;
  color: #1f2937;
  display: flex;
  flex-wrap: wrap;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  font-weight: 520;
  gap: 8px 16px;
  min-height: 34px;
  padding: 6px 10px;
}

.settings-grid .check-button-field {
  align-items: stretch;
  background: transparent;
  border: 0;
  display: grid;
  gap: 6px;
  grid-template-columns: 150px 68px;
  height: 30px;
  min-height: 30px;
  padding: 0;
  width: 224px;
}

.settings-grid .check-button-field .check-text {
  align-items: center;
  background: #b8cbe0;
  border: 1px solid #8a8f98;
  border-radius: 5px;
  box-sizing: border-box;
  color: #22384e;
  display: flex;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  font-weight: 520;
  height: 30px;
  min-height: 30px;
  padding: 0 9px;
  user-select: none;
  width: 150px;
}

.settings-grid .check-button-field input[type="checkbox"] {
  border: 0;
  height: 1px;
  min-height: 0;
  opacity: 0;
  padding: 0;
  position: absolute;
  width: 1px;
}

.settings-grid .check-button-field .check-button-wrap {
  align-items: center;
  background: #ffffff;
  border: 1px solid #8a8f98;
  border-radius: 5px;
  box-sizing: border-box;
  display: flex;
  height: 30px;
  justify-content: center;
  overflow: hidden;
  position: relative;
}

.settings-grid .check-button-field .check-button-wrap::before {
  background: rgb(210, 210, 210);
  border: 1px solid #c2ccda;
  border-radius: 999px;
  content: "";
  display: block;
  height: 22px;
  transition: background 0.15s ease, border-color 0.15s ease;
  width: 42px;
}

.settings-grid .check-button-field .check-button-wrap::after {
  background: #ffffff;
  border-radius: 50%;
  box-shadow: 0 1px 3px rgba(23, 32, 51, 0.28);
  content: "";
  height: 16px;
  left: 16px;
  position: absolute;
  top: 7px;
  transition: transform 0.15s ease;
  width: 16px;
}

.settings-grid .check-button-field input:checked ~ .check-button-wrap::before {
  background: var(--BlueNote);
  border-color: var(--BlueNote);
}

.settings-grid .check-button-field input:checked ~ .check-button-wrap::after {
  transform: translateX(20px);
}

.settings-grid .check-button-field input:focus-visible ~ .check-button-wrap {
  box-shadow: 0 0 0 3px rgba(75, 100, 165, 0.18);
}

.settings-check-full {
  grid-column: 1 / -1;
}

.settings-backup-grid > .field,
.settings-backup-grid > .field-check {
  grid-column: 1;
}

.settings-backup-grid > .field {
  grid-template-columns: 170px minmax(0, 1fr);
}

.settings-backup-grid .settings-backup-check-field {
  grid-template-columns: 170px 70px;
}

.settings-backup-grid .settings-backup-check-field > span:last-child {
  display: none;
}

.settings-backup-grid > .settings-weekdays {
  grid-column: 1 / -1;
  grid-template-columns: 170px repeat(7, minmax(0, 1fr));
}
.settings-check-wide {
  min-height: 30px;
}

.settings-weekdays {
  align-items: center;
  display: grid;
  gap: 6px;
  grid-template-columns: 150px repeat(7, minmax(0, 1fr));
}

.settings-weekdays .settings-weekdays-label,
.settings-weekdays label {
  align-items: center;
  background: #b8cbe0;
  border: 1px solid #8a8f98;
  border-radius: 5px;
  box-sizing: border-box;
  color: #22384e;
  display: inline-flex;
  height: 30px;
  padding: 0 9px;
  user-select: none;
}

.settings-weekdays label {
  background: #ffffff;
  gap: 6px;
}

.settings-weekdays input[type="checkbox"] {
  height: 15px;
  min-height: 15px;
  padding: 0;
  width: 15px;
}

.chart-account-toolbar {
  grid-template-columns: minmax(280px, 360px) minmax(300px, 420px) 230px auto;
}

.chart-account-master-filter select {
  min-width: 300px;
}

.chart-account-type-filter select {
  min-width: 190px;
}

.chart-account-grid-frame {
  max-height: calc(100vh - 210px);
}

.chart-account-grid th:nth-child(1),
.chart-account-grid td:nth-child(1),
.chart-account-grid th:nth-child(3),
.chart-account-grid td:nth-child(3),
.chart-account-grid th:nth-child(5),
.chart-account-grid td:nth-child(5),
.chart-account-grid th:nth-child(6),
.chart-account-grid td:nth-child(6),
.chart-account-grid th:nth-child(7),
.chart-account-grid td:nth-child(7),
.chart-account-grid th:nth-child(8),
.chart-account-grid td:nth-child(8) {
  text-align: center;
}

.chart-account-form-page .compact-frame {
  box-sizing: border-box;
  max-width: none;
  width: 100%;
}

.chart-account-fields {
  --label-width: 160px;
  align-items: center;
  display: grid;
  gap: 14px;
  grid-template-columns: 1fr;
  max-width: 700px;
  padding: 14px 12px 18px;
}

.chart-account-fields .field,
.chart-account-fields .field-check {
  align-items: center;
  min-height: 30px;
}

.chart-account-fields .field label,
.chart-account-fields .field input,
.chart-account-fields .field select {
  height: 30px;
}

.chart-account-fields .field label {
  align-items: center;
  display: flex;
  min-width: 0;
  padding-bottom: 0;
  padding-top: 0;
}

.chart-account-fields .field-validation-valid,
.chart-account-fields .field-validation-error {
  display: none;
}

.chart-account-code-field {
  grid-template-columns: var(--label-width) 90px;
}

.chart-account-code-field input {
  text-align: center;
  width: 90px;
}

.chart-account-description-field {
  grid-template-columns: var(--label-width) 500px;
}

.chart-account-description-field input {
  width: 500px;
}

.chart-account-master-field {
  grid-template-columns: var(--label-width) 500px;
}

.chart-account-master-field select {
  width: 500px;
}

.chart-account-type-field {
  grid-template-columns: var(--label-width) 220px;
}

.chart-account-type-field input {
  width: 220px;
}

.chart-account-company-field {
  grid-template-columns: var(--label-width) 220px;
}

.chart-account-company-field select {
  width: 220px;
}

.chart-account-stock-field,
.chart-account-locked-field {
  display: flex;
}

.chart-account-stock-field .check-button-field {
  grid-template-columns: var(--label-width) 68px;
  width: 228px;
}

.chart-account-locked-field .check-button-field {
  grid-template-columns: var(--label-width) 68px;
  width: 228px;
}

.chart-account-fields .field label,
.chart-account-form-page .chart-account-stock-field .check-text,
.chart-account-form-page .chart-account-locked-field .check-text {
  white-space: nowrap;
  width: var(--label-width);
}

.accounting-cause-toolbar {
  grid-template-columns: minmax(280px, 380px) 260px auto;
}

.accounting-cause-list-page .module-header {
  margin-bottom: 10px;
}

.accounting-cause-type-filter select {
  min-width: 230px;
}

.accounting-cause-grid-frame {
  max-height: calc(100vh - 210px);
}

.accounting-cause-grid {
  min-width: 1540px;
  user-select: none;
}

.accounting-cause-grid th:nth-child(1),
.accounting-cause-grid td:nth-child(1),
.accounting-cause-grid th:nth-child(3),
.accounting-cause-grid td:nth-child(3),
.accounting-cause-grid th:nth-child(4),
.accounting-cause-grid td:nth-child(4),
.accounting-cause-grid th:nth-child(5),
.accounting-cause-grid td:nth-child(5),
.accounting-cause-grid th:nth-child(6),
.accounting-cause-grid td:nth-child(6),
.accounting-cause-grid th:nth-child(7),
.accounting-cause-grid td:nth-child(7),
.accounting-cause-grid th:nth-child(9),
.accounting-cause-grid td:nth-child(9),
.accounting-cause-grid th:nth-child(n+11),
.accounting-cause-grid td:nth-child(n+11) {
  text-align: center;
}

.accounting-cause-form-page .compact-frame {
  box-sizing: border-box;
  max-width: none;
  width: 100%;
}

.accounting-cause-form-page.data-form-skin .form-frame {
  background: transparent;
  border: 0;
  padding: 0;
}

.accounting-cause-form-page.data-form-skin .form-frame legend {
  display: none;
}

.accounting-cause-edit-module .page-container {
  max-width: none;
  padding-left: 18px;
  padding-right: 18px;
  width: 100%;
}

.accounting-cause-edit-module .module-page {
  padding-top: 8px;
}

.accounting-cause-fields {
  --label-width: 136px;
  align-items: center;
  display: grid;
  gap: 10px 24px;
  grid-template-columns: 260px 640px 1fr;
  padding: 9px 12px;
}

.accounting-cause-fields .field,
.accounting-cause-fields .field-check {
  align-items: center;
  min-height: 30px;
}

.accounting-cause-fields .field label,
.accounting-cause-fields .field input,
.accounting-cause-fields .field select {
  height: 30px;
}

.accounting-cause-form-page .accounting-cause-fields .field input,
.accounting-cause-form-page .accounting-cause-fields .field select {
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  font-weight: 500;
}

.accounting-cause-form-page.data-form-skin .form-frame label,
.accounting-cause-form-page.data-form-skin .form-frame .check-text,
.accounting-cause-form-page.data-form-skin .form-frame input,
.accounting-cause-form-page.data-form-skin .form-frame select,
.accounting-cause-form-page.data-form-skin .accounting-cause-account-column h2,
.accounting-cause-form-page.data-form-skin .accounting-cause-account-subhead span,
.accounting-cause-form-page.data-form-skin .accounting-cause-row-button {
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 12px;
  font-weight: 600;
}

.accounting-cause-fields .field label {
  align-items: center;
  display: flex;
  min-width: 0;
  white-space: nowrap;
  width: var(--label-width);
}

.accounting-cause-fields .field-validation-valid,
.accounting-cause-fields .field-validation-error {
  display: none;
}

.accounting-cause-code-field {
  grid-template-columns: var(--label-width) 90px;
}

.accounting-cause-code-field input {
  text-align: center;
  width: 90px;
}

.accounting-cause-description-field {
  grid-column: 2 / 4;
  grid-row: 1;
  grid-template-columns: var(--label-width) 610px;
  margin-left: 140px;
}

.accounting-cause-description-field input {
  width: 610px;
}

.accounting-cause-movement-field,
.accounting-cause-subject-field,
.accounting-cause-sign-field,
.accounting-cause-cashflow-field {
  grid-template-columns: var(--label-width) 260px;
}

.accounting-cause-movement-field {
  grid-column: 1;
  grid-row: 2;
}

.accounting-cause-subject-field {
  grid-column: 1;
  grid-row: 3;
  margin-left: 0;
}

.accounting-cause-sign-field {
  grid-column: 1;
  grid-row: 4;
}

.accounting-cause-cashflow-field {
  grid-column: 1;
  grid-row: 5;
  margin-left: 0;
}

.accounting-cause-movement-field select,
.accounting-cause-subject-field select,
.accounting-cause-sign-field select,
.accounting-cause-cashflow-field select {
  width: 260px;
}

.accounting-cause-checks {
  display: contents;
}

.accounting-cause-cash-check {
  grid-column: 2;
  grid-row: 3;
  margin-left: 140px;
}

.accounting-cause-invoice-check {
  grid-column: 2;
  grid-row: 4;
  margin-left: 140px;
}

.accounting-cause-due-date-check {
  grid-column: 2;
  grid-row: 5;
  margin-left: 140px;
}

.accounting-cause-title-check {
  grid-column: 3;
  grid-row: 3;
  margin-left: -240px;
}

.accounting-cause-salary-check {
  grid-column: 3;
  grid-row: 4;
  margin-left: -240px;
}

.accounting-cause-locked-check {
  grid-column: 3;
  grid-row: 4;
  margin-left: 20px;
}

.accounting-cause-print-check {
  grid-column: 3;
  grid-row: 3;
  margin-left: 20px;
}

.accounting-cause-checks .field-check:nth-child(1) {
  grid-column: 2;
  grid-row: 4;
}

.accounting-cause-checks .field-check:nth-child(2) {
  grid-column: 2;
  grid-row: 5;
}

.accounting-cause-checks .field-check:nth-child(3) {
  grid-column: 3;
  grid-row: 3;
}

.accounting-cause-checks .field-check:nth-child(4) {
  grid-column: 3;
  grid-row: 4;
  margin-left: -240px;
}

.accounting-cause-checks .field-check:nth-child(5) {
  grid-column: 3;
  grid-row: 3;
  margin-left: 20px;
}

.accounting-cause-checks .field-check:nth-child(6) {
  grid-column: 3;
  grid-row: 4;
  margin-left: 20px;
}

.accounting-cause-checks .check-button-field {
  grid-template-columns: 112px 68px;
  width: 180px;
}

.accounting-cause-checks .check-text {
  white-space: nowrap;
  width: 112px;
}

.accounting-cause-accounts-frame {
  margin-top: 7px;
}

.accounting-cause-accounts {
  display: grid;
  gap: 22px;
  grid-template-columns: minmax(620px, 1fr) minmax(620px, 1fr);
  padding: 9px 12px;
}

.accounting-cause-account-column {
  display: grid;
  gap: 5px;
}

.accounting-cause-account-validation {
  display: none;
}

.accounting-cause-account-column h2 {
  align-items: center;
  background: #b8cbe0;
  border: 1px solid #8a8f98;
  display: flex;
  height: 24px;
  justify-content: center;
  color: #2f3b4c;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  margin: 0;
  text-transform: uppercase;
}

.accounting-cause-account-subhead {
  display: grid;
  gap: 2px;
  grid-template-columns: 26px 26px 50px minmax(165px, 1fr) 50px minmax(210px, 1.1fr);
}

.accounting-cause-account-subhead span {
  align-items: center;
  background: #b8cbe0;
  border: 1px solid #8a8f98;
  color: #172236;
  display: inline-flex;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 12px;
  font-weight: 600;
  height: 22px;
  justify-content: center;
}

.accounting-cause-subhead-master {
  grid-column: 3 / span 2;
}

.accounting-cause-subhead-account {
  grid-column: 5 / span 2;
}

.accounting-cause-account-row {
  align-items: center;
  display: grid;
  gap: 2px;
  grid-template-columns: 26px 26px 50px minmax(165px, 1fr) 50px minmax(210px, 1.1fr);
  min-height: 24px;
}

.accounting-cause-row-button {
  align-items: center;
  background: #b8cbe0;
  border: 1px solid #8a8f98;
  border-radius: 0;
  color: #2f3b4c;
  cursor: pointer;
  display: inline-flex;
  font-size: 1.15rem;
  font-weight: 500;
  height: 30px;
  justify-content: center;
  line-height: 1;
  min-height: 30px;
  padding: 0;
  width: 26px;
}

.accounting-cause-row-button-clear {
  font-weight: 400;
}

.accounting-cause-row-button:hover,
.accounting-cause-row-button:focus-visible {
  background: var(--BlueNote);
  color: #fff;
  outline: none;
}

.accounting-cause-account-row input,
.accounting-cause-account-row select {
  border: 1px solid #8a8f98;
  border-radius: 0;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 12px;
  font-weight: 600;
  height: 24px;
  min-height: 24px;
  padding: 2px 4px;
  width: 100%;
}

.accounting-cause-account-row input[readonly] {
  background: #eef2f8;
}

.accounting-cause-code-box {
  text-align: center;
}

.account-zoom-overlay {
  align-items: center;
  background: rgba(24, 32, 48, 0.25);
  display: flex;
  inset: 0;
  justify-content: center;
  padding: 18px;
  position: fixed;
  user-select: none;
  z-index: 1200;
}

.account-zoom-overlay[hidden] {
  display: none;
}

.account-zoom-dialog {
  background: #e0e2f3;
  border: 1px solid #6e7786;
  box-shadow: 0 14px 34px rgba(18, 31, 48, 0.28);
  display: grid;
  gap: 10px;
  max-width: 1158px;
  padding: 14px;
  position: relative;
  width: min(1158px, calc(100vw - 36px));
}

.account-zoom-title {
  align-items: center;
  background: #6795d6;
  color: #000;
  display: flex;
  font-size: 0.9rem;
  font-weight: 700;
  height: 24px;
  padding: 0 28px;
}

.account-zoom-body {
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(760px, 1fr) 140px;
  min-height: 388px;
}

.account-zoom-grid-frame {
  background: #fff;
  border: 1px solid #8a8f98;
  max-height: 388px;
  overflow: auto;
  position: relative;
}

.account-zoom-grid {
  border-collapse: collapse;
  font-size: 0.78rem;
  min-width: 910px;
  user-select: none;
  width: 100%;
}

.account-zoom-grid th,
.account-zoom-grid td {
  border: 1px solid #9ca3ad;
  height: 24px;
  padding: 2px 6px;
  white-space: nowrap;
}

.account-zoom-grid th {
  background: #b8cbe0;
  color: #000;
  font-weight: 400;
  position: sticky;
  top: 0;
  z-index: 1;
}

.account-zoom-grid th[data-account-zoom-sort] {
  cursor: pointer;
  user-select: none;
}

.account-zoom-grid th[data-account-zoom-sort].is-sorted::after {
  content: " ▲";
  font-size: 0.66rem;
}

.account-zoom-grid th[data-account-zoom-sort].is-sorted.is-descending::after {
  content: " ▼";
}

.account-zoom-grid td {
  background: #fff;
  color: #000;
  font-weight: 700;
}

.account-zoom-grid tr.selected-row td {
  background: #c9d1d9;
}

.account-zoom-selector,
.account-zoom-selector-cell {
  width: 24px;
}

.account-zoom-grid tr.selected-row .account-zoom-selector-cell::before {
  content: "▶";
  display: block;
  font-size: 0.72rem;
  text-align: center;
}

.account-zoom-grid .code-cell {
  text-align: center;
  width: 70px;
}

.account-zoom-empty {
  color: #40536a;
  font-size: 0.9rem;
  inset: 60px 0 auto;
  position: absolute;
  text-align: center;
}

.account-zoom-type-panel {
  display: grid;
  gap: 8px;
  grid-auto-rows: 39px;
  align-content: start;
  padding-top: 8px;
}

.account-zoom-type-panel button,
.account-zoom-command {
  background: #b8cbe0;
  border: 1px solid #8799ad;
  border-radius: 4px;
  color: #000;
  font-weight: 500;
  height: 39px;
}

.account-zoom-type-panel button.is-active {
  background: rgb(75, 100, 165);
  border-color: rgb(75, 100, 165);
  color: #fff;
}

.account-zoom-command.primary {
  background: rgb(75, 100, 165);
  border-color: rgb(75, 100, 165);
  color: #fff;
}

.account-zoom-footer {
  align-items: center;
  column-gap: 2px;
  display: grid;
  grid-template-columns: 76px 270px 70px 220px 156px;
}

.account-zoom-footer .account-zoom-command {
  background: rgb(75, 100, 165);
  border-color: rgb(75, 100, 165);
  color: #fff;
  position: absolute;
  right: 14px;
  width: 140px;
}

.account-zoom-footer .account-zoom-command.primary {
  bottom: 61px;
}

.account-zoom-footer .account-zoom-command:not(.primary) {
  bottom: 14px;
}

.account-zoom-footer label,
.account-zoom-records span {
  align-items: center;
  background: #b8cbe0;
  border: 1px solid #c8d1dc;
  display: inline-flex;
  height: 24px;
  padding: 0 8px;
}

.account-zoom-footer select,
.account-zoom-footer input,
.account-zoom-records strong {
  border: 1px solid #8a8f98;
  height: 24px;
  min-height: 24px;
}

.account-zoom-records {
  display: grid;
  grid-template-columns: 76px 80px;
}

.account-zoom-records strong {
  align-items: center;
  background: #e8e9f8;
  display: inline-flex;
  justify-content: center;
}

.store-list-page .store-grid {
  min-width: 1460px;
}

.store-list-page .store-grid th:first-child,
.store-list-page .store-grid td:first-child {
  width: 80px;
}

.store-form-page .store-name-row,
.store-form-page .store-location-row {
  display: grid;
  gap: 8px 14px;
  grid-column: 1 / -1;
}

.store-form-page .store-name-row {
  grid-template-columns: 260px minmax(0, 1fr) 220px;
}

.store-form-page .store-location-row {
  grid-template-columns: calc(50% - 7px) 195px 190px;
}

.store-form-page .field-code {
  grid-template-columns: var(--label-width) minmax(0, 1fr);
  max-width: none;
}

.store-form-page .field-store-active {
  display: block;
  grid-column: auto;
  grid-row: auto;
  justify-self: end;
  margin-left: 0;
  width: 194px;
}

.store-form-page .field-store-active .check-button-field {
  grid-template-columns: 120px 68px;
  width: 194px;
}

.store-form-page .store-description-field,
.store-form-page .store-address-field {
  grid-column: 1 / -1;
}

.accounting-movements-module .page-container {
  height: calc(100vh - 20px);
  max-width: none;
  overflow: hidden;
  padding: 0 18px;
}

.accounting-movements-module .page-container > main {
  height: 100%;
  min-height: 0;
}

body.accounting-movements-module {
  overflow: hidden;
}

body.accounting-movements-module .app-footer {
  display: none;
}

.accounting-movements-page {
  display: grid;
  gap: 10px;
  grid-template-rows: auto auto minmax(0, 1fr);
  height: 100%;
  min-height: 0;
  overflow: hidden;
  padding: 14px 0 6px;
}

.accounting-movements-page .module-header {
  margin-bottom: 0;
}

.accounting-movements-actions {
  flex-wrap: nowrap;
}

.accounting-movements-actions .accounting-movements-records {
  margin-left: 0;
  margin-right: 2px;
}

.supplier-form-page.data-form-skin .top-actions .accounting-article-button,
.supplier-form-page.data-form-skin .top-actions button.accounting-article-button {
  min-width: 166px;
  width: 166px;
}

.accounting-movements-filter-row {
  align-items: center;
  display: grid;
  gap: 10px;
  grid-template-columns: 210px 210px 320px 250px minmax(330px, 1fr);
}

.accounting-movements-filter-row .field {
  grid-template-columns: 82px minmax(0, 1fr);
}

.accounting-cause-filter {
  min-width: 0;
}

.accounting-movements-filter-row .accounting-supplier-filter {
  grid-template-columns: 82px 82px 280px 30px;
}

.accounting-supplier-filter input[readonly] {
  background: rgb(230, 230, 240);
}

.accounting-supplier-filter [data-accounting-supplier-code] {
  padding-left: 2px;
  padding-right: 2px;
  text-align: center;
}

.accounting-supplier-filter input[type="hidden"] {
  display: none;
}

.lookup-button {
  align-self: stretch;
  background: #ffffff;
  border: 1px solid #8793a4;
  border-radius: 4px;
  cursor: pointer;
  min-height: 28px;
  min-width: 30px;
  position: relative;
}

.lookup-button::before {
  border: 2px solid var(--BlueNote);
  border-radius: 50%;
  content: "";
  height: 40%;
  left: 23%;
  position: absolute;
  top: 20%;
  width: 40%;
}

.lookup-button::after {
  background: var(--BlueNote);
  content: "";
  height: 2px;
  left: 58%;
  position: absolute;
  top: 64%;
  transform: rotate(45deg);
  transform-origin: left center;
  width: 27%;
}

.lookup-button:hover,
.lookup-button:focus-visible {
  background: #eef4fb;
  border-color: var(--BlueNote);
  outline: none;
}

.lookup-overlay {
  align-items: center;
  background: rgba(15, 23, 42, 0.24);
  display: none;
  inset: 0;
  justify-content: center;
  position: fixed;
  user-select: none;
  z-index: 2600;
}

.lookup-overlay.is-open {
  display: flex;
}

.lookup-dialog {
  background: #e7edf5;
  border: 1px solid #7d8794;
  box-shadow: 0 18px 42px rgba(20, 30, 45, 0.24);
  display: grid;
  gap: 8px;
  grid-template-rows: 30px 34px minmax(0, 1fr) 38px;
  height: min(680px, calc(100vh - 80px));
  padding: 10px;
  width: min(900px, calc(100vw - 80px));
}

.lookup-titlebar {
  align-items: center;
  background: #a9c0d8;
  color: #0f2236;
  display: flex;
  justify-content: space-between;
  padding: 0 8px 0 10px;
}

.lookup-titlebar h2 {
  font-size: 14px;
  font-weight: 600;
  margin: 0;
}

.lookup-close {
  background: transparent;
  border: 0;
  cursor: pointer;
  height: 24px;
  position: relative;
  width: 24px;
}

.lookup-close::before,
.lookup-close::after {
  background: #17395c;
  content: "";
  height: 2px;
  left: 5px;
  position: absolute;
  top: 11px;
  width: 14px;
}

.lookup-close::before {
  transform: rotate(45deg);
}

.lookup-close::after {
  transform: rotate(-45deg);
}

.lookup-toolbar {
  align-items: center;
  display: grid;
  gap: 6px;
  grid-template-columns: 82px minmax(0, 1fr);
}

.lookup-toolbar label {
  align-items: center;
  background: #b8cbe0;
  color: #253447;
  display: flex;
  font-size: 12px;
  font-weight: 600;
  height: 28px;
  padding: 0 8px;
}

.lookup-search {
  border: 1px solid #aeb7c4;
  height: 28px;
  padding: 0 8px;
}

.lookup-table-wrap {
  background: #ffffff;
  border: 1px solid #9aa5b3;
  min-height: 0;
  overflow: auto;
}

.lookup-table {
  border-collapse: collapse;
  color: #000;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 14px;
  font-weight: 400;
  min-width: 650px;
  table-layout: fixed;
  user-select: none;
  width: 100%;
}

.lookup-table th:nth-child(1),
.lookup-table td:nth-child(1) {
  text-align: center;
  width: 90px;
}

.lookup-table th:nth-child(2),
.lookup-table td:nth-child(2) {
  width: auto;
}

.lookup-table th:nth-child(3),
.lookup-table td:nth-child(3) {
  width: 220px;
}

.lookup-table th {
  background: #b8cbe0;
  border-bottom: 1px solid #8aa8c5;
  color: #17395c;
  font-size: 12px;
  font-weight: 400;
  height: 31px;
  position: sticky;
  top: 0;
  z-index: 1;
}

.lookup-table th button {
  align-items: center;
  background: transparent;
  border: 0;
  color: inherit;
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  gap: 5px;
  height: 100%;
  justify-content: flex-start;
  padding: 0 6px;
  text-align: left;
  width: 100%;
}

.lookup-table th button::after {
  color: var(--BlueNote);
  content: "";
  font-size: 10px;
  min-width: 10px;
}

.lookup-table th button.is-active[data-direction="asc"]::after {
  content: "^";
}

.lookup-table th button.is-active[data-direction="desc"]::after {
  content: "v";
}

.lookup-table th,
.lookup-table td {
  border-right: 1px solid #c8d1dc;
  padding: 5px 8px;
  text-align: left;
  white-space: nowrap;
}

.lookup-table td {
  border-bottom: 1px solid #dbe2ea;
  overflow: hidden;
  text-overflow: ellipsis;
}

.lookup-table tr {
  cursor: default;
}

.lookup-table tr.selected td {
  background: #b8d2ee;
  color: #102b49;
}

.lookup-actions {
  align-items: center;
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}

.lookup-actions .button {
  min-width: 96px;
}

.accounting-movements-panel {
  border: 1px solid #8a8f98;
  display: grid;
  grid-template-rows: minmax(0, 1fr);
  min-height: 0;
  overflow: hidden;
}

.accounting-movements-panel h2 {
  align-items: center;
  background: #a9c0d8;
  color: #0f2236;
  display: flex;
  font-size: 14px;
  font-weight: 400;
  height: 23px;
  margin: 0;
  padding: 0 8px;
}

.accounting-movements-grid-frame {
  background: #ffffff;
  border: 0;
  border-radius: 0;
  min-height: 0;
  overflow: auto;
  scrollbar-gutter: stable;
}

.accounting-movements-grid {
  min-width: 1480px;
  table-layout: fixed;
  user-select: none;
}

.accounting-movements-grid th,
.accounting-movements-grid td {
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  height: 27px;
  padding: 4px 6px;
}

.accounting-movements-grid td {
  box-sizing: border-box;
  font-weight: 520;
  line-height: 18px;
}

.accounting-movements-grid th {
  font-weight: 400;
}

.accounting-movements-grid tbody tr {
  height: 27px;
}

.accounting-movements-grid th:nth-child(1),
.accounting-movements-grid td:nth-child(1) {
  text-align: center;
  width: 78px;
}

.accounting-movements-grid th:nth-child(2),
.accounting-movements-grid td:nth-child(2) {
  text-align: center;
  width: 90px;
}

.accounting-movements-grid th:nth-child(3),
.accounting-movements-grid td:nth-child(3) {
  text-align: center;
  width: 110px;
}

.accounting-movements-grid th:nth-child(4),
.accounting-movements-grid td:nth-child(4) {
  text-align: center;
  width: 140px;
}

.accounting-movements-grid th:nth-child(5),
.accounting-movements-grid td:nth-child(5) {
  text-align: center;
  width: 70px;
}

.accounting-movements-grid td:nth-child(5),
.accounting-movements-grid td:nth-child(6) {
  background: rgb(255, 255, 220);
}

.accounting-movements-grid th:nth-child(6),
.accounting-movements-grid td:nth-child(6) {
  width: 280px;
}

.accounting-movements-grid th:nth-child(7),
.accounting-movements-grid td:nth-child(7) {
  text-align: right;
  width: 100px;
}

.accounting-movements-grid th:nth-child(8),
.accounting-movements-grid td:nth-child(8) {
  text-align: center;
  width: 80px;
}

.accounting-movements-grid th:nth-child(9),
.accounting-movements-grid td:nth-child(9) {
  text-align: center;
  width: 80px;
}

.accounting-movements-grid th:nth-child(10),
.accounting-movements-grid td:nth-child(10) {
  width: 280px;
}

.accounting-movements-grid th:nth-child(11),
.accounting-movements-grid td:nth-child(11) {
  width: 280px;
}

.accounting-movement-edit-module .page-container {
  max-width: none;
  padding: 0 18px;
}

.accounting-movement-edit-module .module-page {
  padding-top: 14px;
}

.accounting-movement-form-page .module-header {
  margin-bottom: 10px;
}

.accounting-movement-form-page .form-frame label,
.accounting-movement-form-page .form-frame input,
.accounting-movement-form-page .form-frame select,
.accounting-movement-form-page .form-frame textarea,
.accounting-movement-form-page .accounting-cause-account-column h2,
.accounting-movement-form-page .accounting-cause-account-subhead span,
.accounting-movement-form-page .accounting-cause-row-button,
.accounting-movement-form-page .accounting-movement-side-total,
.accounting-movement-code-separator {
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  font-weight: 500;
}

.accounting-movement-form-page.accounting-cause-form-page.data-form-skin .form-frame label,
.accounting-movement-form-page.accounting-cause-form-page.data-form-skin .form-frame input,
.accounting-movement-form-page.accounting-cause-form-page.data-form-skin .form-frame select,
.accounting-movement-form-page.accounting-cause-form-page.data-form-skin .form-frame textarea,
.accounting-movement-form-page.accounting-cause-form-page.data-form-skin .accounting-cause-account-column h2,
.accounting-movement-form-page.accounting-cause-form-page.data-form-skin .accounting-cause-account-subhead span,
.accounting-movement-form-page.accounting-cause-form-page.data-form-skin .accounting-cause-row-button {
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  font-weight: 500;
}

.accounting-movement-head-frame {
  border: 0;
  margin-bottom: 10px;
  padding: 0;
}

.accounting-movement-head-frame legend,
.accounting-movement-accounts-frame legend {
  display: none;
}

.accounting-movement-fields {
  display: grid;
  gap: 12px 44px;
  grid-template-columns: 330px 626px minmax(430px, 1fr);
  padding: 6px 12px 10px;
}

.accounting-movement-fields .field {
  align-items: center;
  display: grid;
  gap: 0;
  min-width: 0;
}

.accounting-movement-fields label {
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  font-weight: 500;
  height: 24px;
}

.accounting-movement-fields input,
.accounting-movement-fields select {
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  font-weight: 520;
  height: 24px;
}

.accounting-movement-fields label {
  align-items: center;
  background: #b8cbe0;
  border: 1px solid #b8cbe0;
  border-radius: 4px 0 0 4px;
  box-sizing: border-box;
  display: flex;
  padding: 0 8px;
}

.accounting-movement-fields input,
.accounting-movement-fields select {
  border: 1px solid #8a8f98;
  border-radius: 6px;
  padding: 0 8px;
}

.accounting-movement-fields .lookup-button {
  align-items: center !important;
  align-self: center !important;
  background: #ffffff;
  border: 1px solid #8a8f98;
  border-radius: 4px;
  box-sizing: border-box;
  display: inline-flex !important;
  height: 30px !important;
  justify-content: center !important;
  line-height: 1 !important;
  max-height: 30px !important;
  max-width: 30px !important;
  min-height: 30px !important;
  min-width: 30px !important;
  padding: 0 !important;
  width: 30px !important;
}

.accounting-movement-fields input[readonly] {
  background: rgb(230, 230, 240);
}

.accounting-movement-fields .accounting-movement-code-field {
  align-items: center;
  display: flex;
  justify-self: start;
  min-height: 24px;
  width: max-content;
}

.accounting-movement-code-field label {
  flex: 0 0 128px;
  height: 24px;
  min-width: 128px;
  margin-right: 6px;
  width: 128px !important;
}

.accounting-movement-code-field input {
  box-sizing: border-box;
  flex: 0 0 auto;
  min-width: 0;
  text-align: center;
  width: auto;
}

.accounting-movement-code-field .accounting-movement-code-number {
  flex: 0 0 95px;
  min-width: 95px;
  width: 95px !important;
}

.accounting-movement-code-field .accounting-movement-code-year {
  flex: 0 0 60px;
  min-width: 60px;
  width: 60px !important;
}

.accounting-movement-code-separator {
  align-items: center;
  display: flex;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  font-weight: 500;
  height: 24px;
  justify-content: center;
  width: 20px;
}

.accounting-movement-fields .accounting-movement-cause-field {
  column-gap: 0;
  grid-template-columns: 120px 6px 80px 10px 370px 10px 30px;
  justify-self: start;
  width: max-content;
}

.accounting-movement-cause-field .accounting-movement-cause-code {
  grid-column: 3;
  min-width: 80px;
  text-align: center;
  width: 80px !important;
}

.accounting-movement-cause-field .accounting-movement-cause-description {
  grid-column: 5;
  min-width: 370px;
  width: 370px !important;
}

.accounting-movement-fields .accounting-movement-subject-field {
  column-gap: 0;
  grid-template-columns: 120px 6px 80px 10px 370px 10px 30px;
  justify-self: start;
  width: max-content;
}

.accounting-movement-subject-field .accounting-movement-subject-code {
  grid-column: 3;
  min-width: 80px;
  text-align: center;
  width: 80px !important;
}

.accounting-movement-subject-field .accounting-movement-subject-name {
  grid-column: 5;
  min-width: 370px;
  width: 370px !important;
}

.accounting-movement-cause-field .accounting-movement-lookup-button,
.accounting-movement-subject-field .accounting-movement-lookup-button {
  align-self: center;
  box-sizing: border-box;
  grid-column: 7;
  height: 30px;
  max-height: 30px;
  min-height: 30px;
  min-width: 30px;
  padding: 0;
  width: 30px;
}

.accounting-movement-cause-field .accounting-movement-lookup-button::before,
.accounting-movement-subject-field .accounting-movement-lookup-button::before,
.accounting-movement-accessory-field .accounting-movement-lookup-button::before {
  height: 40%;
  left: 23%;
  top: 20%;
  width: 40%;
}

.accounting-movement-cause-field .accounting-movement-lookup-button::after,
.accounting-movement-subject-field .accounting-movement-lookup-button::after,
.accounting-movement-accessory-field .accounting-movement-lookup-button::after {
  left: 58%;
  top: 64%;
  width: 27%;
}

.accounting-movement-cause-lookup {
  align-items: center;
  background: rgba(15, 23, 42, 0.24);
  display: none;
  inset: 0;
  justify-content: center;
  position: fixed;
  user-select: none;
  z-index: 2650;
}

.accounting-movement-cause-lookup.is-open {
  display: flex;
}

.accounting-movement-cause-lookup-dialog {
  background: #e7edf5;
  border: 1px solid #7d8794;
  box-shadow: 0 18px 42px rgba(20, 30, 45, 0.24);
  display: grid;
  gap: 8px;
  grid-template-rows: 30px minmax(0, 1fr) 38px;
  height: min(520px, calc(100vh - 100px));
  padding: 10px;
  width: min(720px, calc(100vw - 100px));
}

.accounting-movement-cause-lookup-titlebar {
  align-items: center;
  background: #a9c0d8;
  color: #0f2236;
  display: flex;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  justify-content: space-between;
  padding: 0 10px;
}

.accounting-movement-cause-lookup-titlebar h2 {
  font-size: 14px;
  font-weight: 600;
  margin: 0;
}

.accounting-movement-cause-lookup-close {
  background: transparent;
  border: 0;
  cursor: pointer;
  height: 24px;
  position: relative;
  width: 24px;
}

.accounting-movement-cause-lookup-close::before,
.accounting-movement-cause-lookup-close::after {
  background: #17395c;
  content: "";
  height: 2px;
  left: 5px;
  position: absolute;
  top: 11px;
  width: 14px;
}

.accounting-movement-cause-lookup-close::before {
  transform: rotate(45deg);
}

.accounting-movement-cause-lookup-close::after {
  transform: rotate(-45deg);
}

.accounting-movement-cause-lookup-frame {
  background: #fff;
  border: 1px solid #9ca3ad;
  overflow: auto;
}

.accounting-movement-cause-lookup-table {
  border-collapse: collapse;
  color: #000;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 14px;
  min-width: 100%;
  user-select: none;
}

.accounting-movement-cause-lookup-table th,
.accounting-movement-cause-lookup-table td {
  border: 1px solid #9ca3ad;
  height: 31px;
  padding: 5px 8px;
}

.accounting-movement-cause-lookup-table th {
  background: #b8cbe0;
  font-size: 12px;
  font-weight: 400;
  position: sticky;
  top: 0;
}

.accounting-movement-cause-lookup-table th button {
  background: transparent;
  border: 0;
  cursor: pointer;
  font: inherit;
  height: 100%;
  padding: 0;
  text-align: inherit;
  width: 100%;
}

.accounting-movement-cause-lookup-table th button.is-active::after {
  content: " ▲";
  font-size: 10px;
}

.accounting-movement-cause-lookup-table th button.is-active[data-direction="desc"]::after {
  content: " ▼";
}

.accounting-movement-cause-lookup-table td {
  background: #fff;
  font-weight: 400;
}

.accounting-movement-cause-lookup-table tr.selected-row td {
  background: #c9d1d9;
}

.accounting-movement-cause-lookup-table tr:focus,
.accounting-movement-cause-lookup-table tr:focus-visible {
  outline: none;
}

.accounting-movement-cause-lookup-code {
  text-align: center;
  width: 80px;
}

.accounting-movement-cause-lookup-actions {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}

.accounting-movement-cause-lookup-command {
  background: rgb(75, 100, 165);
  border: 1px solid rgb(75, 100, 165);
  border-radius: 4px;
  color: #fff;
  cursor: pointer;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 12px;
  font-weight: 600;
  height: 30px;
  min-width: 110px;
}

.accounting-movement-cause-lookup-command:hover,
.accounting-movement-cause-lookup-command:focus-visible {
  background: var(--BlueNote-hover);
  border-color: var(--BlueNote-hover);
  outline: none;
}

.accounting-linked-document-lookup {
  align-items: center;
  background: rgba(15, 23, 42, 0.24);
  display: none;
  inset: 0;
  justify-content: center;
  position: fixed;
  user-select: none;
  z-index: 2660;
}

.accounting-linked-document-lookup.is-open {
  display: flex;
}

.accounting-linked-document-dialog {
  background: #e7edf5;
  border: 1px solid #7d8794;
  box-shadow: 0 18px 42px rgba(20, 30, 45, 0.24);
  display: grid;
  gap: 8px;
  grid-template-rows: 30px 30px minmax(0, 1fr) 38px;
  height: min(520px, calc(100vh - 100px));
  padding: 10px;
  width: min(780px, calc(100vw - 100px));
}

.accounting-linked-document-titlebar {
  align-items: center;
  background: #a9c0d8;
  color: #0f2236;
  display: flex;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  justify-content: space-between;
  padding: 0 10px;
}

.accounting-linked-document-titlebar h2 {
  font-size: 14px;
  font-weight: 600;
  margin: 0;
}

.accounting-linked-document-close {
  background: transparent;
  border: 0;
  cursor: pointer;
  height: 24px;
  position: relative;
  width: 24px;
}

.accounting-linked-document-close::before,
.accounting-linked-document-close::after {
  background: #17395c;
  content: "";
  height: 2px;
  left: 5px;
  position: absolute;
  top: 11px;
  width: 14px;
}

.accounting-linked-document-close::before {
  transform: rotate(45deg);
}

.accounting-linked-document-close::after {
  transform: rotate(-45deg);
}

.accounting-linked-document-subject {
  align-items: center;
  display: grid;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 12px;
  font-weight: 600;
  grid-template-columns: 92px 82px minmax(0, 1fr);
}

.accounting-linked-document-subject-label {
  align-items: center;
  background: #b8cbe0;
  border: 1px solid #b8cbe0;
  border-radius: 4px 0 0 4px;
  display: flex;
  height: 24px;
  padding: 0 8px;
}

.accounting-linked-document-subject-code,
.accounting-linked-document-subject-name {
  align-items: center;
  background: rgb(230, 230, 240);
  border: 1px solid #8a8f98;
  display: flex;
  height: 24px;
  padding: 0 8px;
}

.accounting-linked-document-subject-code {
  justify-content: center;
}

.accounting-linked-document-subject-name {
  border-radius: 0 6px 6px 0;
}

.accounting-linked-document-frame {
  background: #fff;
  border: 1px solid #9ca3ad;
  overflow: auto;
  position: relative;
}

.accounting-linked-document-table {
  border-collapse: collapse;
  color: #000;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 14px;
  min-width: 100%;
  user-select: none;
}

.accounting-linked-document-table th,
.accounting-linked-document-table td {
  border: 1px solid #9ca3ad;
  height: 31px;
  padding: 5px 8px;
  white-space: nowrap;
}

.accounting-linked-document-table th {
  background: #b8cbe0;
  font-size: 12px;
  font-weight: 400;
  position: sticky;
  top: 0;
}

.accounting-linked-document-table td {
  background: #fff;
  font-weight: 400;
}

.accounting-linked-document-table tr.selected-row td {
  background: #c9d1d9;
}

.accounting-linked-document-table tr:focus,
.accounting-linked-document-table tr:focus-visible {
  outline: none;
}

.accounting-linked-document-code,
.accounting-linked-document-date {
  text-align: center;
}

.accounting-linked-document-amount {
  text-align: right;
}

.accounting-linked-document-empty {
  color: #485466;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 14px;
  padding: 18px;
}

.accounting-linked-document-actions {
  align-items: center;
  display: flex;
  gap: 8px;
  justify-content: space-between;
}

.accounting-linked-document-year-filter {
  align-items: center;
  display: grid;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 12px;
  font-weight: 600;
  grid-template-columns: 70px 92px;
}

.accounting-linked-document-year-filter label {
  align-items: center;
  background: #b8cbe0;
  border: 1px solid #b8cbe0;
  border-radius: 4px 0 0 4px;
  display: flex;
  height: 24px;
  padding: 0 8px;
}

.accounting-linked-document-year-filter select {
  border: 1px solid #8a8f98;
  border-radius: 0 6px 6px 0;
  font: inherit;
  height: 24px;
  padding: 0 6px;
}

.accounting-linked-document-action-buttons {
  display: flex;
  gap: 8px;
}

.accounting-linked-document-command {
  background: rgb(75, 100, 165);
  border: 1px solid rgb(75, 100, 165);
  border-radius: 4px;
  color: #fff;
  cursor: pointer;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 12px;
  font-weight: 600;
  height: 30px;
  min-width: 110px;
}

.accounting-linked-document-command:hover,
.accounting-linked-document-command:focus-visible {
  background: var(--BlueNote-hover);
  border-color: var(--BlueNote-hover);
  outline: none;
}

.accounting-movement-fields .accounting-movement-document-field,
.accounting-movement-fields .accounting-movement-store-field,
.accounting-movement-fields .accounting-movement-amount-field {
  column-gap: 6px;
  grid-column: 3;
  grid-template-columns: 150px 260px;
  justify-self: end;
  width: max-content;
}

.accounting-movement-fields .accounting-movement-amount-field {
  grid-template-columns: 150px 224px 30px;
}

.accounting-movement-fields .accounting-movement-accessory-field {
  column-gap: 0;
  grid-column: 2;
  grid-template-columns: 120px 6px 80px 10px 370px 10px 30px;
  justify-self: start;
  width: max-content;
}

.accounting-movement-fields .accounting-movement-invoice-field,
.accounting-movement-fields .accounting-movement-due-date-field {
  grid-template-columns: 120px 6px 160px 10px 150px 10px 130px 10px 30px 6px 30px;
}

.accounting-movement-accessory-field .accounting-movement-accessory-code {
  grid-column: 3;
  text-align: center;
  width: 80px !important;
}

.accounting-movement-invoice-field .accounting-movement-linked-code,
.accounting-movement-due-date-field .accounting-movement-linked-code {
  grid-column: 3;
  width: 160px !important;
}

.accounting-movement-invoice-field .accounting-movement-linked-number,
.accounting-movement-due-date-field .accounting-movement-linked-number {
  grid-column: 5;
  text-align: center;
  width: 150px !important;
}

.accounting-movement-invoice-field .accounting-movement-linked-date,
.accounting-movement-due-date-field .accounting-movement-linked-date {
  grid-column: 7;
  text-align: center;
  width: 130px !important;
}

.accounting-movement-accessory-field .accounting-movement-accessory-description {
  grid-column: 5;
  width: 370px !important;
}

.accounting-movement-accessory-field .accounting-movement-lookup-button {
  align-self: center;
  box-sizing: border-box;
  grid-column: 7;
  height: 30px;
  max-height: 30px;
  min-height: 30px;
  min-width: 30px;
  padding: 0;
  width: 30px;
}

.accounting-movement-invoice-field .accounting-movement-lookup-button,
.accounting-movement-due-date-field .accounting-movement-lookup-button {
  grid-column: 9;
}

.accounting-movement-accessory-clear {
  align-items: center;
  background: #ffffff;
  border: 1px solid #8a8f98;
  border-radius: 4px;
  color: #2f3b4c;
  cursor: pointer;
  display: flex;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 16px;
  font-weight: 400;
  grid-column: 11;
  height: 30px;
  justify-content: center;
  line-height: 1;
  max-height: 30px;
  max-width: 30px;
  min-height: 30px;
  min-width: 30px;
  padding: 0;
  width: 30px;
}

.accounting-movement-accessory-clear:hover,
.accounting-movement-accessory-clear:focus-visible {
  background: #eef4fb;
  border-color: var(--BlueNote);
  outline: none;
}

.accounting-movement-accessory-clear:disabled {
  cursor: default;
  opacity: 0.55;
}

.accounting-movement-accessory-field.is-disabled {
  opacity: 0.58;
}

.accounting-movement-amount-button {
  align-items: center;
  align-self: stretch;
  background: #ffffff url("../images/pencil04.png") center / 18px 18px no-repeat;
  border: 1px solid #8793a4;
  border-radius: 4px;
  cursor: pointer;
  display: flex;
  justify-content: center;
  min-height: 24px;
  min-width: 30px;
  padding: 0;
  position: relative;
}

.accounting-movement-amount-button:hover,
.accounting-movement-amount-button:focus-visible {
  background-color: #eef4fb;
  border-color: var(--BlueNote);
  outline: none;
}

.accounting-movement-fields .accounting-movement-date-field {
  column-gap: 6px;
  grid-template-columns: 128px 176px;
}

.accounting-movement-fields .accounting-movement-notes-field {
  column-gap: 6px;
  grid-column: 1 / 3;
  grid-template-columns: 128px 1fr;
}

.accounting-movement-amount-field input,
.accounting-movement-line-amount,
.accounting-movement-side-total {
  text-align: right;
}

.accounting-movement-accounts-frame {
  border: 0;
  margin-top: 0;
  padding: 0;
}

.accounting-movement-accounts {
  gap: 16px;
}

.accounting-movement-account-row,
.accounting-movement-account-subhead {
  grid-template-columns: 26px 26px 50px minmax(150px, 1fr) 50px minmax(220px, 1.55fr) 88px;
}

.accounting-movement-account-subhead .accounting-movement-subhead-amount {
  background: #b8cbe0;
  border: 1px solid #8a8f98;
  color: #000;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  font-weight: 500;
  height: 22px;
  justify-content: center;
}

.accounting-movement-line-amount {
  background: #ffffff;
}

.accounting-movement-line-amount:focus,
.accounting-movement-line-amount:focus-visible {
  box-shadow: none;
  outline: none;
}

.accounting-movement-side-total {
  background: rgb(230, 230, 240);
  border: 1px solid #8a8f98;
  display: block;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  font-weight: 520;
  height: 24px;
  margin-left: auto;
  margin-top: 4px;
  padding: 2px 4px;
  width: 88px;
}

.accounting-movement-form-page.accounting-cause-form-page.data-form-skin .accounting-cause-account-row input,
.accounting-movement-form-page.accounting-cause-form-page.data-form-skin .accounting-cause-account-row select,
.accounting-movement-form-page.accounting-cause-form-page.data-form-skin .accounting-movement-line-amount,
.accounting-movement-form-page.accounting-cause-form-page.data-form-skin .accounting-movement-side-total {
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  font-weight: 520;
}

.accounting-movement-form-page .validation-summary {
  display: none;
}

.accounting-movements-grid tbody tr.selected td,
.accounting-movements-grid tbody tr.selected-row td {
  background: #b8d2ee;
  color: #102b49;
}

.accounting-movements-grid tbody tr.selected td:first-child,
.accounting-movements-grid tbody tr.selected-row td:first-child {
  box-shadow: inset 4px 0 0 #2f6faa;
}

.stock-movements-module .page-container {
  height: calc(100vh - 20px);
  max-width: none;
  padding-left: 8px;
  padding-right: 8px;
}

.stock-movements-module .page-container > main {
  height: 100%;
  min-height: 0;
}

body.stock-movements-module {
  overflow: hidden;
}

body.stock-movements-module .app-footer {
  display: none;
}

.stock-movements-page {
  display: grid;
  gap: 2px;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  height: 100%;
  max-width: none;
  padding-bottom: 8px;
  padding-top: 8px;
}

.stock-movements-header {
  align-items: end;
  margin-bottom: 0;
  padding: 4px 10px 2px;
}

.stock-movements-header .module-title-logo {
  height: 46px;
  width: 46px;
}

.stock-movements-header h1 {
  font-size: 20px;
  line-height: 1.1;
}

.stock-movements-header p:last-child {
  font-size: 12px;
  margin-top: 2px;
}

.stock-movements-records {
  margin-left: 0;
  min-width: 150px;
}

.stock-movements-filters fieldset {
  padding: 4px 6px 4px;
}

.stock-movements-filters {
  margin-top: -8px;
}

.stock-toolbar-actions {
  align-items: center;
  box-sizing: border-box;
  display: flex;
  gap: 6px;
  justify-content: flex-end;
  margin-left: auto;
  min-height: 30px;
  padding: 0;
}

.stock-toolbar-actions .stock-movements-records {
  margin-right: 10px;
}

.stock-toolbar-actions .button {
  box-sizing: border-box;
  font-size: 14px;
  height: 32px;
  line-height: 32px;
  min-height: 32px;
  min-width: 148px;
  padding: 0 14px;
  white-space: nowrap;
}

.supplier-form-page.data-form-skin .top-actions.stock-toolbar-actions .button,
.supplier-form-page.data-form-skin .top-actions.stock-toolbar-actions button {
  max-width: none;
  min-width: 148px;
  width: 148px;
}

.stock-toolbar-actions .button[data-stock-action="movement"] {
  min-width: 174px;
}

.supplier-form-page.data-form-skin .top-actions.stock-toolbar-actions .button[data-stock-action="movement"],
.supplier-form-page.data-form-skin .top-actions.stock-toolbar-actions button[data-stock-action="movement"] {
  min-width: 174px;
  width: 174px;
}

.stock-toolbar-actions .button[data-stock-action="article"] {
  min-width: 156px;
}

.supplier-form-page.data-form-skin .top-actions.stock-toolbar-actions .button[data-stock-action="article"],
.supplier-form-page.data-form-skin .top-actions.stock-toolbar-actions button[data-stock-action="article"] {
  min-width: 156px;
  width: 156px;
}

.stock-filter-grid {
  display: grid;
  gap: 34px;
  grid-template-columns: 330px 358px minmax(540px, 1fr);
}

.stock-filter-left,
.stock-filter-center,
.stock-filter-right {
  display: grid;
  gap: 6px;
}

.stock-movements-filters .field {
  align-items: center;
  display: grid;
  gap: 6px;
  grid-template-columns: 92px minmax(0, 1fr);
  margin: 0;
  min-height: 30px;
}

.stock-movements-filters .field > label,
.stock-total-title,
.stock-total-label {
  background: #b8cbe0;
  color: #000;
}

.stock-movements-filters .field > label {
  align-items: center;
  align-self: stretch;
  border: 1px solid #8a8f98;
  box-sizing: border-box;
  display: flex;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  font-weight: 500;
  line-height: 1;
  margin: 0;
  padding: 0 7px;
}

.stock-movements-filters input,
.stock-movements-filters select,
.stock-total-box input {
  border: 1px solid #8a8f98;
  box-sizing: border-box;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  font-weight: 520;
  height: 30px;
}

.supplier-form-page.data-form-skin .stock-movements-filters .field > label,
.supplier-form-page.data-form-skin .stock-movements-filters input,
.supplier-form-page.data-form-skin .stock-movements-filters select {
  font-size: 13px;
  font-weight: 520;
}

.stock-movements-filters input[readonly],
.stock-total-box input {
  background: #eeeeff;
}

.stock-article-filter {
  grid-template-columns: 92px 150px minmax(0, 1fr) 30px !important;
}

.stock-subject-filter {
  grid-template-columns: 92px 82px minmax(0, 1fr) 30px !important;
}

.stock-subject-filter input[type="hidden"] {
  display: none;
}

.stock-subject-filter [data-stock-subject-code] {
  padding-left: 2px;
  padding-right: 2px;
  text-align: center;
}

.stock-movements-article-lookup-button {
  height: 30px;
  min-height: 30px;
  min-width: 30px;
  width: 30px;
}

.stock-movements-article-lookup-button::before {
  height: 40%;
  left: 23%;
  top: 20%;
  width: 40%;
}

.stock-movements-article-lookup-button::after {
  left: 58%;
  top: 64%;
  width: 27%;
}

.stock-movements-subject-lookup-button {
  height: 30px;
  min-height: 30px;
  min-width: 30px;
  width: 30px;
}

.stock-type-row {
  display: grid;
  gap: 6px;
  grid-template-columns: 166px 166px;
  justify-content: start;
}

.stock-toggle {
  display: block !important;
  margin: 0;
  min-height: 30px;
}

.stock-toggle > input[type="hidden"] {
  display: none !important;
}

.stock-movement-checkbox {
  align-items: center;
  display: grid;
  gap: 6px;
  grid-template-columns: 92px 68px;
  height: 30px;
  width: 166px;
}

.supplier-form-page.data-form-skin .stock-type-row .stock-movement-checkbox {
  gap: 6px;
  grid-template-columns: 92px 68px;
  width: 166px;
}

.stock-movement-checkbox .check-text {
  align-items: center;
  background: #b8cbe0;
  border: 1px solid #8a8f98;
  border-radius: 6px;
  box-sizing: border-box;
  color: #0e1824;
  display: flex;
  font-size: 13px;
  font-weight: 520;
  height: 30px;
  line-height: 1.15;
  min-height: 30px;
  padding: 5px 8px;
  white-space: nowrap;
  width: 92px;
}

.supplier-form-page.data-form-skin .stock-type-row .stock-movement-checkbox .check-text {
  width: 92px;
}

.stock-movement-checkbox .check-button-wrap {
  align-items: center;
  background: #ffffff;
  border: 1px solid #8a8f98;
  border-radius: 6px;
  box-sizing: border-box;
  cursor: pointer;
  display: inline-flex;
  height: 30px;
  justify-content: center;
  position: relative;
  width: 68px;
}

.stock-movement-checkbox input {
  border: 0;
  height: 1px;
  margin: 0;
  min-height: 0;
  opacity: 0;
  padding: 0;
  position: absolute;
  width: 1px;
}

.stock-movement-checkbox .check-button-wrap::before {
  background: rgb(210, 210, 210);
  border: 1px solid #c2ccda;
  border-radius: 999px;
  box-sizing: border-box;
  content: "";
  display: block;
  height: 22px;
  transition: background 0.15s ease, border-color 0.15s ease;
  width: 42px;
}

.stock-movement-checkbox .check-button-wrap::after {
  background: #ffffff;
  border-radius: 50%;
  box-shadow: 0 1px 3px rgba(23, 32, 51, 0.28);
  content: "";
  height: 16px;
  left: 16px;
  position: absolute;
  top: 7px;
  transition: transform 0.15s ease;
  width: 16px;
}

.stock-movement-checkbox input:checked ~ .check-button-wrap::before {
  background: var(--BlueNote);
  border-color: var(--BlueNote);
}

.stock-movement-checkbox input:checked ~ .check-button-wrap::after {
  transform: translateX(20px);
}

.stock-movement-checkbox input:focus-visible ~ .check-button-wrap {
  box-shadow: 0 0 0 3px rgba(75, 100, 165, 0.18);
}

.stock-movements-panel {
  border: 1px solid #8a8f98;
  display: grid;
  min-height: 0;
}

.stock-movements-grid-frame {
  background: #ffffff;
  border: 0;
  border-radius: 0;
  height: 100%;
  min-height: 0;
  overflow: auto;
}

.stock-movements-grid {
  min-width: 1540px;
  table-layout: fixed;
}

.stock-movements-grid th,
.stock-movements-grid td {
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  line-height: 18px;
  padding: 3px 6px;
}

.stock-movements-grid td {
  box-sizing: border-box;
  font-weight: 520;
}

.stock-movements-grid th {
  font-weight: 400;
  height: 26px;
  line-height: 16px;
  padding-bottom: 0;
  padding-top: 0;
}

.stock-movements-grid tbody tr {
  height: 27px;
}

.stock-movements-grid th:nth-child(1),
.stock-movements-grid td:nth-child(1) {
  text-align: center;
  width: 60px;
}

.stock-movements-grid th:nth-child(2),
.stock-movements-grid td:nth-child(2) {
  text-align: center;
  width: 90px;
}

.stock-movements-grid th:nth-child(3),
.stock-movements-grid td:nth-child(3) {
  text-align: center;
  width: 70px;
}

.stock-movements-grid th:nth-child(4),
.stock-movements-grid td:nth-child(4) {
  width: 150px;
}

.stock-movements-grid th:nth-child(5),
.stock-movements-grid td:nth-child(5) {
  text-align: center;
  width: 100px;
}

.stock-movements-grid th:nth-child(6),
.stock-movements-grid td:nth-child(6) {
  text-align: center;
  width: 105px;
}

.stock-movements-grid th:nth-child(7),
.stock-movements-grid td:nth-child(7) {
  width: 125px;
}

.stock-movements-grid th:nth-child(8),
.stock-movements-grid td:nth-child(8) {
  width: 260px;
}

.stock-movements-grid th:nth-child(9),
.stock-movements-grid td:nth-child(9),
.stock-movements-grid th:nth-child(10),
.stock-movements-grid td:nth-child(10),
.stock-movements-grid th:nth-child(15),
.stock-movements-grid td:nth-child(15) {
  text-align: center;
  width: 70px;
}

.stock-movements-grid th:nth-child(11),
.stock-movements-grid td:nth-child(11),
.stock-movements-grid th:nth-child(12),
.stock-movements-grid td:nth-child(12),
.stock-movements-grid th:nth-child(13),
.stock-movements-grid td:nth-child(13) {
  text-align: right;
  width: 90px;
}

.stock-movements-grid th:nth-child(14),
.stock-movements-grid td:nth-child(14) {
  text-align: center;
  width: 80px;
}

.stock-movements-grid tbody tr.selected td,
.stock-movements-grid tbody tr.selected-row td {
  background: #b8d2ee;
  color: #102b49;
}

.stock-movements-grid tbody tr.selected td:first-child,
.stock-movements-grid tbody tr.selected-row td:first-child {
  box-shadow: inset 4px 0 0 #2f6faa;
}

.stock-movements-footer {
  align-items: end;
  display: flex;
  gap: 8px;
}

.stock-totals {
  display: flex;
  gap: 8px;
  min-width: 0;
}

.stock-total-box {
  border: 1px solid #8a8f98;
  display: grid;
  gap: 3px;
  grid-template-columns: 90px 110px 110px;
  grid-template-rows: 24px 24px;
  padding: 6px;
}

.stock-total-title,
.stock-total-label {
  align-items: center;
  display: flex;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  font-weight: 500;
  padding: 0 7px;
}

.stock-total-title {
  grid-row: 1 / 3;
}

.stock-total-label {
  justify-content: flex-start;
}

.stock-total-box input {
  height: 24px;
  font-weight: 600;
  line-height: 22px;
  max-height: 24px;
  min-height: 24px;
  padding: 0 6px;
  text-align: right;
}

.supplier-form-page.data-form-skin .stock-total-box input {
  height: 24px;
  line-height: 22px;
  max-height: 24px;
  min-height: 24px;
  padding-bottom: 0;
  padding-top: 0;
}

body.article-account-module {
  overflow: hidden;
}

.article-account-module .page-container {
  height: calc(100vh - 20px);
  max-width: none;
  padding-left: 8px;
  padding-right: 8px;
}

.article-account-module .page-container > main {
  height: 100%;
  min-height: 0;
}

body.article-account-module .app-footer {
  display: none;
}

.article-account-page {
  grid-template-rows: auto auto minmax(0, 1fr) auto;
}

.article-account-actions .button {
  min-width: 130px;
}

.article-account-filters fieldset {
  padding: 4px 6px;
}

.article-account-filter-row {
  align-items: center;
  display: grid;
  gap: 24px;
  grid-template-columns: 182px 232px minmax(0, 1fr);
}

.article-account-year-field,
.article-account-month-field {
  grid-template-columns: 64px 1fr;
}

.article-account-year-field select {
  text-align: center;
}

.article-account-month-field select {
  width: 140px;
}

.article-account-article-field {
  grid-template-columns: 80px 165px minmax(235px, 1fr) 175px !important;
  min-width: 0;
}

.article-account-article-field [data-article-account-code] {
  width: 165px;
}

.article-account-article-field [data-article-account-description] {
  min-width: 0;
  width: 100%;
}

.article-account-change-button {
  height: 32px;
  min-height: 32px;
  width: 175px;
}

.article-account-panel {
  min-height: 0;
}

.article-account-grid-frame {
  min-height: 0;
}

.article-account-grid {
  min-width: 1504px;
  table-layout: fixed;
}

.article-account-grid th {
  height: 28px;
}

.article-account-grid th:nth-child(1),
.article-account-grid td:nth-child(1) {
  text-align: center;
  width: 78px;
}

.article-account-grid th:nth-child(2),
.article-account-grid td:nth-child(2) {
  text-align: center;
  width: 100px;
}

.article-account-grid th:nth-child(3),
.article-account-grid td:nth-child(3) {
  text-align: center;
  width: 100px;
}

.article-account-grid th:nth-child(4),
.article-account-grid td:nth-child(4) {
  text-align: center;
  width: 140px;
}

.article-account-grid th:nth-child(5),
.article-account-grid td:nth-child(5),
.article-account-grid th:nth-child(12),
.article-account-grid td:nth-child(12) {
  text-align: center;
  width: 70px;
}

.article-account-grid th:nth-child(6),
.article-account-grid td:nth-child(6),
.article-account-grid th:nth-child(7),
.article-account-grid td:nth-child(7),
.article-account-grid th:nth-child(8),
.article-account-grid td:nth-child(8),
.article-account-grid th:nth-child(9),
.article-account-grid td:nth-child(9),
.article-account-grid th:nth-child(10),
.article-account-grid td:nth-child(10),
.article-account-grid th:nth-child(11),
.article-account-grid td:nth-child(11) {
  text-align: right;
  width: 102px;
}

.article-account-grid th:nth-child(13),
.article-account-grid td:nth-child(13) {
  text-align: center;
  width: 80px;
}

.article-account-grid th:nth-child(14),
.article-account-grid td:nth-child(14) {
  width: 260px;
}

.article-account-footer {
  padding-top: 0;
}

.article-account-totals {
  border: 1px solid #8a8f98;
  display: grid;
  gap: 5px 8px;
  grid-template-columns: 226px 340px 340px 226px;
  max-width: 1168px;
  padding: 5px 8px 7px;
}

.article-account-totals-title {
  background: #b8cbe0;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  font-weight: 500;
  grid-column: 1 / -1;
  height: 20px;
  line-height: 20px;
  text-align: center;
}

.article-account-total-box {
  border: 0;
  gap: 3px;
  grid-template-columns: 114px 106px;
  padding: 0;
}

.article-account-total-box-wide {
  grid-template-columns: 108px 108px 108px;
}

.article-account-total-box .stock-total-title {
  grid-column: 1 / -1;
  grid-row: auto;
  justify-content: center;
  text-transform: uppercase;
}

.article-account-total-box .stock-total-label {
  justify-content: center;
}

.article-account-total-box input {
  width: 100%;
}

.article-account-choice-dialog {
  background: #ffffff;
  border: 1px solid #6f7784;
  box-shadow: 0 14px 32px rgba(20, 34, 54, 0.32);
  display: grid;
  gap: 10px;
  min-width: 890px;
  padding: 12px 16px 16px;
}

.article-account-choice-frame {
  background: #eeeeff;
  border: 1px solid #8a8f98;
  display: grid;
  align-items: start;
  gap: 8px 18px;
  grid-template-columns: minmax(0, 635px) 236px;
  padding: 24px 14px 26px;
}

.article-account-choice .field {
  align-items: center;
  display: grid;
  gap: 5px;
  margin: 0;
}

.article-account-choice .field > label {
  align-items: center;
  background: #b8cbe0;
  border: 1px solid #8a8f98;
  border-radius: 5px;
  display: flex;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  font-weight: 500;
  height: 30px;
  line-height: 28px;
  padding: 0 7px;
}

.article-account-choice input {
  border: 1px solid #8a8f98;
  border-radius: 4px;
  box-sizing: border-box;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  font-weight: 520;
  height: 30px;
  line-height: 28px;
  min-height: 30px;
  padding: 1px 7px;
}

.article-account-choice input[readonly] {
  background: #eeeeff;
}

.article-account-choice-code {
  display: flex !important;
  grid-column: 1 / -1;
  align-items: center;
  gap: 5px;
  min-width: 0;
  width: 100%;
}

.article-account-choice-code > label {
  box-sizing: border-box;
  flex: 0 0 100px;
  height: 30px;
  line-height: 28px;
}

.article-account-choice-code input:first-of-type {
  background: #fff8a8;
  flex: 0 0 170px;
  max-width: 170px;
  min-width: 170px;
  width: 170px;
}

.article-account-choice-code input:nth-of-type(2) {
  background: #eeeeff;
  flex: 1 1 auto;
  max-width: 100%;
  min-width: 0;
  width: 100%;
}

.article-account-choice-code .lookup-button {
  align-self: center;
  box-sizing: border-box;
  flex: 0 0 28px;
  margin: 0;
  max-width: 28px;
  min-width: 28px;
  padding: 0;
  width: 28px;
}

.article-account-choice-code input:nth-of-type(2),
.article-account-choice-code .lookup-button {
  transform: translateZ(0);
}

.article-account-choice-code-row {
  align-items: center !important;
  display: flex !important;
  gap: 5px !important;
  grid-column: 1 / -1 !important;
  min-width: 0 !important;
  width: 100% !important;
}

.article-account-choice-code-row > label {
  align-items: center !important;
  background: #b8cbe0 !important;
  border: 1px solid #8a8f98 !important;
  border-radius: 5px !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex: 0 0 120px !important;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  height: 30px !important;
  line-height: 28px !important;
  margin: 0 !important;
  padding: 0 7px !important;
  width: 120px !important;
}

.article-account-choice-code-row input:first-of-type {
  background: #ffffff !important;
  border: 1px solid #8a8f98 !important;
  border-radius: 4px !important;
  box-sizing: border-box !important;
  flex: 0 0 170px !important;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 520 !important;
  height: 30px !important;
  line-height: 28px !important;
  max-width: 170px !important;
  min-height: 30px !important;
  min-width: 170px !important;
  padding: 1px 7px !important;
  width: 170px !important;
}

.article-account-choice-code-row input:nth-of-type(2) {
  background: #eeeeff !important;
  border: 1px solid #8a8f98 !important;
  border-radius: 4px !important;
  box-sizing: border-box !important;
  flex: 1 1 auto !important;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 520 !important;
  height: 30px !important;
  line-height: 28px !important;
  max-width: none !important;
  min-height: 30px !important;
  min-width: 0 !important;
  padding: 1px 7px !important;
  width: auto !important;
}

.article-account-choice-code-row .lookup-button {
  align-self: center !important;
  box-sizing: border-box !important;
  flex: 0 0 30px !important;
  height: 30px !important;
  margin: 0 !important;
  max-height: 30px !important;
  max-width: 30px !important;
  min-height: 30px !important;
  min-width: 30px !important;
  padding: 0 !important;
  width: 30px !important;
}

.article-account-choice-code-row input:first-of-type:focus,
.article-account-choice-code-row input:first-of-type:focus-visible {
  background: #ffffff !important;
  border: 1px solid #8a8f98 !important;
  box-shadow: none !important;
  height: 30px !important;
  min-height: 30px !important;
  outline: none !important;
}

.article-account-choice input:focus,
.article-account-choice input:focus-visible {
  box-shadow: none;
  outline: none;
}

.article-account-choice-frame input,
.article-account-choice-code-row input {
  font-size: 13px !important;
  font-weight: 520 !important;
}

.article-account-choice-text {
  grid-column: 1 / 2;
  grid-template-columns: 100px 240px;
}

.article-account-choice-side {
  grid-column: 2 / 3;
  grid-template-columns: 124px 124px;
}

.article-account-choice-unit {
  grid-row: 3;
}

.article-account-choice-cost {
  grid-row: 4;
}

.article-account-choice-side input {
  text-align: right;
}

.article-account-choice .stock-movements-article-lookup-button {
  height: 30px;
  min-height: 30px;
  min-width: 28px;
  width: 28px;
}

.article-account-choice-actions {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: flex-end;
}

.article-account-choice-actions .button {
  min-width: 88px;
}


.purchase-invoices-module .page-container {
  height: calc(100vh - 20px);
  max-width: none;
  overflow: hidden;
}

.purchase-invoices-module .page-container > main {
  height: 100%;
  min-height: 0;
}

body.purchase-invoices-module {
  overflow: hidden;
}

body.purchase-invoices-module .app-footer {
  display: none;
}

.purchase-invoices-page {
  display: grid;
  gap: 10px;
  grid-template-rows: auto auto minmax(0, 1fr);
  height: 100%;
  max-width: none;
  min-height: 0;
}

.purchase-invoices-page.module-page {
  padding-top: 8px;
  padding-bottom: 8px;
}

.purchase-invoices-page .module-header {
  margin-bottom: 0;
  padding: 7px 10px;
}

.purchase-invoices-page .module-title-identity {
  gap: 10px;
}

.purchase-invoices-page .module-title-logo {
  flex-basis: 38px;
  height: 38px;
}

.purchase-invoices-page .module-title-identity img {
  height: 38px;
  width: 38px;
}

.purchase-invoices-page .module-header h1 {
  font-size: 20px;
  line-height: 1.1;
}

.purchase-invoices-page .module-header p:last-child {
  font-size: 12px;
  margin-top: 2px;
}

.purchase-invoices-actions {
  flex-wrap: nowrap;
}

.purchase-invoices-actions .purchase-invoices-records {
  margin-left: 0;
  margin-right: 2px;
}

.purchase-invoices-filters .form-frame {
  background: #f7f9fc;
  margin-top: 0;
  padding: 8px 14px 10px;
}

.purchase-invoices-filter-row {
  align-items: center;
  display: grid;
  gap: 10px;
  grid-template-columns: 128px 142px 202px 420px 238px 250px;
}

.purchase-invoices-filter-row .field {
  align-items: center;
  display: grid;
  column-gap: 4px;
  grid-template-columns: auto minmax(0, 1fr);
  min-width: 0;
}

.purchase-invoices-filter-row input,
.purchase-invoices-filter-row select {
  height: 24px;
}

.purchase-invoices-filter-row .purchase-invoices-supplier-filter {
  grid-template-columns: 68px 70px 240px 30px;
  justify-content: end;
  column-gap: 4px;
}

.purchase-invoices-year-filter {
  grid-template-columns: 46px 74px;
}

.purchase-invoices-month-filter {
  grid-template-columns: 46px 90px;
}

.purchase-invoices-type-filter {
  grid-template-columns: 40px 144px;
}

.purchase-invoices-type-filter select {
  min-width: 144px;
  width: 144px;
}

.purchase-invoices-store-filter {
  grid-template-columns: 82px 140px;
}

.purchase-invoices-contra-filter {
  grid-template-columns: 78px 160px;
}

.purchase-invoices-grid-frame {
  background: #ffffff;
  border: 0;
  border-radius: 0;
  height: 100%;
  margin-top: -8px;
  min-height: 0;
  overflow: auto;
}

.purchase-invoices-grid {
  min-width: 1370px;
  table-layout: fixed;
  user-select: none;
}

.purchase-invoices-grid th,
.purchase-invoices-grid td {
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  height: 27px;
  padding: 4px 6px;
}

.purchase-invoices-grid th {
  font-weight: 400;
  text-align: center;
}

.purchase-invoices-grid td {
  background: #ffffff;
  box-sizing: border-box;
  font-weight: 520;
  line-height: 18px;
  text-align: right;
}

.purchase-invoices-grid td:nth-child(1),
.purchase-invoices-grid td:nth-child(3),
.purchase-invoices-grid td:nth-child(5) {
  text-align: center;
}

.purchase-invoices-grid td:nth-child(2),
.purchase-invoices-grid td:nth-child(4),
.purchase-invoices-grid td:nth-child(6),
.purchase-invoices-grid td:nth-child(7),
.purchase-invoices-grid td:nth-child(11) {
  text-align: left;
}

.purchase-invoices-grid td:nth-child(8),
.purchase-invoices-grid td:nth-child(9),
.purchase-invoices-grid td:nth-child(10) {
  background: rgb(255, 255, 220);
}

.purchase-invoices-grid tbody tr.selected td,
.purchase-invoices-grid tbody tr.selected-row td {
  background: #b8d2ee;
  color: #102b49;
}

.purchase-invoices-grid tbody tr.selected td:first-child,
.purchase-invoices-grid tbody tr.selected-row td:first-child {
  box-shadow: inset 4px 0 0 #2f6faa;
}

.purchase-invoices-grid tbody tr:focus-visible td {
  outline: none;
}

.purchase-invoices-grid tbody tr {
  cursor: pointer;
  height: 27px;
  outline: none;
}

.purchase-invoices-grid th:nth-child(1),
.purchase-invoices-grid td:nth-child(1) {
  width: 88px;
}

.purchase-invoices-grid th:nth-child(2),
.purchase-invoices-grid td:nth-child(2) {
  width: 110px;
}

.purchase-invoices-grid th:nth-child(3),
.purchase-invoices-grid td:nth-child(3) {
  width: 110px;
}

.purchase-invoices-grid th:nth-child(4),
.purchase-invoices-grid td:nth-child(4) {
  width: 160px;
}

.purchase-invoices-grid th:nth-child(5),
.purchase-invoices-grid td:nth-child(5) {
  width: 80px;
}

.purchase-invoices-grid th:nth-child(6),
.purchase-invoices-grid td:nth-child(6) {
  width: 250px;
}

.purchase-invoices-grid th:nth-child(7),
.purchase-invoices-grid td:nth-child(7) {
  width: 210px;
}

.purchase-invoices-grid th:nth-child(8),
.purchase-invoices-grid td:nth-child(8) {
  width: 105px;
}

.purchase-invoices-grid th:nth-child(9),
.purchase-invoices-grid td:nth-child(9) {
  width: 105px;
}

.purchase-invoices-grid th:nth-child(10),
.purchase-invoices-grid td:nth-child(10) {
  width: 105px;
}

.purchase-invoices-grid th:nth-child(11),
.purchase-invoices-grid td:nth-child(11) {
  width: 180px;
}

.stock-loads-module .page-container {
  height: calc(100vh - 20px);
  max-width: none;
  overflow: hidden;
}

.stock-loads-module .page-container > main {
  height: 100%;
  min-height: 0;
}

body.stock-loads-module {
  overflow: hidden;
}

body.stock-loads-module .app-footer {
  display: none;
}

.stock-loads-page {
  display: grid;
  gap: 6px;
  grid-template-rows: auto auto minmax(0, 1fr);
  height: 100%;
  max-width: none;
  min-height: 0;
}

.stock-loads-page.module-page {
  padding-top: 8px;
  padding-bottom: 8px;
}

.stock-loads-page .module-header {
  margin-bottom: 0;
  padding: 7px 10px;
}

.stock-loads-page .module-title-identity {
  gap: 10px;
}

.stock-loads-page .module-title-logo {
  flex-basis: 38px;
  height: 38px;
}

.stock-loads-page .module-title-identity img {
  height: 38px;
  width: 38px;
}

.stock-loads-page .module-header h1 {
  font-size: 20px;
  line-height: 1.1;
}

.stock-loads-page .module-header p:last-child {
  font-size: 12px;
  margin-top: 2px;
}

.stock-loads-actions {
  flex-wrap: nowrap;
}

.stock-loads-actions .stock-loads-records {
  margin-left: 0;
  margin-right: 2px;
}

.stock-loads-actions .button,
.stock-loads-actions button {
  max-width: none;
  min-width: 130px;
  width: 130px;
}

.stock-loads-page.supplier-form-page.data-form-skin .top-actions.stock-loads-actions .button,
.stock-loads-page.supplier-form-page.data-form-skin .top-actions.stock-loads-actions button {
  max-width: none;
  min-width: 130px;
  width: 130px;
}

.stock-loads-actions .stock-loads-electronic-button {
  max-width: none;
  min-width: 150px;
  width: 150px;
}

.stock-loads-page.supplier-form-page.data-form-skin .top-actions.stock-loads-actions .stock-loads-electronic-button {
  max-width: none;
  min-width: 150px;
  width: 150px;
}

.stock-loads-filters .form-frame {
  background: #f7f9fc;
  margin-top: 0;
  padding: 8px 14px 10px;
}

.stock-loads-filter-row {
  align-items: center;
  display: grid;
  gap: 10px;
  grid-template-columns: 138px 172px 335px 209px minmax(449px, 1fr);
}

.stock-loads-filter-row .field {
  align-items: center;
  column-gap: 4px;
  display: grid;
  min-width: 0;
}

.stock-loads-filter-row label {
  justify-content: flex-start;
}

.stock-loads-filter-row input,
.stock-loads-filter-row select {
  height: 24px;
}

.stock-loads-filter-row .stock-loads-year-filter {
  grid-template-columns: 50px 78px;
}

.stock-loads-filter-row .stock-loads-month-filter {
  grid-template-columns: 50px 110px;
}

.stock-loads-filter-row .stock-loads-year-filter label,
.stock-loads-filter-row .stock-loads-month-filter label {
  min-width: 0;
  width: 50px;
}

.stock-loads-filter-row .stock-loads-supplier-filter label,
.stock-loads-filter-row .stock-loads-store-filter label,
.stock-loads-filter-row .stock-loads-article-filter label {
  min-width: 0;
  width: 75px;
}

.stock-loads-filter-row .stock-loads-supplier-filter {
  grid-template-columns: 75px 250px;
}

.stock-loads-filter-row .stock-loads-store-filter {
  grid-template-columns: 75px 124px;
}

.stock-loads-filter-row .stock-loads-article-filter {
  grid-template-columns: 75px 120px minmax(166px, 1fr) 30px;
}

.stock-loads-article-lookup-button {
  height: 30px;
  min-height: 30px;
  min-width: 30px;
  width: 30px;
}

.stock-loads-article-lookup-button::before {
  height: 40%;
  left: 23%;
  top: 20%;
  width: 40%;
}

.stock-loads-article-lookup-button::after {
  left: 58%;
  top: 64%;
  width: 27%;
}

.stock-loads-layout {
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(0, 1fr) 160px;
  height: 100%;
  min-height: 0;
  overflow: hidden;
}

.stock-loads-layout-no-totals {
  grid-template-columns: minmax(0, 1fr);
}

.stock-loads-main {
  display: grid;
  gap: 10px;
  grid-template-rows: minmax(0, 1fr) 188px;
  height: 100%;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}

.stock-loads-panel,
.stock-loads-detail-panel {
  min-width: 0;
}

.stock-loads-panel h2,
.stock-loads-detail-panel h2 {
  background: #b8cbe0;
  border: 1px solid #9aa8ba;
  border-bottom: 0;
  border-radius: 0;
  color: #111827;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  font-weight: 500;
  line-height: 22px;
  margin: 0;
  padding: 0 8px;
  user-select: none;
}

.stock-loads-grid-frame,
.stock-loads-detail-frame {
  background: #ffffff;
  border: 1px solid #9aa8ba;
  border-radius: 0;
  min-height: 0;
  overflow: auto;
}

.stock-loads-grid-frame {
  height: 100%;
}

.stock-loads-detail-frame {
  height: 100%;
}

.stock-loads-grid,
.stock-loads-detail-grid {
  table-layout: fixed;
  user-select: none;
}

.stock-loads-grid {
  min-width: 1430px;
}

.stock-loads-detail-grid {
  min-width: 1120px;
}

.stock-loads-grid th,
.stock-loads-grid td,
.stock-loads-detail-grid th,
.stock-loads-detail-grid td {
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  height: 27px;
  padding: 4px 6px;
}

.stock-loads-grid th,
.stock-loads-detail-grid th {
  font-weight: 400;
  text-align: center;
}

.stock-loads-grid td,
.stock-loads-detail-grid td {
  background: #ffffff;
  box-sizing: border-box;
  color: #000000;
  font-weight: 520;
  line-height: 18px;
  text-align: right;
}

.stock-loads-grid tbody tr {
  cursor: pointer;
  height: 27px;
  outline: none;
}

.stock-loads-grid tbody tr.selected td,
.stock-loads-grid tbody tr.selected-row td {
  background: #b8d2ee;
  color: #102b49;
}

.stock-loads-grid tbody tr.selected td:first-child,
.stock-loads-grid tbody tr.selected-row td:first-child {
  box-shadow: inset 4px 0 0 #2f6faa;
}

.stock-loads-grid tbody tr:focus-visible td {
  outline: none;
}

.stock-loads-grid td:nth-child(1),
.stock-loads-grid td:nth-child(2),
.stock-loads-grid td:nth-child(3),
.stock-loads-grid td:nth-child(4),
.stock-loads-grid td:nth-child(5),
.stock-loads-detail-grid td:nth-child(3),
.stock-loads-detail-grid td:nth-child(4),
.stock-loads-detail-grid td:nth-child(8) {
  text-align: center;
}

.stock-loads-grid td:nth-child(6),
.stock-loads-grid td:nth-child(10),
.stock-loads-detail-grid td:nth-child(1),
.stock-loads-detail-grid td:nth-child(2) {
  text-align: left;
}

.stock-loads-grid td:nth-child(5),
.stock-loads-grid td:nth-child(6),
.stock-loads-detail-grid td:nth-child(1),
.stock-loads-detail-grid td:nth-child(2) {
  background: rgb(255, 255, 220);
}

.stock-loads-grid th:nth-child(1),
.stock-loads-grid td:nth-child(1) {
  width: 82px;
}

.stock-loads-grid th:nth-child(2),
.stock-loads-grid td:nth-child(2) {
  width: 110px;
}

.stock-loads-grid th:nth-child(3),
.stock-loads-grid td:nth-child(3) {
  width: 150px;
}

.stock-loads-grid th:nth-child(4),
.stock-loads-grid td:nth-child(4) {
  width: 120px;
}

.stock-loads-grid th:nth-child(5),
.stock-loads-grid td:nth-child(5) {
  width: 90px;
}

.stock-loads-grid th:nth-child(6),
.stock-loads-grid td:nth-child(6) {
  width: 400px;
}

.stock-loads-grid th:nth-child(7),
.stock-loads-grid td:nth-child(7),
.stock-loads-grid th:nth-child(8),
.stock-loads-grid td:nth-child(8),
.stock-loads-grid th:nth-child(9),
.stock-loads-grid td:nth-child(9) {
  width: 110px;
}

.stock-loads-grid th:nth-child(10),
.stock-loads-grid td:nth-child(10) {
  width: 250px;
}

.stock-loads-detail-grid th:nth-child(1),
.stock-loads-detail-grid td:nth-child(1) {
  width: 140px;
}

.stock-loads-detail-grid th:nth-child(2),
.stock-loads-detail-grid td:nth-child(2) {
  width: 430px;
}

.stock-loads-detail-grid th:nth-child(3),
.stock-loads-detail-grid td:nth-child(3) {
  width: 100px;
}

.stock-loads-detail-grid th:nth-child(4),
.stock-loads-detail-grid td:nth-child(4),
.stock-loads-detail-grid th:nth-child(5),
.stock-loads-detail-grid td:nth-child(5),
.stock-loads-detail-grid th:nth-child(6),
.stock-loads-detail-grid td:nth-child(6),
.stock-loads-detail-grid th:nth-child(7),
.stock-loads-detail-grid td:nth-child(7) {
  width: 105px;
}

.stock-loads-detail-grid th:nth-child(8),
.stock-loads-detail-grid td:nth-child(8) {
  width: 105px;
}

.stock-loads-totals {
  align-self: end;
  border: 1px solid #9aa8ba;
  display: grid;
  gap: 9px;
  padding: 8px;
  user-select: none;
}

.stock-loads-totals div {
  display: grid;
  gap: 4px;
}

.stock-loads-totals span,
.stock-loads-totals strong {
  align-items: center;
  border: 1px solid #9aa8ba;
  display: flex;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  height: 25px;
  padding: 0 8px;
}

.stock-loads-totals span {
  background: #b8cbe0;
  font-weight: 500;
  justify-content: center;
}

.stock-loads-totals strong {
  background: rgb(230, 230, 240);
  color: #000000;
  font-weight: 520;
  justify-content: flex-end;
}

.stock-loads-page input[readonly],
.stock-loads-page textarea[readonly] {
  color: #000000;
  user-select: none;
}

.purchase-invoice-edit-module .app-footer {
  display: none;
}

body.purchase-invoice-edit-module {
  overflow: hidden;
}

.purchase-invoice-form-page.module-page {
  max-width: none;
  padding-top: 8px;
  padding-bottom: 8px;
}

.purchase-invoice-form-page .module-header {
  margin-bottom: 6px;
}

.purchase-invoice-form-page .entity-form {
  display: grid;
  gap: 10px;
}

.purchase-invoice-form-page .form-frame {
  margin: 0;
}

.supplier-form-page.data-form-skin.purchase-invoice-form-page .form-frame legend {
  font-size: 14px;
  font-weight: 500;
}

.purchase-invoice-electronic-row {
  align-items: center;
  display: grid;
  gap: 10px;
  grid-template-columns: 64px 150px 1fr 140px 140px;
  margin-bottom: 12px;
}

.purchase-invoice-electronic-icon {
  align-items: center;
  background: transparent;
  border: 0;
  display: inline-flex;
  height: 44px;
  justify-content: center;
  width: 54px;
}

.purchase-invoice-electronic-icon img {
  display: block;
  height: 42px;
  object-fit: contain;
  width: 54px;
}

.purchase-invoice-electronic-button {
  box-sizing: border-box;
  font-weight: 500;
  height: 36px;
  min-height: 36px;
  padding: 0 12px;
  width: 140px;
}

.supplier-form-page.data-form-skin.purchase-invoice-form-page .top-actions .button,
.supplier-form-page.data-form-skin.purchase-invoice-form-page .top-actions button {
  box-sizing: border-box;
  height: 46px;
  min-height: 46px;
  min-width: 140px;
  padding: 0 15px;
  width: 140px;
}

.purchase-invoice-electronic-row label,
.purchase-invoice-general-grid label,
.purchase-invoice-vat-frame label,
.purchase-invoice-payment-frame label {
  align-items: center;
  background: #b8cbe0;
  border: 1px solid #8a8f98;
  border-radius: 5px;
  color: #22384e;
  display: inline-flex;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  font-weight: 500;
  height: 30px;
  padding: 0 8px;
  user-select: none;
}

.supplier-form-page.data-form-skin.purchase-invoice-form-page input,
.supplier-form-page.data-form-skin.purchase-invoice-form-page select {
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  font-weight: 500;
  height: 30px;
}

.purchase-invoice-form-page input[readonly] {
  background: rgb(230, 230, 240);
  color: #111111;
}

.purchase-invoice-general-grid {
  display: grid;
  gap: 8px 24px;
  grid-template-columns: 430px minmax(0, 1fr);
}

.purchase-invoice-general-grid .field {
  align-items: center;
  display: grid;
  min-width: 0;
}

.purchase-invoice-code-field {
  column-gap: 6px;
  grid-column: 1;
  grid-template-columns: 150px 130px 12px 86px !important;
  width: max-content;
}

.purchase-invoice-code-field > label,
.purchase-invoice-number-field > label,
.purchase-invoice-date-field > label,
.purchase-invoice-type-field > label {
  box-sizing: border-box;
  width: 150px;
}

.purchase-invoice-code-field input:first-of-type {
  text-align: center;
  width: 130px;
}

.purchase-invoice-code-field input:last-of-type {
  text-align: center;
  width: 86px;
}

.purchase-invoice-code-field span {
  color: #22384e;
  display: inline-flex;
  font-weight: 700;
  justify-content: center;
  text-align: center;
  width: 18px;
}

.purchase-invoice-number-field,
.purchase-invoice-date-field {
  column-gap: 6px;
  grid-column: 1;
  grid-template-columns: 150px 240px !important;
}

.purchase-invoice-number-field input,
.purchase-invoice-date-field input {
  width: 240px;
}

.purchase-invoice-type-field {
  column-gap: 6px;
  grid-column: 1;
  grid-template-columns: 150px 240px !important;
}

.purchase-invoice-type-field select {
  width: 240px;
}

.purchase-invoice-left-spacer {
  grid-column: 1;
  height: 30px;
}

.purchase-invoice-supplier-field {
  grid-column: 2;
  grid-row: 1;
  column-gap: 6px;
  grid-template-columns: 120px 80px minmax(0, 1fr) 30px 30px !important;
}

.purchase-invoice-supplier-code {
  text-align: center;
  width: 80px;
}

.purchase-invoice-contra-field,
.purchase-invoice-store-field,
.purchase-invoice-notes-field {
  grid-column: 2;
  grid-template-columns: 120px minmax(0, 1fr);
}

.purchase-invoice-contra-field {
  grid-row: 2;
}

.purchase-invoice-store-field {
  grid-row: 3;
}

.purchase-invoice-notes-field {
  column-gap: 6px;
  grid-row: 4;
  grid-template-columns: 120px minmax(0, 1fr) !important;
}

.purchase-invoice-lookup-button,
.purchase-invoice-add-button {
  align-items: center;
  background: #ffffff;
  border: 1px solid #8a8f98;
  border-radius: 5px;
  color: var(--BlueNote);
  display: inline-flex;
  font-size: 19px;
  font-weight: 400;
  height: 30px;
  justify-content: center;
  line-height: 1;
  min-height: 30px;
  padding: 0;
  width: 30px;
}

.purchase-invoice-detail-grid {
  align-items: stretch;
  display: grid;
  gap: 10px;
  grid-auto-flow: column;
  grid-template-columns: 460px 740px;
  justify-content: space-between;
  width: 100%;
}

.purchase-invoice-vat-frame,
.purchase-invoice-payment-frame {
  min-height: 246px;
  min-width: 0;
}

.purchase-invoice-vat-frame {
  grid-column: 1 !important;
  grid-row: 1;
  width: 460px !important;
}

.purchase-invoice-payment-frame {
  grid-column: 2 !important;
  grid-row: 1;
  margin-top: 0 !important;
  width: 740px !important;
}

.purchase-invoice-total-field,
.purchase-invoice-inserted-field,
.purchase-invoice-difference-field {
  align-items: center;
  column-gap: 6px;
  display: grid;
  justify-content: start;
  margin-bottom: 8px;
}

.purchase-invoice-total-field {
  grid-template-columns: 150px 160px !important;
}

.purchase-invoice-inserted-field,
.purchase-invoice-difference-field {
  grid-template-columns: 150px 160px !important;
}

.purchase-invoice-total-field input {
  text-align: right;
  width: 160px;
}

.purchase-invoice-inserted-field input,
.purchase-invoice-difference-field input {
  text-align: right;
  width: 160px;
}

.purchase-invoice-inserted-field,
.purchase-invoice-difference-field {
  justify-content: start;
  margin: 6px 0 0 0;
}

.purchase-invoice-vat-table,
.purchase-invoice-due-table {
  border-collapse: collapse;
  border-spacing: 0;
  table-layout: fixed;
}

.purchase-invoice-vat-table {
  width: 390px;
}

.purchase-invoice-due-grid-wrap {
  border: 1px solid #9da8b5;
  width: 520px;
  max-height: 216px;
  overflow-y: auto;
  overflow-x: hidden;
}

.purchase-invoice-due-table {
  width: 520px;
}

.purchase-invoice-due-table th:nth-child(1),
.purchase-invoice-due-table td:nth-child(1) {
  text-align: center;
  width: 100px;
}

.purchase-invoice-due-table td:nth-child(1) input {
  text-align: center;
}

.purchase-invoice-due-table th:nth-child(2),
.purchase-invoice-due-table td:nth-child(2) {
  width: 160px;
}

.purchase-invoice-due-table th:nth-child(3),
.purchase-invoice-due-table td:nth-child(3) {
  text-align: center;
  width: 160px;
}

.purchase-invoice-due-table td:nth-child(3) input {
  text-align: center;
}

.purchase-invoice-due-table th:nth-child(4),
.purchase-invoice-due-table td:nth-child(4) {
  width: 100px;
}

.purchase-invoice-vat-table th:nth-child(1),
.purchase-invoice-vat-table td:nth-child(1) {
  text-align: center;
  width: 120px;
}

.purchase-invoice-vat-table th:nth-child(2),
.purchase-invoice-vat-table td:nth-child(2) {
  width: 150px;
}

.purchase-invoice-vat-table th:nth-child(3),
.purchase-invoice-vat-table td:nth-child(3) {
  width: 120px;
}

.purchase-invoice-vat-table th,
.purchase-invoice-vat-table td,
.purchase-invoice-due-table th,
.purchase-invoice-due-table td {
  height: 24px;
  padding: 0;
}

.purchase-invoice-vat-table th,
.purchase-invoice-vat-table td {
  border: 1px solid #c8ced8 !important;
}

.purchase-invoice-due-table th,
.purchase-invoice-due-table td {
  border: 1px solid #c8ced8 !important;
  height: 20px;
  line-height: 20px;
}

.purchase-invoice-vat-table th,
.purchase-invoice-due-table th {
  background: #b8cbe0;
  color: #0f2236;
  font-size: 12px;
  font-weight: 400;
  text-align: center;
}

.purchase-invoice-due-table th {
  height: 24px;
  line-height: 24px;
}

.purchase-invoice-vat-table input,
.purchase-invoice-due-table input {
  border: 0;
  border-radius: 0;
  height: 24px;
  padding: 0 6px;
  width: 100%;
}

.supplier-form-page.data-form-skin.purchase-invoice-form-page .purchase-invoice-vat-table input {
  background: #ffffff;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box;
  height: 24px !important;
  line-height: 24px;
  min-height: 0 !important;
  outline: none;
  padding: 0 6px !important;
  width: 100%;
}

.purchase-invoice-vat-table td:nth-child(1) input {
  text-align: center;
}

.purchase-invoice-vat-table tfoot input {
  text-align: right;
}

.supplier-form-page.data-form-skin.purchase-invoice-form-page .purchase-invoice-vat-table input[readonly],
.supplier-form-page.data-form-skin.purchase-invoice-form-page .purchase-invoice-vat-table input:disabled {
  background: rgb(230, 230, 240);
  color: #000000;
  opacity: 1;
  -webkit-text-fill-color: #000000;
}

.purchase-invoice-due-table input {
  border: 0 !important;
  height: 20px;
  line-height: 20px;
}

.purchase-invoice-form-page input[type="date"].is-empty::-webkit-datetime-edit,
.purchase-invoice-form-page input[type="date"].is-empty::-webkit-datetime-edit-text,
.purchase-invoice-form-page input[type="date"].is-empty::-webkit-datetime-edit-day-field,
.purchase-invoice-form-page input[type="date"].is-empty::-webkit-datetime-edit-month-field,
.purchase-invoice-form-page input[type="date"].is-empty::-webkit-datetime-edit-year-field {
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
}

.purchase-invoice-form-page input[type="date"]::-webkit-calendar-picker-indicator {
  cursor: pointer;
  opacity: 1;
}

.micronote-date-control {
  display: block;
  position: relative;
  width: 100%;
}

.micronote-date-input {
  width: 100%;
  padding-right: 30px !important;
  text-align: center;
}

.micronote-date-button {
  align-items: center;
  background-color: transparent;
  background-image: url("../images/calendario_icon_1.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 72% 72%;
  border: 0;
  border-left: 1px solid rgba(93, 112, 143, 0.24);
  border-radius: 0 5px 5px 0;
  bottom: 1px;
  cursor: pointer;
  display: flex;
  justify-content: center;
  padding: 0;
  position: absolute;
  right: 1px;
  top: 1px;
  width: 28px;
}

.micronote-date-button::before,
.micronote-date-button::after {
  display: none;
}

.micronote-date-button:hover {
  background-color: rgba(178, 199, 220, 0.55);
}

.micronote-date-control-grid .micronote-date-button {
  width: 24px;
}

.micronote-date-control-grid .micronote-date-input {
  padding-right: 26px !important;
}

.micronote-date-picker {
  background: #ffffff;
  border: 1px solid #8f9bac;
  border-radius: 6px;
  box-shadow: 0 8px 22px rgba(35, 45, 65, 0.22);
  color: #172236;
  font-family: "Microsoft Sans Serif", Arial, sans-serif;
  font-size: 12px;
  padding: 8px;
  position: absolute;
  width: 224px;
  z-index: 5000;
}

.micronote-date-picker[hidden] {
  display: none;
}

.micronote-date-picker-head {
  align-items: center;
  display: grid;
  gap: 6px;
  grid-template-columns: 28px 1fr 28px;
  margin-bottom: 6px;
}

.micronote-date-picker-head strong {
  font-size: 12px;
  font-weight: 600;
  text-align: center;
  text-transform: capitalize;
}

.micronote-date-picker button {
  background: #e6edf7;
  border: 1px solid #9eabbc;
  border-radius: 4px;
  color: #172236;
  cursor: pointer;
  font: inherit;
  height: 24px;
  padding: 0;
}

.micronote-date-picker button:hover,
.micronote-date-picker button.is-selected {
  background: rgb(75, 100, 165);
  border-color: rgb(75, 100, 165);
  color: #ffffff;
}

.micronote-date-picker-weekdays,
.micronote-date-picker-days {
  display: grid;
  gap: 3px;
  grid-template-columns: repeat(7, 1fr);
}

.micronote-date-picker-weekdays {
  color: #40516d;
  font-size: 11px;
  font-weight: 600;
  margin-bottom: 4px;
  text-align: center;
}

.micronote-date-picker-empty {
  height: 24px;
}

.purchase-invoice-vat-table tfoot th {
  text-align: center;
}

.purchase-invoice-payment-layout {
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(0, 1fr) 158px;
}

.purchase-invoice-payment-field,
.purchase-invoice-bank-field {
  align-items: center;
  display: grid;
  grid-template-columns: 90px 395px;
  margin-bottom: 8px;
}

.purchase-invoice-payment-field select,
.purchase-invoice-bank-field select {
  width: 395px;
}

.purchase-invoice-payment-actions {
  display: grid;
  gap: 8px;
  align-content: start;
}

.purchase-invoice-payment-actions .button {
  font-size: 11px;
  font-weight: 500;
  height: 30px;
  min-height: 30px;
  min-width: 0;
  padding-left: 8px;
  padding-right: 8px;
}

.purchase-invoice-paid-check {
  align-items: center;
  background: transparent !important;
  border: 0 !important;
  display: inline-flex;
  height: 24px !important;
  justify-content: center;
  padding: 0 !important;
  width: 100%;
}

.purchase-invoice-paid-check input[type="checkbox"] {
  height: 22px !important;
  min-height: 22px !important;
  width: 22px !important;
}

.purchase-invoice-paid-check .check-button-wrap {
  height: 10px;
  width: 10px;
}

.purchase-invoice-paid-check .check-button-wrap::before {
  border-radius: 2px;
  height: 10px !important;
  width: 10px !important;
}

.purchase-invoice-paid-check .check-button-wrap::after {
  display: none !important;
}

.purchase-invoice-fe-overlay {
  align-items: center;
  background: rgba(20, 32, 48, 0.18);
  display: flex;
  inset: 0;
  justify-content: center;
  position: fixed;
  z-index: 2600;
}

.purchase-invoice-fe-overlay[hidden] {
  display: none;
}

.purchase-invoice-payment-modal-overlay {
  align-items: center;
  background: rgba(20, 32, 48, 0.18);
  display: flex;
  inset: 0;
  justify-content: center;
  padding: 18px;
  position: fixed;
  z-index: 1500;
}

.purchase-invoice-payment-modal-overlay[hidden] {
  display: none;
}

.purchase-invoice-payment-modal {
  background: #eef4fb;
  border: 1px solid #8a98aa;
  box-shadow: 0 18px 38px rgba(15, 27, 40, 0.28);
  height: min(650px, calc(100vh - 56px));
  width: min(1120px, calc(100vw - 64px));
}

.purchase-invoice-payment-modal iframe {
  border: 0;
  display: block;
  height: 100%;
  width: 100%;
}

.stock-load-article-card-modal {
  height: min(780px, calc(100vh - 32px));
  overflow: auto;
  width: min(1400px, calc(100vw - 16px));
}

.stock-load-article-card-modal iframe {
  min-width: 1360px;
}

.stock-movement-document-modal {
  height: min(820px, calc(100vh - 24px));
  overflow: auto;
  width: min(1480px, calc(100vw - 16px));
}

.stock-movement-document-modal iframe {
  min-width: 1360px;
}

.purchase-invoice-stock-load-modal {
  height: min(820px, calc(100vh - 24px));
  overflow: auto;
  width: min(1500px, calc(100vw - 16px));
}

.purchase-invoice-stock-load-modal iframe {
  min-width: 1450px;
}

.purchase-invoice-fe-dialog {
  background: #e6e6f6;
  border: 1px solid #9da8b5;
  border-radius: 8px;
  box-shadow: 0 18px 42px rgba(15, 28, 48, 0.28);
  display: grid;
  gap: 10px;
  grid-template-rows: 24px 34px 30px minmax(0, 1fr) 36px;
  height: min(522px, calc(100vh - 70px));
  padding: 0 24px 16px;
  position: relative;
  width: 724px;
}

.purchase-invoice-fe-titlebar {
  align-items: center;
  background: transparent;
  color: #111111;
  display: flex;
  font-size: 13px;
  justify-content: space-between;
  margin: 0 -14px;
}

.purchase-invoice-fe-titlebar span {
  visibility: hidden;
}

.purchase-invoice-fe-titlebar button {
  align-items: center;
  background: transparent;
  border: 0;
  color: #111111;
  display: inline-flex;
  font-size: 20px;
  height: 24px;
  justify-content: center;
  line-height: 1;
  padding: 0;
  width: 28px;
}

.purchase-invoice-fe-heading {
  align-items: center;
  display: grid;
  gap: 8px;
  grid-template-columns: 36px 1fr;
}

.purchase-invoice-fe-heading img {
  height: 34px;
  width: 34px;
}

.purchase-invoice-fe-heading h2 {
  background: #b8cbe0;
  border: 1px solid #8a8f98;
  color: #0f2236;
  font-size: 18px;
  font-weight: 500;
  height: 32px;
  line-height: 30px;
  margin: 0;
  padding: 0 10px;
}

.purchase-invoice-fe-path-row {
  align-items: center;
  display: grid;
  gap: 6px;
  grid-template-columns: 88px minmax(0, 1fr) 30px 86px;
}

.purchase-invoice-fe-path-row label,
.purchase-invoice-fe-actions label {
  align-items: center;
  background: #b8cbe0;
  border: 1px solid #8a8f98;
  border-radius: 3px;
  color: #0f2236;
  display: inline-flex;
  font-size: 14px;
  height: 28px;
  padding: 0 8px;
}

.purchase-invoice-fe-path-row button,
.purchase-invoice-fe-clear {
  background: #d8e4f1;
  border: 1px solid #8a8f98;
  border-radius: 5px;
  color: #111111;
  font-size: 16px;
  font-weight: 700;
  height: 28px;
}

.purchase-invoice-fe-path-row input,
.purchase-invoice-fe-actions input {
  height: 28px;
}

.purchase-invoice-fe-path-row input {
  border-radius: 5px;
}

.purchase-invoice-fe-path-row input[data-electronic-invoice-path] {
  font-size: 13px;
  font-weight: 350;
  line-height: 28px;
}

.purchase-invoice-fe-actions input {
  border-radius: 5px;
}

.purchase-invoice-fe-grid-frame {
  background: #ffffff;
  border: 1px solid #8a8f98;
  min-height: 0;
  overflow: auto;
  user-select: none;
}

.purchase-invoice-fe-grid-frame:focus {
  outline: none;
}

.purchase-invoice-fe-grid {
  border-collapse: collapse;
  table-layout: fixed;
  width: 100%;
}

.purchase-invoice-fe-grid th,
.purchase-invoice-fe-grid td {
  border: 1px solid #b5bdc9;
  height: 24px;
  padding: 0 6px;
  white-space: nowrap;
}

.purchase-invoice-fe-grid th {
  background: linear-gradient(#c7d7e8, #b8cbe0 52%, #a9bed6);
  border-bottom: 1px solid #758aa1;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.72),
    inset 0 -1px 0 rgba(72, 91, 112, 0.26);
  color: #0e1824;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 12px;
  font-weight: 400;
  position: sticky;
  text-transform: none;
  top: 0;
  z-index: 1;
}

.purchase-invoice-fe-grid tbody tr {
  cursor: default;
}

.purchase-invoice-fe-grid tbody tr:hover td {
  background: #eef4fa;
}

.purchase-invoice-fe-grid tbody tr.is-selected td {
  background: #b8cbe0;
  color: #0f2236;
}

.purchase-invoice-fe-grid tbody tr:focus,
.purchase-invoice-fe-grid tbody tr:focus-visible {
  outline: none;
}

.purchase-invoice-fe-grid tbody td {
  overflow: hidden;
  text-overflow: ellipsis;
}

.purchase-invoice-fe-grid th:nth-child(1) {
  width: 300px;
}

.purchase-invoice-fe-grid th:nth-child(2) {
  width: 90px;
}

.purchase-invoice-fe-grid td:nth-child(2) {
  text-align: center;
}

.purchase-invoice-fe-grid th:nth-child(3) {
  width: 140px;
}

.purchase-invoice-fe-grid th:nth-child(4) {
  width: 110px;
}

.purchase-invoice-fe-grid td:nth-child(4) {
  text-align: right;
}

.purchase-invoice-fe-preview {
  background: #e6e6f6;
  border: 1px solid #777f8c;
  box-shadow: 0 8px 18px rgba(15, 28, 48, 0.18);
  color: #111111;
  font-family: "Microsoft Sans Serif", Arial, sans-serif;
  font-size: 13px;
  line-height: 1.18;
  min-height: 78px;
  padding: 8px 12px;
  pointer-events: none;
  position: absolute;
  width: 360px;
  z-index: 2;
}

.purchase-invoice-fe-preview[hidden] {
  display: none;
}

.purchase-invoice-fe-preview div {
  display: grid;
  grid-template-columns: 77px 13px 1fr;
  min-height: 16px;
}

.purchase-invoice-fe-preview span {
  white-space: nowrap;
}

.purchase-invoice-fe-preview strong {
  font-size: 12px;
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.purchase-invoice-fe-actions {
  align-items: center;
  display: grid;
  gap: 6px;
  grid-template-columns: 106px 106px 86px 86px;
  justify-content: end;
}

.purchase-invoice-fe-actions .button {
  font-size: 12px;
  font-weight: 500;
  height: 32px;
  min-height: 32px;
  min-width: 0;
  padding: 0 10px;
}

.purchase-invoice-fe-count {
  text-align: center;
}

.purchase-invoice-xml-overlay {
  align-items: center;
  background: rgba(8, 18, 32, 0.32);
  display: flex;
  inset: 0;
  justify-content: center;
  padding: 18px;
  position: fixed;
  z-index: 2700;
}

.purchase-invoice-xml-overlay[hidden] {
  display: none;
}

.purchase-invoice-xml-dialog {
  background: #e8e8f6;
  border: 1px solid #707784;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.22);
  display: grid;
  grid-template-rows: 22px 40px minmax(0, 1fr) 42px;
  height: min(860px, calc(100vh - 36px));
  padding: 6px 10px 10px;
  width: min(1160px, calc(100vw - 36px));
}

.purchase-invoice-xml-dialog .purchase-invoice-fe-heading {
  transform: translateY(-6px);
}

.stock-loads-xml-heading h2 {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.purchase-invoice-xml-frame {
  background: #ffffff;
  border: 1px solid #8a8f98;
  height: 100%;
  min-height: 0;
  width: 100%;
}

.purchase-invoice-xml-actions {
  align-items: end;
  display: flex;
  justify-content: flex-end;
  padding-top: 8px;
}

.purchase-invoice-xml-actions .button {
  height: 32px;
  min-height: 32px;
  min-width: 96px;
}


@media (max-width: 900px) {
  .app-heading {
    align-items: stretch;
    flex-direction: column;
  }

  .food-logo {
    align-self: center;
  }

  .session-panel {
    width: 100%;
  }

  .quick-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .section-content {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .filter-panel {
    grid-template-columns: 1fr 1fr;
  }

  .form-grid-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .page-container {
    padding: 0 14px;
  }

  .app-identity {
    align-items: flex-start;
  }

  .session-summary {
    grid-template-columns: 1fr;
  }

  .session-summary div + div {
    border-left: 0;
    border-top: 1px solid var(--line);
  }

  .quick-links,
  .menu-items,
  .main-menu,
  .section-content {
    grid-template-columns: 1fr;
  }

  .menu-intro {
    align-items: start;
    flex-direction: column;
    gap: 7px;
  }

  .menu-shell {
    padding: 14px;
  }

  .module-header {
    align-items: stretch;
    flex-direction: column;
  }

  .module-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .filter-panel,
  .form-grid-4 {
    grid-template-columns: 1fr;
  }

  .field-span-2 {
    grid-column: auto;
  }
}

.article-list-toolbar {
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(290px, 1.3fr) repeat(3, minmax(240px, 1fr)) minmax(320px, 1.2fr);
}

.list-title-actions .article-records-box {
  margin-right: 20px;
  margin-left: 0;
  min-height: 38px;
}

.article-search-field,
.article-filter-field,
.article-supplier-filter-field {
  min-width: 0;
}

.article-grid {
  min-width: 1380px;
}

.article-grid th:nth-child(1),
.article-grid td:nth-child(1) {
  text-align: left;
  width: 140px;
}

.article-grid th:nth-child(2),
.article-grid td:nth-child(2) {
  width: 370px;
}

.article-grid th:nth-child(3),
.article-grid td:nth-child(3) {
  text-align: center;
  width: 95px;
}

.article-grid th:nth-child(4),
.article-grid td:nth-child(4),
.article-grid th:nth-child(5),
.article-grid td:nth-child(5),
.article-grid th:nth-child(6),
.article-grid td:nth-child(6) {
  width: 150px;
}

.article-grid th:nth-child(7),
.article-grid td:nth-child(7),
.article-grid th:nth-child(8),
.article-grid td:nth-child(8) {
  text-align: right;
  width: 100px;
}

.article-grid th:nth-child(9),
.article-grid td:nth-child(9) {
  width: 260px;
}

.article-form-page {
  --article-label-width: 150px;
  max-width: 1280px;
}

.article-form-page .module-header {
  margin-bottom: 10px;
}

.supplier-form-page.article-form-page .article-form-frame {
  padding: 43px 44px 37px 24px;
}

.article-fields-grid {
  display: grid;
  gap: 10px 34px;
  grid-template-columns: 536px 300px 300px;
}

.article-fields-grid .field {
  align-items: center;
  display: grid;
  grid-template-columns: var(--article-label-width) minmax(0, 1fr);
  min-height: 30px;
}

.article-fields-grid label {
  align-items: center;
  background: #b8cbe0;
  border: 1px solid #8a8f98;
  border-radius: 5px;
  color: #0e1824;
  display: flex;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  font-weight: 500;
  height: 30px;
  padding: 0 8px;
  user-select: none;
}

.article-form-page input,
.article-form-page select {
  color: #000000;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  font-weight: 520;
}

.supplier-form-page.data-form-skin.article-form-page input,
.supplier-form-page.data-form-skin.article-form-page select,
.supplier-form-page.data-form-skin.article-form-page textarea {
  color: #000000;
  font-size: 13px;
  font-weight: 520;
}

.article-form-page input[readonly],
.article-form-page input:disabled,
.article-form-page select:disabled {
  color: #000000;
  opacity: 1;
  -webkit-text-fill-color: #000000;
}

.supplier-form-page.data-form-skin.article-form-page input[readonly],
.supplier-form-page.data-form-skin.article-form-page input:disabled,
.supplier-form-page.data-form-skin.article-form-page select:disabled,
.supplier-form-page.data-form-skin.article-form-page textarea:disabled {
  color: #000000;
  opacity: 1;
  -webkit-text-fill-color: #000000;
}

.supplier-form-page.data-form-skin.article-form-page.is-readonly .article-form-frame input:not([type="hidden"]),
.supplier-form-page.data-form-skin.article-form-page.is-readonly .article-form-frame select,
.supplier-form-page.data-form-skin.article-form-page.is-readonly .article-form-frame textarea {
  background: rgb(230, 230, 240);
  color: #000000;
  opacity: 1;
  -webkit-text-fill-color: #000000;
}

.supplier-form-page.data-form-skin.article-form-page .article-supplier-name-display {
  background: rgb(230, 230, 240);
}

.article-code-field {
  grid-column: 1;
  grid-row: 1;
}

.article-code-field input {
  text-align: left;
}

.article-description-field {
  grid-column: 1 / -1;
  grid-row: 2;
}

.article-supplier-field {
  column-gap: 6px;
  grid-column: 1 / 3;
  grid-row: 8;
  grid-template-columns: var(--article-label-width) 80px minmax(0, 1fr) 30px 30px !important;
  margin-top: 20px;
}

.article-supplier-code-display {
  text-align: center;
}

.article-supplier-name-display {
  background: rgb(230, 230, 240);
  user-select: none;
}

.article-supplier-lookup-button,
.article-supplier-clear-button {
  align-items: center;
  background: #ffffff;
  border: 1px solid #8a8f98;
  border-radius: 5px;
  color: var(--BlueNote);
  display: inline-flex;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 19px;
  font-weight: 400;
  height: 30px;
  justify-content: center;
  line-height: 1;
  min-height: 30px;
  padding: 0;
  width: 30px;
}

.article-supplier-clear-button {
  cursor: pointer;
  font-size: 18px;
}

.article-supplier-lookup-button:hover,
.article-supplier-lookup-button:focus-visible,
.article-supplier-clear-button:hover,
.article-supplier-clear-button:focus-visible {
  background: #eef4fb;
  border-color: var(--BlueNote);
  outline: none;
}

.article-supplier-code-field {
  grid-column: 3;
  grid-row: 8;
  margin-top: 20px;
}

.article-last-cost-field {
  grid-column: 3;
  grid-row: 5;
}

.article-category-field {
  grid-column: 1;
  grid-row: 3;
  margin-top: 20px;
}

.article-group-field {
  grid-column: 1;
  grid-row: 4;
}

.article-subgroup-field {
  grid-column: 1;
  grid-row: 5;
}

.article-unit-field {
  grid-column: 1;
  grid-row: 6;
}

.article-standard-cost-field {
  grid-column: 2;
  grid-row: 5;
}

.article-initial-stock-field {
  grid-column: 3;
  grid-row: 3;
  margin-top: 20px;
}

.article-net-weight-field {
  grid-column: 2;
  grid-row: 3;
  margin-top: 20px;
}

.article-pieces-field {
  grid-column: 2;
  grid-row: 4;
}

.article-standard-price-field {
  grid-column: 2;
  grid-row: 6;
}

.article-vat-rate-field {
  grid-column: 2;
  grid-row: 7;
}

.article-net-weight-field input,
.article-pieces-field input,
.article-standard-cost-field input,
.article-standard-price-field input,
.article-vat-rate-field input,
.article-initial-stock-field input,
.article-daily-consumption-field input {
  text-align: right;
}

.article-daily-consumption-field {
  grid-column: 3;
  grid-row: 6;
}

.article-average-cost-field {
  grid-column: 3;
  grid-row: 4;
}

.article-form-page .currency-display {
  text-align: right;
}

.stock-load-form-page {
  --stock-label-width: 150px;
  max-width: 1320px;
  padding-top: 8px;
}

.stock-load-form-page .module-header {
  margin-bottom: 8px;
}

.stock-load-form-page .entity-form {
  padding: 10px 27px 12px;
}

.stock-load-form-page input,
.stock-load-form-page select,
.stock-load-form-page textarea {
  color: #000000;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  font-weight: 520;
}

.supplier-form-page.data-form-skin.stock-load-form-page input,
.supplier-form-page.data-form-skin.stock-load-form-page select,
.supplier-form-page.data-form-skin.stock-load-form-page textarea {
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  font-weight: 520;
}

.stock-load-form-page input[readonly],
.stock-load-form-page input:disabled,
.stock-load-form-page select:disabled {
  background: rgb(230, 230, 240);
  color: #000000;
  opacity: 1;
  -webkit-text-fill-color: #000000;
  user-select: none;
}

.stock-load-form-page.data-form-skin .field label,
.stock-load-form-page.data-form-skin .stock-load-electronic-row label,
.stock-load-form-page.data-form-skin .stock-load-total-frame label {
  font-size: 13px;
  font-weight: 500;
}

.stock-load-form-page.data-form-skin .form-frame legend {
  font-size: 14px;
  font-weight: 500;
  text-transform: uppercase;
}

.stock-load-frame {
  padding: 16px 14px 14px;
}

.stock-load-electronic-row {
  align-items: center;
  display: grid;
  gap: 10px;
  grid-template-columns: 54px 150px minmax(320px, 1fr) 140px 140px;
  margin-bottom: 12px;
}

.stock-load-electronic-icon {
  align-items: center;
  display: flex;
  justify-content: center;
}

.stock-load-electronic-icon img {
  height: 42px;
  width: 42px;
}

.stock-load-electronic-row label {
  align-items: center;
  background: #b8cbe0;
  border: 1px solid #8a8f98;
  border-radius: 5px;
  display: flex;
  height: 30px;
  padding: 0 10px;
}

.stock-load-electronic-button {
  font-size: 12px;
  font-weight: 500;
  height: 36px;
  min-height: 36px;
  width: 140px;
}

.supplier-form-page.data-form-skin.stock-load-form-page .top-actions .button,
.supplier-form-page.data-form-skin.stock-load-form-page .top-actions button {
  max-width: 140px !important;
  min-width: 140px !important;
  width: 140px !important;
}

.stock-load-general-grid {
  display: grid;
  gap: 6px 18px;
  grid-template-columns: 430px minmax(0, 1fr);
  min-width: 0;
}

.stock-load-general-grid .field {
  display: grid;
  grid-template-columns: var(--stock-label-width) minmax(0, 1fr);
  min-height: 30px;
}

.stock-load-code-field {
  grid-column: 1;
  grid-template-columns: var(--stock-label-width) 130px 12px 76px !important;
}

.stock-load-code-field span {
  align-self: center;
  font-size: 18px;
  line-height: 1;
  text-align: center;
}

.stock-load-code-field input {
  text-align: center;
}

.stock-load-number-field,
.stock-load-date-field {
  grid-column: 1;
  grid-template-columns: var(--stock-label-width) 230px !important;
}

.stock-load-cause-field {
  grid-column: 2;
  grid-row: 1;
  grid-template-columns: 120px minmax(0, 330px) !important;
}

.stock-load-supplier-field {
  align-self: start;
  column-gap: 6px;
  grid-column: 2;
  grid-row: 2;
  grid-template-columns: 120px 82px minmax(260px, 1fr) 30px 30px !important;
}

.stock-load-store-field {
  grid-column: 2;
  grid-row: 3;
  grid-template-columns: 120px minmax(0, 330px) !important;
}

.stock-load-supplier-code {
  text-align: center;
}

.stock-load-supplier-name {
  background: rgb(230, 230, 240);
}

.stock-load-square-button {
  align-items: center;
  background: #ffffff;
  border: 1px solid #8a8f98;
  border-radius: 5px;
  color: #244267;
  display: inline-flex;
  font-size: 18px;
  font-weight: 400;
  height: 30px;
  justify-content: center;
  line-height: 1;
  padding: 0;
  width: 30px;
}

.stock-load-square-button:hover,
.stock-load-square-button:focus-visible {
  background: #eef4fb;
  border-color: var(--BlueNote);
  outline: none;
}

.stock-load-lines-section {
  display: grid;
  gap: 0;
  grid-template-columns: 54px minmax(0, 1fr);
  height: 295px;
  margin-top: 6px;
  min-height: 0;
}

.stock-load-side-actions {
  display: grid;
  grid-template-rows: repeat(3, 1fr);
  height: 295px;
  min-height: 0;
}

.stock-load-side-actions button {
  align-items: center;
  background: linear-gradient(#d7e4f2, #bfd2e6 52%, #aebfd5);
  border: 1px solid #8a8f98;
  border-right: 0;
  box-shadow:
    inset 0 1px rgba(255, 255, 255, 0.85),
    inset 0 -1px rgba(98, 112, 132, 0.35);
  color: #0e1824;
  display: flex;
  font-size: 12px;
  font-weight: 500;
  justify-content: center;
  min-width: 0;
  padding: 0;
  text-orientation: mixed;
  transform: rotate(180deg);
  writing-mode: vertical-rl;
}

.stock-load-side-actions span {
  color: #234a82;
  font-weight: 600;
}

.stock-load-lines-wrap {
  background: #eaf2fa;
  border: 1px solid #8a8f98;
  height: 295px;
  max-height: 295px;
  min-height: 0;
  outline: none;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}

.stock-load-lines-grid {
  border-collapse: collapse;
  border-spacing: 0;
  table-layout: fixed;
  width: calc(100% - 18px);
}

.stock-load-vat-grid {
  border-collapse: collapse;
  border-spacing: 0;
  table-layout: fixed;
  width: 100%;
}

.stock-load-lines-grid th,
.stock-load-lines-grid td,
.stock-load-vat-grid td {
  height: 23px;
  line-height: 23px;
  padding: 0;
}

.stock-load-lines-grid th {
  border: 1px solid #c8ced8 !important;
  position: sticky;
  top: 0;
  z-index: 1;
}

.stock-load-lines-grid td,
.stock-load-vat-grid td {
  border: 1px solid #c8ced8 !important;
}

.stock-load-lines-grid th {
  background: linear-gradient(#c7d7e8, #b8cbe0 52%, #a9bed6);
  box-shadow:
    inset 0 1px rgba(255, 255, 255, 0.85),
    inset 0 -1px rgba(100, 118, 140, 0.35);
  color: #0e1824;
  font-size: 13px;
  font-weight: 500;
  height: 28px;
  padding: 4px 6px;
  text-align: center;
}

.supplier-form-page.data-form-skin.stock-load-form-page .stock-load-lines-grid input,
.supplier-form-page.data-form-skin.stock-load-form-page .stock-load-vat-grid input {
  background: #ffffff;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box;
  height: 23px !important;
  line-height: 23px;
  min-height: 0 !important;
  outline: none;
  padding: 0 6px !important;
  width: 100%;
}

.supplier-form-page.data-form-skin.stock-load-form-page .stock-load-lines-grid input[readonly] {
  color: #000000;
  cursor: default;
  opacity: 1;
  -webkit-text-fill-color: #000000;
  user-select: none;
}

.stock-load-lines-grid tbody tr {
  cursor: default;
}

.stock-load-lines-grid tbody tr:has(td:first-child input[value=""]) {
  cursor: default;
}

.stock-load-lines-grid tbody tr.selected td,
.stock-load-lines-grid tbody tr.selected input {
  background: rgb(190, 203, 214) !important;
}

.stock-load-lines-grid input.stock-load-missing-article,
.stock-load-lines-grid tbody tr.selected input.stock-load-missing-article {
  background: #f5b4b4 !important;
}

.stock-load-lines-grid input.stock-load-assigned-article,
.stock-load-lines-grid tbody tr.selected input.stock-load-assigned-article {
  background: #fff2a6 !important;
}

.stock-load-lines-grid th:nth-child(1) {
  width: 160px;
}

.stock-load-lines-grid th:nth-child(3) {
  width: 80px;
}

.stock-load-lines-grid th:nth-child(n+4) {
  width: 96px;
}

.stock-load-lines-grid th:nth-child(8) {
  width: 118px;
}

.stock-load-lines-grid td:nth-child(3),
.stock-load-lines-grid td:nth-child(8) {
  text-align: center;
}

.stock-load-lines-grid td:nth-child(n+4) input {
  text-align: right;
}

.stock-load-lines-grid td:nth-child(8) input {
  padding-right: 24px;
}

.supplier-form-page.data-form-skin.stock-load-form-page .stock-load-invoice-total-field {
  align-items: center;
  display: grid;
  gap: 6px;
  grid-template-columns: 150px 140px !important;
  justify-content: end;
  margin: 0 0 0 auto;
  width: max-content;
}

.supplier-form-page.data-form-skin.stock-load-form-page .stock-load-invoice-total-field label {
  align-items: center;
  background: #b8cbe0;
  border: 1px solid #8a8f98;
  border-radius: 5px;
  display: flex;
  font-size: 13px;
  font-weight: 500;
  height: 30px;
  padding: 0 10px;
}

.supplier-form-page.data-form-skin.stock-load-form-page .stock-load-invoice-total-field input {
  text-align: right;
  width: 140px !important;
}

.stock-load-footer-actions {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-top: 6px;
}

.stock-load-footer-actions > div {
  display: flex;
  gap: 10px;
}

.stock-load-footer-actions .button,
.stock-load-footer-actions button {
  font-size: 12px;
  font-weight: 500;
  height: 36px;
  min-height: 36px;
  min-width: 132px;
}

.stock-load-line-overlay {
  align-items: center;
  background: rgba(238, 245, 251, 0.54);
  display: flex;
  inset: 0;
  justify-content: center;
  position: fixed;
  z-index: 1200;
}

.stock-load-line-overlay[hidden] {
  display: none;
}

.stock-load-line-dialog {
  background: #ffffff;
  border: 1px solid #6f7784;
  box-shadow: 0 12px 28px rgba(20, 34, 54, 0.28);
  color: #0f1724;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  padding: 14px;
  width: 930px;
}

.stock-load-line-title {
  align-items: center;
  background: #6aa4dc;
  color: #0b1420;
  display: flex;
  font-size: 14px;
  font-weight: 600;
  height: 24px;
  margin-bottom: 14px;
  padding: 0 16px;
}

.stock-load-line-body {
  background: #e7e7f7;
  border: 1px solid #7e8491;
  display: grid;
  grid-template-columns: 332px 250px 230px;
  gap: 16px 30px;
  min-height: 196px;
  padding: 20px 16px 14px;
}

.stock-load-line-body label {
  align-items: center;
  background: #b8cbe0;
  border: 1px solid #8a8f98;
  border-radius: 5px;
  color: #0e1824;
  display: flex;
  font-size: 13px;
  font-weight: 500;
  height: 26px;
  padding: 0 8px;
}

.stock-load-line-body input {
  border: 1px solid #8a8f98;
  border-radius: 5px;
  color: #000000;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  font-weight: 520;
  height: 26px;
  padding: 0 8px;
}

.supplier-form-page.data-form-skin.stock-load-form-page .stock-load-line-body input {
  font-size: 13px;
  font-weight: 520;
}

.stock-load-line-body input[readonly] {
  background: rgb(230, 230, 240);
  user-select: none;
}

.stock-load-line-article {
  align-items: center;
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: 110px 170px 30px minmax(0, 1fr);
  gap: 4px;
}

.stock-load-line-article label {
  box-sizing: border-box;
  height: 28px;
}

.stock-load-line-article input {
  box-sizing: border-box;
  height: 28px;
}

.stock-load-line-code {
  text-align: center;
}

.stock-load-line-description {
  background: rgb(230, 230, 240);
}

.stock-load-line-lookup-button {
  align-self: center;
  box-sizing: border-box;
  height: 28px;
  min-height: 28px;
  min-width: 30px;
  width: 30px;
}

.stock-load-line-lookup-button::before {
  height: 40%;
  left: 23%;
  top: 20%;
  width: 40%;
}

.stock-load-line-lookup-button::after {
  left: 58%;
  top: 64%;
  width: 27%;
}

.stock-load-line-middle,
.stock-load-line-right {
  display: grid;
  gap: 6px;
}

.stock-load-line-middle {
  grid-column: 2;
  grid-template-rows: 26px 1fr 26px 26px;
  margin-top: 4px;
}

.stock-load-line-middle .field:first-child {
  grid-row: 1;
}

.stock-load-line-middle .field:nth-child(2) {
  grid-row: 3;
}

.stock-load-line-middle .field:nth-child(3) {
  grid-row: 4;
}

.stock-load-line-right {
  grid-column: 3;
  margin-top: 4px;
}

.stock-load-line-middle .field,
.stock-load-line-right .field {
  display: grid;
  grid-template-columns: 126px 120px;
  gap: 4px;
}

.stock-load-line-right .field {
  grid-template-columns: 110px 116px;
}

.stock-load-line-body .numeric-display,
.stock-load-line-body .currency-display {
  text-align: right;
}

.stock-load-line-unit input {
  text-align: center;
}

.stock-load-line-actions {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  margin-top: 8px;
}

.stock-load-line-actions .button,
.stock-load-line-actions button {
  font-size: 12px;
  font-weight: 500;
  height: 36px;
  min-height: 36px;
  width: 110px;
}

.stock-load-line-dialog.is-dimmed {
  filter: saturate(0.92);
}

.stock-load-article-lookup {
  align-items: center;
  background: rgba(238, 245, 251, 0.44);
  display: flex;
  inset: 0;
  justify-content: center;
  position: fixed;
  z-index: 1220;
}

.stock-load-article-lookup[hidden] {
  display: none;
}

.stock-load-article-lookup-dialog {
  background: #ffffff;
  border: 1px solid #6f7784;
  box-shadow: 0 14px 32px rgba(20, 34, 54, 0.32);
  color: #0f1724;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  padding: 12px;
  width: 1270px;
}

.stock-load-article-lookup-title {
  align-items: center;
  background: #6aa4dc;
  color: #0b1420;
  display: flex;
  font-size: 14px;
  font-weight: 600;
  height: 24px;
  margin-bottom: 10px;
  padding: 0 28px;
}

.stock-load-article-lookup-frame {
  border: 1px solid #8a8f98;
  height: 390px;
  overflow: auto;
  outline: none;
}

.stock-load-article-lookup-table {
  border-collapse: collapse;
  border-spacing: 0;
  table-layout: fixed;
  user-select: none;
  width: 100%;
}

.stock-load-article-lookup-table th {
  background: linear-gradient(#c7d7e8, #b8cbe0 52%, #a9bed6);
  border: 1px solid #c8ced8;
  box-shadow:
    inset 0 1px rgba(255, 255, 255, 0.85),
    inset 0 -1px rgba(100, 118, 140, 0.35);
  color: #17395c;
  font-size: 12px;
  font-weight: 400;
  height: 27px;
  padding: 0;
  position: sticky;
  top: 0;
  z-index: 1;
}

.stock-load-article-lookup-table th button {
  align-items: center;
  background: transparent;
  border: 0;
  color: inherit;
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  gap: 5px;
  height: 100%;
  justify-content: flex-start;
  padding: 4px 6px;
  text-align: left;
  width: 100%;
}

.stock-load-article-lookup-table th button::after {
  color: var(--BlueNote);
  content: "";
  font-size: 10px;
  min-width: 10px;
}

.stock-load-article-lookup-table th button.is-active[data-direction="asc"]::after {
  content: "^";
}

.stock-load-article-lookup-table th button.is-active[data-direction="desc"]::after {
  content: "v";
}

.stock-load-article-lookup-table td {
  border: 1px solid #c8ced8;
  color: #000000;
  cursor: default;
  font-size: 13px;
  font-weight: 520;
  height: 27px;
  line-height: 27px;
  overflow: hidden;
  padding: 0 6px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.stock-load-article-lookup-table tr {
  cursor: default;
}

.stock-load-article-lookup-table tr.selected td {
  background: rgb(190, 203, 214);
}

.stock-load-article-lookup-table th:nth-child(1),
.stock-load-article-lookup-table td:nth-child(1) {
  width: 150px;
}

.stock-load-article-lookup-table th:nth-child(2),
.stock-load-article-lookup-table td:nth-child(2) {
  width: 400px;
}

.stock-load-article-lookup-table th:nth-child(3),
.stock-load-article-lookup-table td:nth-child(3),
.stock-load-article-lookup-table th:nth-child(4),
.stock-load-article-lookup-table td:nth-child(4),
.stock-load-article-lookup-table th:nth-child(5),
.stock-load-article-lookup-table td:nth-child(5) {
  width: 150px;
}

.stock-load-article-lookup-table th:nth-child(6),
.stock-load-article-lookup-table td:nth-child(6),
.stock-load-article-lookup-table th:nth-child(7),
.stock-load-article-lookup-table td:nth-child(7) {
  text-align: right;
  width: 98px;
}

.stock-load-article-lookup-table th:nth-child(7),
.stock-load-article-lookup-table td:nth-child(7) {
  text-align: center;
}

.stock-load-article-lookup-tools {
  align-items: center;
  display: grid;
  gap: 8px;
  grid-template-columns: 62px 174px 72px 160px 72px 254px 64px 80px 106px 106px;
  margin-top: 10px;
}

.stock-load-article-lookup-tools label {
  align-items: center;
  background: #b8cbe0;
  border: 1px solid #8a8f98;
  border-radius: 0;
  color: #0e1824;
  display: flex;
  font-size: 13px;
  font-weight: 500;
  height: 26px;
  padding: 0 8px;
}

.stock-load-article-lookup-tools input,
.stock-load-article-lookup-tools select {
  border: 1px solid #8a8f98;
  border-radius: 0;
  color: #000000;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  font-weight: 520;
  height: 26px;
  min-height: 26px;
  padding: 0 8px;
}

.stock-load-article-lookup-tools input:focus,
.stock-load-article-lookup-tools input:focus-visible,
.stock-load-article-lookup-tools select:focus,
.stock-load-article-lookup-tools select:focus-visible {
  border-color: var(--BlueNote);
  box-shadow: none;
  outline: none;
}

.stock-load-article-lookup-tools [data-article-count] {
  background: rgb(230, 230, 240);
  text-align: center;
}

.stock-load-article-lookup-tools .button,
.stock-load-article-lookup-tools button {
  font-size: 12px;
  font-weight: 500;
  height: 34px;
  min-height: 34px;
}

.initial-article-stock-page {
  min-height: calc(100vh - 68px);
}

.initial-article-stock-actions {
  flex-wrap: nowrap;
}

.list-title-actions .initial-article-stock-records {
  margin-left: 0;
  margin-right: 12px;
  min-height: 38px;
}

.initial-article-stock-frame {
  margin-top: 4px;
  padding: 4px;
}

.initial-article-stock-grid-frame {
  background: #ffffff;
  border: 1px solid #8a8f98;
  height: calc(100vh - 163px);
  min-height: 390px;
  overflow-x: auto;
  overflow-y: scroll;
  padding-right: 17px;
  scrollbar-gutter: auto;
}

.initial-article-stock-grid {
  min-width: 990px;
  table-layout: fixed;
  user-select: none;
}

.initial-article-stock-grid th,
.initial-article-stock-grid td {
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  font-weight: 520;
}

.initial-article-stock-grid th {
  font-weight: 500;
}

.initial-article-stock-grid td {
  background: rgb(235, 235, 250);
  border-color: #a5a5a5;
  height: 27px;
  padding: 0 6px;
  white-space: nowrap;
}

.initial-article-stock-grid tbody tr.selected-row,
.initial-article-stock-grid tbody tr.selected-row:hover {
  background: transparent;
  box-shadow: none;
  color: #000000;
}

.initial-article-stock-grid tbody tr.selected-row td:first-child {
  box-shadow: inset 4px 0 0 #2f6faa;
}

.initial-article-stock-grid th:nth-child(1),
.initial-article-stock-grid td:nth-child(1) {
  width: 130px;
}

.initial-article-stock-grid th:nth-child(2),
.initial-article-stock-grid td:nth-child(2) {
  width: 360px;
}

.initial-article-stock-grid th:nth-child(3),
.initial-article-stock-grid td:nth-child(3) {
  text-align: center;
  width: 70px;
}

.initial-article-stock-grid th:nth-child(4),
.initial-article-stock-grid td:nth-child(4),
.initial-article-stock-grid th:nth-child(5),
.initial-article-stock-grid td:nth-child(5) {
  width: 140px;
}

.initial-article-stock-grid th:nth-child(6),
.initial-article-stock-grid td:nth-child(6) {
  text-align: right;
  width: 120px;
}

.initial-article-stock-grid td:nth-child(6) {
  background: #ffffff;
  padding: 0;
}

.initial-article-stock-grid tbody tr.selected-row td:nth-child(6) {
  background: #fff6a8;
  box-shadow: inset 0 0 0 1px #6a5a00;
}

.initial-article-stock-grid input[data-initial-stock-quantity] {
  background: transparent;
  border: 0;
  color: #000;
  font: inherit;
  height: 26px;
  min-height: 26px;
  padding: 0 7px;
  text-align: right;
  width: 100%;
}

.initial-article-stock-grid input[data-initial-stock-quantity]:focus {
  background: #fff6a8;
  box-shadow: inset 0 0 0 1px #6a5a00;
  outline: none;
}

.initial-cf-balance-page {
  height: 100%;
  min-height: 0;
  overflow: hidden;
}

.initial-customer-supplier-balance-module .page-container {
  height: calc(100vh - 20px);
  max-width: none;
  overflow: hidden;
}

.initial-customer-supplier-balance-module .page-container > main {
  height: 100%;
  min-height: 0;
}

body.initial-customer-supplier-balance-module {
  overflow: hidden;
}

body.initial-customer-supplier-balance-module .app-footer {
  display: none;
}

.initial-cf-balance-page .list-titlebar {
  margin-bottom: 6px;
  min-height: 58px;
  padding-bottom: 4px;
  padding-top: 4px;
}

.initial-cf-balance-page .list-title-identity img {
  height: 44px;
  width: 44px;
}

.initial-cf-balance-actions {
  flex-wrap: nowrap;
}

.list-title-actions .initial-cf-balance-records {
  margin-left: 0;
  margin-right: 12px;
  min-height: 38px;
}

.initial-cf-filter-frame {
  margin-top: 4px;
  padding: 4px 6px;
}

.initial-cf-filter-grid {
  align-items: center;
  display: grid;
  gap: 5px;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.initial-cf-filter-left {
  align-items: center;
  display: flex;
  gap: 12px;
  min-width: 0;
  flex-wrap: nowrap;
}

.initial-cf-year-field,
.initial-cf-clear-button {
  flex: 0 0 auto;
}

.initial-cf-filter-grid .field {
  align-items: center;
  column-gap: 6px;
  display: grid;
  grid-template-columns: 150px 120px;
  margin: 0;
  min-height: 30px;
}

.initial-cf-filter-grid .field label {
  align-items: center;
  background: #b8cbe0;
  border: 1px solid #8a8f98;
  border-radius: 6px;
  box-sizing: border-box;
  color: #000;
  display: flex;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  font-weight: 520;
  height: 30px;
  line-height: 1;
  padding: 0 7px;
}

.initial-cf-filter-grid select {
  background: #ffffff;
  border: 1px solid #8a8f98;
  border-radius: 6px;
  box-sizing: border-box;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  font-weight: 520;
  height: 30px;
  min-height: 30px;
  padding: 3px 6px;
}

.initial-cf-clear-button {
  height: 38px;
  min-height: 38px;
  width: 130px;
}

.initial-cf-note {
  align-items: center;
  background: #ffff73;
  border: 1px solid #d0c54a;
  color: #000;
  display: grid;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  font-weight: 520;
  gap: 12px;
  grid-column: 2;
  grid-row: 1;
  grid-template-columns: 48px minmax(0, 1fr);
  justify-self: end;
  min-height: 58px;
  padding: 5px 10px;
  width: 100%;
}

.initial-cf-note strong {
  font-weight: 520;
}

.initial-cf-grid-layout {
  display: grid;
  gap: 5px;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  margin-top: 6px;
}

.initial-cf-panel {
  border: 1px solid #8a8f98;
  min-width: 0;
}

.initial-cf-panel h2 {
  align-items: center;
  background: #b8cbe0;
  border-bottom: 1px solid #8a8f98;
  color: #000;
  display: flex;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  font-weight: 520;
  height: 22px;
  line-height: 1;
  margin: 0;
  padding: 0 6px;
}

.initial-cf-grid-frame {
  background: #ffffff;
  height: calc(100vh - 262px);
  min-height: 390px;
  overflow: auto;
  scrollbar-gutter: stable;
}

.initial-cf-grid {
  min-width: 730px;
  table-layout: fixed;
  user-select: none;
}

.initial-cf-grid th,
.initial-cf-grid td {
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  font-weight: 520;
}

.initial-cf-grid th {
  font-weight: 500;
}

.initial-cf-grid td {
  background: rgb(235, 235, 250);
  border-color: #a5a5a5;
  height: 27px;
  padding: 0 6px;
}

.initial-cf-grid tbody tr.selected-row,
.initial-cf-grid tbody tr.selected-row:hover {
  background: transparent;
  box-shadow: none;
  color: #000000;
}

.initial-cf-grid tbody tr.selected-row td:first-child {
  box-shadow: inset 4px 0 0 #2f6faa;
}

.initial-cf-grid th:nth-child(1),
.initial-cf-grid td:nth-child(1) {
  text-align: center;
  width: 70px;
}

.initial-cf-grid th:nth-child(2),
.initial-cf-grid td:nth-child(2) {
  width: 270px;
}

.initial-cf-grid th:nth-child(3),
.initial-cf-grid td:nth-child(3) {
  width: 160px;
}

.initial-cf-grid th:nth-child(4),
.initial-cf-grid td:nth-child(4) {
  width: 120px;
}

.initial-cf-grid th:nth-child(5),
.initial-cf-grid td:nth-child(5) {
  text-align: right;
  width: 110px;
}

.initial-cf-grid td:nth-child(5) {
  background: #ffffff;
  padding: 0;
}

.initial-cf-grid tbody tr.selected-row td:nth-child(5) {
  background: #fff6a8;
  box-shadow: inset 0 0 0 1px #6a5a00;
}

.initial-cf-grid input[data-initial-cf-balance-input] {
  background: transparent;
  border: 0;
  color: #000;
  font: inherit;
  height: 100%;
  outline: none;
  padding: 0 7px;
  text-align: right;
  width: 100%;
}

.initial-cf-grid input[data-initial-cf-balance-input]:focus {
  background: #fff6a8;
  box-shadow: inset 0 0 0 1px #6a5a00;
  outline: none;
}

.initial-cf-total-box {
  box-sizing: border-box;
  grid-template-columns: 180px 110px;
  grid-template-rows: 24px;
  margin-left: auto;
  margin-right: 0;
  margin-top: 6px;
  width: 306px;
}

.initial-cf-total-box .stock-total-title {
  grid-row: 1;
}

.initial-cf-total-box input {
  grid-column: 2;
}

body.opening-balance-module {
  overflow: hidden;
}

body.opening-balance-module .app-footer {
  display: none;
}

.opening-balance-page {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  height: calc(100vh - 16px);
  margin-left: auto;
  margin-right: auto;
  max-width: 1240px;
  min-height: 0;
  width: calc(100vw - 40px);
}

.opening-balance-page .list-titlebar {
  flex: 0 0 auto;
}

.opening-balance-page form {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
}

.opening-balance-box {
  border: 1px solid #8a8f98;
  box-sizing: border-box;
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  margin-top: 8px;
  min-height: 0;
  padding: 12px;
}

.opening-balance-filter-frame {
  flex: 0 0 auto;
  margin: 0 0 12px;
  padding: 8px 10px;
}

.opening-balance-filter-grid {
  align-items: center;
  display: grid;
  gap: 24px;
  grid-template-columns: 288px 300px 280px;
  justify-content: start;
}

.opening-balance-filter-grid .field {
  align-items: center;
  column-gap: 6px;
  display: grid;
  grid-template-columns: 150px 132px;
  margin: 0;
  min-height: 30px;
}

.opening-balance-filter-grid .field label {
  align-items: center;
  background: #b8cbe0;
  border: 1px solid #8a8f98;
  border-radius: 6px;
  box-sizing: border-box;
  color: #000;
  display: flex;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  font-weight: 520;
  height: 30px;
  line-height: 1;
  padding: 0 8px;
}

.opening-balance-filter-grid select,
.opening-balance-filter-grid .micronote-date-input {
  background: #ffffff;
  border: 1px solid #8a8f98;
  border-radius: 6px;
  box-sizing: border-box;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  font-weight: 520;
  height: 30px;
  min-height: 30px;
  padding: 3px 6px;
}

.opening-balance-year-field select {
  text-align: center;
  text-align-last: center;
}

.opening-balance-filter-grid .micronote-date-input[readonly] {
  background: #e8e8f6;
  padding-right: 6px !important;
  text-align: center;
}

.opening-balance-filter-actions {
  align-items: center;
  display: flex;
  gap: 8px;
}

.opening-balance-calculate-button,
.opening-balance-clear-button {
  height: 38px;
  min-height: 38px;
  width: 130px;
}

.opening-balance-panel {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
}

.opening-balance-grid-frame {
  background: #e8e8f6;
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
}

.opening-balance-grid {
  min-width: 980px;
  width: 100%;
}

.opening-balance-grid th,
.opening-balance-grid td {
  height: 27px;
  line-height: 1.15;
}

.opening-balance-grid th:nth-child(1),
.opening-balance-grid td:nth-child(1),
.opening-balance-grid th:nth-child(3),
.opening-balance-grid td:nth-child(3) {
  text-align: center;
  width: 74px;
}

.opening-balance-grid th:nth-child(2),
.opening-balance-grid td:nth-child(2),
.opening-balance-grid th:nth-child(4),
.opening-balance-grid td:nth-child(4) {
  width: 280px;
}

.opening-balance-grid th:nth-child(5),
.opening-balance-grid td:nth-child(5),
.opening-balance-grid th:nth-child(6),
.opening-balance-grid td:nth-child(6) {
  text-align: right;
  width: 126px;
}

.opening-balance-grid input {
  background: #fffbe6;
  border: 0;
  box-sizing: border-box;
  font: inherit;
  font-weight: 520;
  height: 100%;
  padding: 0 6px;
  text-align: right;
  width: 100%;
}

.opening-balance-grid input:focus {
  background: #fff59d;
  outline: 1px dotted #333;
  outline-offset: -3px;
}

.opening-balance-totals {
  align-items: center;
  background: #e8e8f6;
  border-top: 1px solid #8a8f98;
  display: flex;
  flex: 0 0 auto;
  gap: 8px;
  justify-content: flex-end;
  padding: 8px;
}

.opening-balance-total-box {
  box-sizing: border-box;
  grid-template-columns: 110px 116px;
  grid-template-rows: 24px;
  width: 234px;
}

.opening-balance-total-box input {
  grid-column: 2;
  height: 22px;
  min-height: 22px;
}

.main-menu > .menu-section[open] {
  grid-column: auto;
}

.stock-purchase-stats-page.stock-movements-page {
  display: grid;
  gap: 6px;
  grid-template-rows: auto auto minmax(0, 1fr) 124px;
  height: calc(100vh - 24px);
  max-width: none;
  overflow: hidden;
  padding-bottom: 8px;
  padding-top: 4px;
}

.stock-purchase-stats-page .purchase-stats-main-panel.stock-movements-panel,
.stock-purchase-stats-page .purchase-stats-detail-panel.stock-movements-panel {
  display: grid;
  grid-template-rows: 22px minmax(0, 1fr);
  min-height: 0;
}

.stock-purchase-stats-page .purchase-stats-main-panel.stock-movements-panel {
  height: auto;
}

.stock-purchase-stats-page .purchase-stats-detail-panel.stock-movements-panel {
  height: 124px;
}

.stock-purchase-stats-page .purchase-stats-grid-frame.stock-movements-grid-frame {
  height: auto;
  min-height: 0;
  padding-right: 18px;
  scrollbar-gutter: stable;
}

.stock-purchase-stats-page .module-header {
  margin-bottom: 6px;
  padding: 7px 10px;
}

.stock-purchase-stats-page .module-title-identity {
  gap: 10px;
  min-width: 0;
}

.stock-purchase-stats-page .module-title-logo {
  flex-basis: 38px;
  height: 38px;
}

.stock-purchase-stats-page .module-title-identity img {
  height: 38px;
  width: 38px;
}

.stock-purchase-stats-page .module-header h1 {
  font-size: 20px;
  line-height: 1.1;
}

.stock-purchase-stats-page .module-header p:last-child {
  font-size: 12px;
  margin-top: 2px;
}

.purchase-stats-actions {
  flex-wrap: nowrap;
}

.purchase-stats-actions .purchase-stats-records {
  margin-left: 0;
  margin-right: 2px;
}

.purchase-stats-actions .button,
.purchase-stats-actions button {
  max-width: none;
  min-width: 140px;
  width: 140px;
}

.stock-purchase-stats-page.supplier-form-page.data-form-skin .top-actions.purchase-stats-actions .button,
.stock-purchase-stats-page.supplier-form-page.data-form-skin .top-actions.purchase-stats-actions button {
  max-width: none;
  min-width: 140px;
  width: 140px;
}

.stock-purchase-stats-page .purchase-stats-records {
  margin-left: 0;
  margin-right: 2px;
}

.stock-purchase-stats-page .stock-purchase-stats-filters .form-frame,
.stock-purchase-stats-page .purchase-stats-main-panel.stock-movements-panel,
.stock-purchase-stats-page .purchase-stats-detail-panel.stock-movements-panel {
  border-radius: 8px;
  overflow: hidden;
}

.stock-purchase-stats-page .stock-purchase-stats-filters .form-frame {
  border: 1px solid #8799ad;
}

.stock-purchase-stats-page .purchase-stats-grid-frame.stock-movements-grid-frame,
.stock-purchase-stats-page .purchase-stats-detail-frame {
  border-radius: 0 0 8px 8px;
}

.stock-purchase-stats-page .purchase-stats-col-article {
  width: 150px;
}

.stock-purchase-stats-page .purchase-stats-col-description {
  width: 290px;
}

.stock-purchase-stats-page .purchase-stats-col-unit {
  width: 70px;
}

.stock-purchase-stats-page .purchase-stats-col-metric {
  width: 98px;
}


.stock-purchase-stats-page .purchase-stats-col-date {
  width: 100px;
}

.stock-purchase-stats-page .purchase-stats-col-share {
  width: 90px;
}

.stock-purchase-stats-page .purchase-stats-grid th:nth-child(2),
.stock-purchase-stats-page .purchase-stats-grid td:nth-child(2) {
  text-align: left;
  width: 290px;
}

.stock-purchase-stats-page .purchase-stats-grid th:nth-child(1),
.stock-purchase-stats-page .purchase-stats-grid td:nth-child(1) {
  text-align: left;
}

.stock-purchase-stats-page .purchase-stats-detail-col-code {
  width: 100px;
}

.stock-purchase-stats-page .purchase-stats-detail-col-name {
  width: 320px;
}

.stock-purchase-stats-page .purchase-stats-detail-col-number {
  width: 100px;
}

.stock-purchase-stats-page .purchase-stats-detail-col-date {
  width: 120px;
}

.stock-purchase-stats-page .purchase-stats-detail-grid th:nth-child(1),
.stock-purchase-stats-page .purchase-stats-detail-grid td:nth-child(1) {
  width: 100px !important;
}

.stock-purchase-stats-page .purchase-stats-detail-grid th:nth-child(2),
.stock-purchase-stats-page .purchase-stats-detail-grid td:nth-child(2) {
  width: 320px !important;
}

.stock-purchase-stats-page .purchase-stats-detail-grid th:nth-child(n+3):nth-child(-n+6),
.stock-purchase-stats-page .purchase-stats-detail-grid td:nth-child(n+3):nth-child(-n+6) {
  width: 100px !important;
}

.stock-purchase-stats-page .purchase-stats-detail-grid th:nth-child(7),
.stock-purchase-stats-page .purchase-stats-detail-grid td:nth-child(7) {
  width: 120px !important;
}

.store-movement-summary-module .page-container {
  max-width: none;
  overflow: hidden;
  padding: 0 12px 12px;
}

body.store-movement-summary-module {
  overflow: hidden;
}

body.store-movement-summary-module .app-footer {
  display: none;
}

.store-movement-summary-page.stock-movements-page {
  display: flex;
  flex-direction: column;
  gap: 4px;
  height: calc(100vh - 12px);
  max-width: none;
  min-height: 0;
}

.store-movement-summary-page .module-header {
  margin-bottom: 11px;
  padding: 5px 10px;
}

.store-movement-summary-page .module-title-identity {
  gap: 10px;
  min-width: 0;
}

.store-movement-summary-page .module-title-logo {
  flex-basis: 36px;
  height: 36px;
}

.store-movement-summary-page .module-title-identity img {
  height: 36px;
  width: 36px;
}

.store-movement-summary-page .module-header h1 {
  font-size: 20px;
  line-height: 1.1;
}

.store-movement-summary-page .module-header p:last-child {
  font-size: 12px;
  margin-top: 2px;
}

.store-summary-actions {
  flex-wrap: nowrap;
}

.store-summary-actions .button,
.store-summary-actions button {
  max-width: none;
  min-width: 130px;
  width: 130px;
}

.store-summary-actions .store-summary-records {
  margin-left: 0;
  margin-right: 4px;
}

.store-summary-filters {
  border-radius: 8px;
  margin-bottom: 0;
  overflow: hidden;
}

.store-summary-filters .form-frame,
.store-summary-panel.stock-movements-panel {
  border: 1px solid #8799ad;
  border-radius: 8px;
  overflow: hidden;
}

.store-summary-filters fieldset.form-frame {
  appearance: none;
  border-radius: 8px !important;
}

.store-summary-filter-row {
  align-items: center;
  display: grid;
  grid-template-columns: 252px 1fr;
  min-height: 38px;
}

.store-summary-filter-row .field {
  align-items: center;
  display: grid;
  grid-template-columns: 110px 140px;
}

.store-summary-filter-row label,
.store-summary-filter-row select {
  font-size: 13px;
  font-weight: 520;
}

.store-summary-filter-row select {
  text-align: center;
}

.store-summary-panel.stock-movements-panel {
  display: grid;
  grid-template-rows: 22px minmax(0, 1fr);
  min-height: 0;
  min-width: 0;
}

.store-summary-revenue-panel.stock-movements-panel {
  flex: 0 0 230px;
}

.store-summary-cost-panel.stock-movements-panel {
  flex: 1 1 auto;
}

.store-summary-panel h2 {
  background: #b8cbe0;
  color: #061d45;
  font-size: 13px;
  font-weight: 520;
  line-height: 22px;
  margin: 0;
  padding: 0 8px;
}

.store-summary-grid-frame.stock-movements-grid-frame {
  border: 0;
  border-radius: 0 0 8px 8px;
  height: auto;
  min-height: 0;
  overflow: auto;
  padding-right: 18px;
}

.store-summary-grid {
  table-layout: fixed;
}

.store-summary-grid th {
  height: 24px;
}

.store-summary-grid td {
  height: 22px;
}

.store-summary-col-account {
  width: 42px;
}

.store-summary-col-description {
  width: 200px;
}

.store-summary-col-money {
  width: 110px;
}

.store-summary-col-percent {
  width: 72px;
}

.store-summary-col-gap {
  width: 4px;
}

.store-summary-grid th:nth-child(1),
.store-summary-grid td:nth-child(1) {
  text-align: center;
}

.store-summary-grid th:nth-child(2),
.store-summary-grid td:nth-child(2) {
  text-align: left;
}

.store-summary-grid th:nth-child(n+3),
.store-summary-grid td:nth-child(n+3) {
  text-align: right;
}

.store-summary-grid td:nth-child(1),
.store-summary-grid td:nth-child(2) {
  background: #ffffb3;
}

.store-summary-grid .store-summary-total-row td {
  background: #ffffb3;
  font-weight: 650;
}

.store-summary-grid tbody tr.selected td,
.store-summary-grid tbody tr.selected-row td {
  background: #b8d2ee;
}

.store-summary-grid tbody tr.selected td:first-child,
.store-summary-grid tbody tr.selected-row td:first-child {
  box-shadow: inset 4px 0 0 #2f6faa;
}

.store-summary-grid tbody tr.store-summary-separator {
  height: 4px;
}

.store-summary-grid .store-summary-separator td {
  background: #ffffff;
  border-bottom: 0;
  border-top: 0;
  height: 4px;
  line-height: 4px;
  padding: 0;
}

.accounting-statement-module .page-container {
  max-width: none;
  overflow: hidden;
  padding: 8px 12px 12px;
}

body.accounting-statement-module {
  overflow: hidden;
}

body.accounting-statement-module .app-footer {
  display: none;
}

.accounting-statement-page.stock-movements-page {
  display: flex;
  flex-direction: column;
  gap: 4px;
  height: calc(100vh - 20px);
  max-width: none;
  min-height: 0;
  padding-top: 2px;
}

.accounting-statement-page .module-header {
  flex: 0 0 auto;
  margin-bottom: 2px;
  padding: 5px 10px;
}

.accounting-statement-page .module-title-logo {
  flex: 0 0 72px;
  height: 40px;
  width: 72px;
}

.accounting-statement-page .module-title-identity img {
  height: 40px;
  object-fit: contain;
  width: 72px;
}

.accounting-statement-page .module-header h1 {
  font-size: 20px;
  line-height: 1.1;
}

.accounting-statement-page .module-header p:last-child {
  font-size: 12px;
  margin-top: 2px;
  white-space: nowrap;
}

.accounting-statement-page .module-title-identity > div {
  min-width: 260px;
}

.accounting-statement-actions {
  flex-wrap: nowrap;
}

.accounting-statement-actions .button {
  min-width: 150px;
  width: 150px;
}

.accounting-statement-page.supplier-form-page.data-form-skin .top-actions.accounting-statement-actions .button,
.accounting-statement-page.supplier-form-page.data-form-skin .top-actions.accounting-statement-actions button {
  min-width: 150px;
  width: 150px;
}

.accounting-statement-actions .button[data-accounting-statement-action="article"] {
  min-width: 180px;
  width: 180px;
}

.accounting-statement-page.supplier-form-page.data-form-skin .top-actions.accounting-statement-actions .button[data-accounting-statement-action="article"],
.accounting-statement-page.supplier-form-page.data-form-skin .top-actions.accounting-statement-actions button[data-accounting-statement-action="article"] {
  min-width: 180px;
  width: 180px;
}

.accounting-statement-records {
  margin-right: 4px;
}

.accounting-statement-filters {
  border-radius: 8px;
  flex: 0 0 auto;
  margin-bottom: 0;
  margin-top: 0;
  overflow: hidden;
  position: relative;
  z-index: 2;
}

.accounting-statement-filters .form-frame,
.accounting-statement-panel.stock-movements-panel {
  border: 1px solid #8799ad;
  border-radius: 8px;
  overflow: hidden;
}

.accounting-statement-filters fieldset.form-frame {
  appearance: none;
  border-radius: 8px !important;
}

.accounting-statement-filter-row {
  align-items: center;
  display: grid;
  gap: 14px;
  grid-template-columns: 486px 230px 230px 100px;
  min-height: 42px;
}

.customer-supplier-filter-row {
  grid-template-columns: 570px 230px 230px 100px;
}

.accounting-statement-filter-row .field {
  align-items: center;
  display: grid;
  gap: 6px;
}

.accounting-statement-account-field {
  display: flex !important;
  flex-wrap: nowrap;
  gap: 6px;
  min-width: 0;
}

.accounting-statement-account-field label {
  flex: 0 0 90px;
}

.accounting-statement-account-field input[data-statement-account-code] {
  flex: 0 0 74px;
  text-align: center;
  width: 74px;
}

.accounting-statement-account-field input[data-statement-account-description] {
  flex: 0 0 310px;
  min-width: 0;
  width: 310px;
}

.customer-supplier-party-field label {
  flex-basis: 76px;
}

.customer-supplier-party-field input[data-statement-party-type-display] {
  flex: 0 0 42px;
  text-align: center;
  width: 42px;
}

.customer-supplier-party-field input[data-statement-account-code] {
  flex-basis: 74px;
  width: 74px;
}

.customer-supplier-party-field input[data-statement-account-description] {
  flex: 0 0 360px;
  width: 360px;
}

.accounting-statement-date-field {
  grid-template-columns: 92px 130px;
}

.accounting-statement-filter-row label,
.accounting-statement-filter-row input {
  font-size: 13px;
  font-weight: 520;
}

.accounting-statement-panel.stock-movements-panel {
  display: grid;
  flex: 1 1 auto;
  grid-template-rows: minmax(0, 1fr);
  margin-top: 2px;
  min-height: 0;
  position: relative;
  z-index: 1;
}

.accounting-statement-grid-frame.stock-movements-grid-frame {
  border: 0;
  border-radius: 8px 8px 0 0;
  height: auto;
  min-height: 0;
  overflow: auto;
  padding-right: 18px;
}

.accounting-statement-grid {
  table-layout: fixed;
  min-width: 1410px;
}

.accounting-statement-grid th {
  height: 24px;
}

.accounting-statement-grid td {
  height: 27px;
}

.accounting-statement-grid tbody::after {
  content: "";
  display: table-row;
  height: 38px;
}

.accounting-statement-grid th:nth-child(1),
.accounting-statement-grid td:nth-child(1) {
  width: 100px;
}

.accounting-statement-grid th:nth-child(2),
.accounting-statement-grid td:nth-child(2) {
  width: 110px;
}

.accounting-statement-grid th:nth-child(3),
.accounting-statement-grid td:nth-child(3) {
  width: 140px;
}

.accounting-statement-grid th:nth-child(4),
.accounting-statement-grid td:nth-child(4),
.accounting-statement-grid th:nth-child(6),
.accounting-statement-grid td:nth-child(6) {
  text-align: center;
  width: 80px;
}

.accounting-statement-grid th:nth-child(5),
.accounting-statement-grid td:nth-child(5) {
  text-align: left;
  width: 200px;
}

.accounting-statement-grid th:nth-child(7),
.accounting-statement-grid td:nth-child(7) {
  text-align: left;
  width: 300px;
}

.accounting-statement-grid th:nth-child(8),
.accounting-statement-grid td:nth-child(8),
.accounting-statement-grid th:nth-child(9),
.accounting-statement-grid td:nth-child(9),
.accounting-statement-grid th:nth-child(10),
.accounting-statement-grid td:nth-child(10) {
  text-align: right;
  width: 110px;
}

.accounting-statement-grid th:nth-child(11),
.accounting-statement-grid td:nth-child(11) {
  text-align: center;
  width: 70px;
}

.accounting-statement-total-row {
  background: #c7d7e8;
  position: sticky;
  bottom: 0;
  z-index: 3;
}

.accounting-statement-total-row td {
  border-bottom: 1px solid #7f92a8;
  border-top: 1px solid #8da3ba;
  height: 38px;
  padding: 4px 0;
}

.accounting-statement-total-row input {
  font-size: 16px;
  font-weight: 520;
  height: 30px;
}

.accounting-statement-total-row input {
  background: #eeeeff;
  border: 1px solid #8a8f98;
  box-sizing: border-box;
  text-align: right;
  transform: translateX(-6px);
  width: 100%;
}

.accounting-statement-total-row td:last-child input {
  text-align: center;
}

.accounting-statement-total-label {
  font-size: 16px;
  font-weight: 520;
  padding-right: 10px;
  text-align: right !important;
}

.accounting-statement-choice,
.accounting-statement-account-lookup {
  align-items: center;
  background: rgba(10, 18, 30, 0.18);
  bottom: 0;
  display: flex;
  justify-content: center;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 1000;
}

.accounting-statement-choice[hidden],
.accounting-statement-account-lookup[hidden] {
  display: none;
}

.accounting-statement-choice-dialog,
.accounting-statement-account-lookup-dialog {
  background: #ffffff;
  border: 1px solid #6f7784;
  box-shadow: 0 16px 35px rgba(25, 35, 55, 0.25);
  padding: 16px;
}

.accounting-statement-choice-dialog {
  width: 680px;
}

.customer-supplier-choice-dialog {
  width: 770px;
}

.accounting-statement-choice-frame {
  background: #eeeeff;
  border: 1px solid #8a8f98;
  display: grid;
  gap: 12px;
  margin-top: 14px;
  padding: 24px 20px;
}

.customer-supplier-choice-frame {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 16px 12px;
  --party-choice-label-width: 120px;
}

.accounting-statement-choice-frame .field:not(.customer-supplier-choice-code):not(.customer-supplier-choice-wide):not(.customer-supplier-choice-city):not(.customer-supplier-choice-tax):not(.customer-supplier-choice-dates) {
  align-items: center;
  display: grid;
  gap: 6px;
}

.accounting-statement-choice-frame .statement-choice-account {
  align-items: center;
  display: grid;
  grid-template-columns: 90px 94px minmax(0, 1fr) 28px;
}

.accounting-statement-choice-frame .customer-supplier-choice-code {
  align-items: center;
  display: flex;
  gap: 6px;
  width: 100%;
}

.customer-supplier-choice-code [data-choice-party-type="C"] {
  margin-left: auto;
}

.customer-supplier-choice-code [data-choice-party-type="F"] {
  margin-left: 4px;
}

.customer-supplier-choice-code > label {
  flex: 0 0 var(--party-choice-label-width);
  justify-self: stretch;
  width: var(--party-choice-label-width);
}

.customer-supplier-choice-code input[data-choice-account-code] {
  flex: 0 0 100px;
  width: 100px;
}

.customer-supplier-choice-wide {
  align-items: center;
  display: flex;
  gap: 6px;
  width: 100%;
}

.customer-supplier-choice-wide > label {
  flex: 0 0 var(--party-choice-label-width);
  width: var(--party-choice-label-width);
}

.customer-supplier-choice-wide > input {
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
}

.customer-supplier-choice-city {
  align-items: center;
  display: flex;
  gap: 6px;
  width: 100%;
}

.customer-supplier-choice-city > label {
  flex: 0 0 var(--party-choice-label-width);
  width: var(--party-choice-label-width);
}

.customer-supplier-choice-city input[data-choice-party-city] {
  flex: 1 1 auto;
  min-width: 0;
  width: auto;
}

.customer-supplier-choice-city input[data-choice-party-province] {
  flex: 0 0 90px;
  margin-left: 14px;
  min-width: 0;
  width: 90px;
}

.customer-supplier-choice-tax {
  align-items: center;
  display: flex !important;
  gap: 6px;
  width: 100%;
}

.customer-supplier-choice-tax-code-label {
  flex: 0 0 var(--party-choice-label-width) !important;
  flex-shrink: 0;
  white-space: nowrap;
  width: var(--party-choice-label-width) !important;
}

.customer-supplier-choice-tax-code-input {
  flex: 0 0 250px;
  min-width: 0;
  width: 250px;
}

.customer-supplier-choice-vat-label {
  flex: 0 0 var(--party-choice-label-width);
  margin-left: 14px;
  width: var(--party-choice-label-width);
}

.customer-supplier-choice-vat-input {
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
}

.accounting-statement-choice-frame .statement-choice-date {
  grid-template-columns: 90px 140px;
}

.customer-supplier-choice-dates {
  align-items: center;
  display: flex;
  gap: 0;
  width: 100%;
}

.customer-supplier-choice-dates .micronote-date-control {
  flex: 0 0 150px;
  width: 150px;
}

.customer-supplier-choice-dates .customer-supplier-choice-date-to-label {
  margin-left: auto;
}

.customer-supplier-choice-dates .customer-supplier-choice-date-to-control {
  margin-left: 6px;
}

.customer-supplier-choice-dates > label {
  flex: 0 0 var(--party-choice-label-width);
  justify-self: stretch;
  width: var(--party-choice-label-width);
}

.accounting-statement-choice-frame label,
.accounting-statement-account-lookup-footer label {
  align-items: center;
  background: #b8cbe0;
  border: 1px solid #8a8f98;
  border-radius: 6px;
  box-sizing: border-box;
  display: flex;
  font-size: 13px;
  font-weight: 520;
  height: 27px;
  min-height: 27px;
  padding: 0 8px;
}

.accounting-statement-choice-frame input,
.accounting-statement-account-lookup-footer input,
.accounting-statement-account-lookup-footer select {
  border: 1px solid #8a8f98;
  box-sizing: border-box;
  font-size: 13px;
  font-weight: 520;
  height: 27px;
}

.customer-supplier-choice-frame input[readonly] {
  background: rgb(230, 230, 240);
  color: #000000 !important;
  opacity: 1;
}

.customer-supplier-choice-code .button {
  height: 28px;
  min-height: 28px;
  width: 86px;
}

.customer-supplier-choice-code .button.is-selected {
  background: #ff8b58;
  border-color: #ce5c2d;
  color: #000000;
}

.statement-choice-account input[data-choice-account-code] {
  text-align: center;
}

.statement-choice-account .lookup-button {
  align-self: center;
  height: 30px;
  min-height: 30px;
  min-width: 28px;
  width: 28px;
}

.accounting-statement-choice-actions,
.accounting-statement-account-lookup-footer {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  margin-top: 8px;
}

.accounting-statement-account-lookup-dialog {
  width: 1110px;
}

.accounting-statement-account-lookup-body {
  display: grid;
  gap: 8px;
  grid-template-columns: 1fr 118px;
  margin-top: 12px;
}

.accounting-statement-account-grid-frame {
  height: 390px;
  overflow: auto;
}

.accounting-statement-account-grid {
  max-width: 914px;
  min-width: 914px;
  table-layout: fixed;
  width: 914px;
}

.accounting-statement-account-grid th,
.accounting-statement-account-grid td {
  height: 27px;
}

.accounting-statement-account-grid th:nth-child(1),
.accounting-statement-account-grid td:nth-child(1),
.accounting-statement-account-grid th:nth-child(3),
.accounting-statement-account-grid td:nth-child(3),
.accounting-statement-account-grid th:nth-child(5),
.accounting-statement-account-grid td:nth-child(5) {
  text-align: center;
  width: 90px;
}

.accounting-statement-account-grid th:nth-child(2),
.accounting-statement-account-grid td:nth-child(2),
.accounting-statement-account-grid th:nth-child(4),
.accounting-statement-account-grid td:nth-child(4) {
  width: 332px;
}

.accounting-statement-account-type-buttons {
  display: grid;
  gap: 7px;
  grid-auto-rows: 34px;
  align-content: start;
}

.accounting-statement-account-type-buttons button {
  background: #b8cbe0;
  border: 1px solid #8a8f98;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 520;
  width: 118px;
}

.accounting-statement-account-type-buttons button.is-selected {
  background: #4f66a6;
  border-color: #34508f;
  color: #ffffff;
}

.accounting-statement-account-type-buttons button:focus-visible {
  outline: 2px solid #1f6fff;
  outline-offset: 1px;
}

.accounting-statement-account-lookup-footer {
  align-items: center;
  justify-content: flex-start;
}

.accounting-statement-account-lookup-footer select {
  width: 260px;
}

.accounting-statement-account-lookup-footer input {
  width: 220px;
}

.accounting-statement-account-lookup-footer button {
  width: 118px;
}

.accounting-statement-lookup-records {
  margin-left: auto;
}

/* Caricamento FE acquisti */
.electronic-invoice-upload-module .page-container {
  max-width: none;
}

.electronic-invoice-upload-module .app-footer {
  display: none;
}

.electronic-invoice-upload-page {
  display: flex;
  gap: 10px;
  padding-top: 10px;
}

.electronic-invoice-upload-page .list-titlebar {
  box-sizing: border-box;
  height: 66px;
  margin-bottom: 0;
  margin-top: 0;
  min-height: 66px;
  padding-bottom: 6px;
  padding-top: 6px;
}

.electronic-invoice-upload-page .list-title-identity img {
  border-radius: 0;
  height: 50px;
  object-fit: contain;
  width: auto;
}

.electronic-invoice-upload-actions .list-title-button {
  min-width: 150px;
}

.electronic-invoice-upload-form {
  flex: 1 1 auto;
  min-height: 0;
}

.electronic-invoice-upload-toolbar {
  align-items: center;
  box-sizing: border-box;
  display: grid !important;
  flex-wrap: nowrap;
  gap: 10px;
  grid-template-columns: minmax(0, 1fr) 160px 140px 110px;
  height: 66px;
  margin: 0;
  padding-bottom: 6px;
  padding-top: 6px;
}

.electronic-invoice-upload-toolbar .list-title-button {
  align-items: center;
  box-sizing: border-box;
  display: inline-flex;
  height: 34px;
  justify-content: center;
  min-width: 0;
  white-space: nowrap;
  width: 100%;
}

.electronic-invoice-upload-path-field {
  grid-template-columns: 190px minmax(0, 1fr);
  min-width: 0;
}

.electronic-invoice-upload-path-field label {
  border-radius: 6px;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  font-weight: 520;
  height: 30px;
  min-height: 30px;
  white-space: nowrap;
}

.electronic-invoice-upload-path-field input {
  background: #e8e9f8;
  min-width: 0;
}

.electronic-invoice-upload-frame {
  display: grid;
  gap: 10px;
  grid-template-rows: auto 34px minmax(0, 1fr);
  min-height: 0;
  padding: 10px 12px;
}


.electronic-invoice-upload-progress {
  align-items: center;
  background: #d5e1ee;
  border: 1px solid #9aa8ba;
  border-radius: 6px;
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(0, 1fr) 230px;
  min-height: 34px;
  padding: 4px 8px;
}

.electronic-invoice-upload-progress[hidden] {
  display: none;
}

.electronic-invoice-upload-progress-bar {
  background: #e8e9f8;
  border: 1px solid #8a8f98;
  border-radius: 4px;
  height: 16px;
  overflow: hidden;
}

.electronic-invoice-upload-progress-bar span {
  background: #4f68ad;
  display: block;
  height: 100%;
  transition: width 120ms ease-out;
  width: 0%;
}

.electronic-invoice-upload-progress-text {
  color: #0f2236;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  font-weight: 520;
  overflow: hidden;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.electronic-invoice-upload-body {
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(0, 1fr) 320px;
  min-height: 0;
}

.electronic-invoice-upload-path-row {
  align-items: center;
  display: grid;
  gap: 6px;
  grid-template-columns: 130px minmax(360px, 1fr) 130px;
}

.electronic-invoice-upload-path-row label {
  align-items: center;
  background: #b8cbe0;
  border: 1px solid #9aa8ba;
  border-radius: 6px;
  display: flex;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  font-weight: 520;
  height: 30px;
  padding: 0 10px;
}

.electronic-invoice-upload-path-row input {
  background: #e8e9f8;
  border: 1px solid #8a8f98;
  border-radius: 6px;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  font-weight: 520;
  height: 30px;
  padding: 0 10px;
}

.electronic-invoice-upload-summary {
  display: grid;
  gap: 8px;
  align-content: start;
  grid-template-columns: 1fr;
}

.electronic-invoice-upload-summary div {
  align-items: center;
  background: #d5e1ee;
  border: 1px solid #9aa8ba;
  border-radius: 6px;
  display: grid;
  grid-template-columns: 1fr 88px;
  min-height: 32px;
  padding: 0 8px;
}

.electronic-invoice-upload-summary span,
.electronic-invoice-upload-summary strong {
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  font-weight: 520;
}

.electronic-invoice-upload-summary strong {
  background: #e8e9f8;
  border: 1px solid #8a8f98;
  border-radius: 4px;
  padding: 3px 6px;
  text-align: right;
}

.electronic-invoice-upload-grid-frame {
  min-height: 0;
  overflow: auto;
}

.electronic-invoice-upload-grid {
  min-width: 1040px;
  table-layout: fixed;
}

.electronic-invoice-upload-grid th,
.electronic-invoice-upload-grid td {
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  height: 27px;
}

.electronic-invoice-upload-grid th:nth-child(1) { width: 270px; }
.electronic-invoice-upload-grid th:nth-child(2) { width: 70px; }
.electronic-invoice-upload-grid th:nth-child(3) { width: 100px; }
.electronic-invoice-upload-grid th:nth-child(4) { width: 100px; }
.electronic-invoice-upload-grid th:nth-child(5) { width: 460px; }

.electronic-invoice-upload-grid td:nth-child(2),
.electronic-invoice-upload-grid td:nth-child(3),
.electronic-invoice-upload-grid td:nth-child(4) {
  text-align: center;
}

.electronic-invoice-upload-grid .empty-row td {
  color: #4c5a6b;
  text-align: center;
}

.electronic-invoice-upload-grid .fe-upload-uploaded td {
  background: #e8f5eb;
}

.electronic-invoice-upload-grid .fe-upload-existing td {
  background: #fff9d7;
}

.electronic-invoice-upload-grid .fe-upload-skipped td,
.electronic-invoice-upload-grid .fe-upload-error td {
  background: #fde7e5;
}



.bank-movements-module .page-container {
  height: calc(100vh - 20px);
  max-width: none;
  overflow: hidden;
  padding: 0 18px;
}

.bank-movements-module .page-container > main {
  height: 100%;
  min-height: 0;
}

body.bank-movements-module {
  overflow: hidden;
}

body.bank-movements-module .app-footer {
  display: none;
}

.bank-movements-page {
  display: grid;
  gap: 6px;
  grid-template-rows: auto auto minmax(0, 1fr);
  height: 100%;
  min-height: 0;
  overflow: hidden;
  padding: 10px 0 6px;
}

.bank-movements-page .module-header {
  height: 66px;
  margin-bottom: 0;
  padding-bottom: 6px;
  padding-top: 6px;
}

.bank-movements-actions {
  flex-wrap: nowrap;
  gap: 8px;
}

.bank-movements-page.supplier-form-page.data-form-skin .top-actions.bank-movements-actions .button,
.bank-movements-page.supplier-form-page.data-form-skin .top-actions.bank-movements-actions button {
  flex: 0 0 auto;
  min-width: 138px;
  width: 138px;
}

.bank-movements-page.supplier-form-page.data-form-skin .top-actions.bank-movements-actions .bank-article-button,
.bank-movements-page.supplier-form-page.data-form-skin .top-actions.bank-movements-actions button.bank-article-button {
  min-width: 200px;
  width: 200px;
  white-space: nowrap;
}

.bank-movements-page [data-bank-delete-form] {
  display: none;
}

.bank-movements-actions .bank-movements-records {
  margin-left: 0;
  margin-right: 0;
}

.bank-movements-filter-row {
  align-items: center;
  display: grid;
  gap: 24px;
  grid-template-columns: 168px 210px 380px 380px;
}

.bank-movements-filter-row .field {
  grid-template-columns: 66px minmax(0, 1fr);
}

.bank-account-filter,
.bank-cause-filter {
  min-width: 0;
}

.bank-movements-grid-frame {
  background: #ffffff;
  border: 0;
  border-radius: 0;
  min-height: 0;
  overflow: auto;
  scrollbar-gutter: stable;
}

.bank-movements-grid {
  min-width: 1340px;
  table-layout: fixed;
  user-select: none;
}

.bank-movements-grid th,
.bank-movements-grid td {
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  height: 27px;
  padding: 4px 6px;
}

.bank-movements-grid td {
  box-sizing: border-box;
  font-weight: 520;
  line-height: 18px;
}

.bank-movements-grid th {
  font-weight: 400;
}

.bank-movements-grid tbody tr {
  height: 27px;
}

.bank-movements-grid th:nth-child(1),
.bank-movements-grid td:nth-child(1) {
  text-align: center;
  width: 80px;
}

.bank-movements-grid th:nth-child(2),
.bank-movements-grid td:nth-child(2) {
  text-align: center;
  width: 100px;
}

.bank-movements-grid th:nth-child(3),
.bank-movements-grid td:nth-child(3) {
  text-align: center;
  width: 110px;
}

.bank-movements-grid th:nth-child(4),
.bank-movements-grid td:nth-child(4) {
  text-align: center;
  width: 80px;
}

.bank-movements-grid th:nth-child(5),
.bank-movements-grid td:nth-child(5) {
  text-align: left;
  width: 280px;
}

.bank-movements-grid th:nth-child(6),
.bank-movements-grid td:nth-child(6) {
  text-align: center;
  width: 80px;
}

.bank-movements-grid th:nth-child(7),
.bank-movements-grid td:nth-child(7) {
  text-align: left;
  width: 300px;
}

.bank-movements-grid th:nth-child(8),
.bank-movements-grid td:nth-child(8) {
  text-align: right;
  width: 110px;
}

.bank-movements-grid th:nth-child(9),
.bank-movements-grid td:nth-child(9) {
  text-align: left;
  width: 200px;
}

.bank-movements-grid tbody tr.selected td,
.bank-movements-grid tbody tr.selected-row td {
  background: #bdd2e4;
}

.bank-movements-grid tbody tr.selected td:first-child,
.bank-movements-grid tbody tr.selected-row td:first-child {
  background: #9dbadd;
}










.accounting-article-modal {
  height: min(570px, calc(100vh - 34px));
  overflow: auto;
  width: min(1180px, calc(100vw - 24px));
}

.accounting-article-modal iframe {
  min-width: 1140px;
}

.accounting-article-detail-body {
  background: transparent;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  font-weight: 520;
  margin: 0;
  overflow: hidden;
}

.accounting-article-detail-page {
  background: #ffffff;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  font-weight: 520;
  border: 1px solid #666d78;
  box-sizing: border-box;
  display: grid;
  grid-template-rows: 24px minmax(0, 1fr) 48px;
  gap: 14px;
  height: 100vh;
  min-height: 0;
  padding: 14px 16px 10px;
}

.accounting-article-detail-title {
  align-items: center;
  background: #5b9bdd;
  color: #071f3f;
  display: flex;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  padding: 0 22px;
}

.accounting-article-detail-panel {
  background: #e7e7f7;
  border: 1px solid #7f8794;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  min-height: 0;
  padding: 24px 20px 38px;
}

.accounting-article-detail-fields {
  align-items: center;
  display: grid;
  grid-template-columns: 128px 100px 70px 136px 72px 380px 82px 112px;
  gap: 12px 4px;
  margin-bottom: 22px;
}

.accounting-article-detail-fields label {
  align-items: center;
  background: #b2c8dc;
  border-radius: 0;
  box-sizing: border-box;
  color: #071f3f;
  display: flex;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  font-weight: 520;
  height: 22px;
  padding: 0 7px;
}

.accounting-article-detail-fields input {
  background: #eeeefb;
  border: 1px solid #7f8794;
  box-sizing: border-box;
  color: #000000;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  font-weight: 520;
  height: 22px;
  padding: 2px 6px;
}

.accounting-article-detail-fields .code,
.accounting-article-detail-fields .year {
  text-align: center;
}

.accounting-article-detail-fields .amount {
  text-align: right;
}


.accounting-article-detail-fields .document {
  width: 128px;
}
.accounting-article-detail-fields .description {
  grid-column: span 2;
}

.accounting-article-detail-fields .date {
  grid-column: 2 / 4;
  text-align: center;
}

.accounting-article-detail-fields label:nth-of-type(3) {
  grid-column: 4;
}

.accounting-article-detail-fields label:nth-of-type(4) {
  grid-column: 1;
}

.accounting-article-detail-fields label:nth-of-type(5) {
  grid-column: 4;
}

.accounting-article-detail-fields label:nth-of-type(6) {
  grid-column: 7;
}

.accounting-article-detail-grid-frame {
  min-height: 0;
  overflow: hidden;
}

.accounting-article-detail-grid {
  border-collapse: collapse;
  table-layout: fixed;
  width: 100%;
}

.accounting-article-detail-grid th,
.accounting-article-detail-grid td {
  border: 1px solid #9aa0a8;
  box-sizing: border-box;
  font-family: "Microsoft Sans Serif", "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  height: 26px;
  padding: 3px 7px;
}

.accounting-article-detail-grid th {
  background: #afc4e4;
  font-weight: 520;
}

.accounting-article-detail-grid td {
  background: #ffffff;
  font-weight: 520;
}

.accounting-article-detail-grid th:nth-child(1),
.accounting-article-detail-grid td:nth-child(1),
.accounting-article-detail-grid th:nth-child(5),
.accounting-article-detail-grid td:nth-child(5) {
  text-align: center;
  width: 90px;
}

.accounting-article-detail-grid th:nth-child(2),
.accounting-article-detail-grid td:nth-child(2),
.accounting-article-detail-grid th:nth-child(6),
.accounting-article-detail-grid td:nth-child(6) {
  text-align: left;
}

.accounting-article-detail-grid th:nth-child(3),
.accounting-article-detail-grid td:nth-child(3),
.accounting-article-detail-grid th:nth-child(7),
.accounting-article-detail-grid td:nth-child(7) {
  text-align: right;
  width: 110px;
}

.accounting-article-detail-grid th:nth-child(4),
.accounting-article-detail-grid td:nth-child(4) {
  text-align: center;
  width: 60px;
}

.accounting-article-detail-grid tfoot td {
  background: #eeeefb;
  font-weight: 520;
}

.accounting-article-detail-grid tfoot .amount-total {
  text-align: right;
}

.accounting-article-detail-actions {
  align-items: center;
  display: flex;
  justify-content: flex-end;
}

.accounting-article-detail-actions .button {
  min-width: 116px;
}
.standard-check-button {
  align-items: center !important;
  align-self: center;
  background: #ffffff !important;
  border: 1px solid #8a8f98 !important;
  border-radius: 5px !important;
  box-sizing: border-box !important;
  color: inherit !important;
  cursor: pointer;
  display: inline-flex !important;
  height: 30px !important;
  justify-content: center;
  justify-self: start;
  max-width: 68px !important;
  min-height: 30px !important;
  min-width: 68px !important;
  overflow: hidden;
  padding: 0 !important;
  position: relative;
  width: 68px !important;
}

.standard-check-button input[type="checkbox"] {
  border: 0;
  height: 1px;
  margin: 0;
  min-height: 0;
  opacity: 0;
  padding: 0;
  position: absolute;
  width: 1px;
}

.standard-check-button span {
  background: transparent !important;
  border: 0 !important;
  inset: 0;
  position: absolute;
}

.standard-check-button span::before {
  background: rgb(210, 210, 210);
  border: 1px solid #c2ccda;
  border-radius: 999px;
  box-sizing: border-box;
  content: "";
  height: 20px;
  left: 13px;
  position: absolute;
  top: 5px;
  transition: background 0.15s ease, border-color 0.15s ease;
  width: 42px;
}

.standard-check-button span::after {
  background: #ffffff;
  border-radius: 50%;
  box-shadow: 0 1px 3px rgba(23, 32, 51, 0.28);
  content: "";
  height: 18px;
  left: 15px;
  position: absolute;
  top: 6px;
  transition: transform 0.15s ease;
  width: 18px;
}

.standard-check-button input[type="checkbox"]:checked ~ span::before {
  background: var(--BlueNote);
  border-color: var(--BlueNote);
}

.standard-check-button input[type="checkbox"]:checked ~ span::after {
  transform: translateX(18px);
}

.standard-check-button input[type="checkbox"]:focus-visible ~ span {
  box-shadow: 0 0 0 3px rgba(75, 100, 165, 0.18);
}















