.op-form-stack {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.op-quick-actions {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
  margin: 14px 0;
}
.op-quick-actions .btn {
  font-size: 11px;
  padding: 10px 13px;
  min-height: 44px;
}
.op-empty {
  padding: 35px;
  text-align: center;
  color: #7894aa;
  font-size: 13px;
  line-height: 1.8;
}
.op-picker-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 14px;
  margin: 20px 0;
}
.op-picker-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  text-align: left;
  border: 1px solid #cbddeb;
  background: linear-gradient(130deg, #f4f8fe, #eaf2fb);
  padding: 20px;
  border-radius: 14px;
  color: #355e7f;
  min-height: 110px;
  transition:
    background 0.15s,
    transform 0.15s;
  text-decoration: none;
}
.op-picker-card strong {
  font-size: 14px;
  line-height: 1.5;
  font-weight: 750;
}
.op-picker-card small {
  font-size: 11px;
  line-height: 1.7;
  color: #7f99af;
}
.op-picker-card:hover {
  background: #dfedf8;
  transform: translateY(-1px);
}
.op-picker-card.selected {
  background: #d5eee3;
  border-color: #74b79d;
  color: #307a61;
}
.op-picker-initial {
  display: grid;
  place-items: center;
  width: 35px;
  height: 35px;
  border-radius: 10px;
  background: #c8dff1;
  color: #4f7ba0;
  font-weight: 750;
  font-size: 11px;
}
.op-scale-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: start;
  gap: 13px;
  padding: 23px;
  background: #e4f1f1;
  border: 1px solid #bad9dc;
  border-top: 4px solid #4e9b9c;
  border-radius: 15px;
  color: #3f7c83;
}
.op-scale-card > .badge {
  position: absolute;
  right: 17px;
  top: 19px;
}
.op-scale-card h3 {
  font-size: 18px;
  font-weight: 750;
  line-height: 1.4;
  color: #365e7b;
}
.op-scale-card p {
  font-size: 12px;
  line-height: 1.7;
  color: #64849d;
}
.op-scale-card > small {
  font-size: 11px;
  color: #8b9fac;
}
.op-scale-card.inactive {
  background: #f3e8ed;
  border-color: #e0cbd5;
}
.op-station-banner {
  display: flex;
  gap: 19px;
  align-items: center;
  padding: 27px;
  border-radius: 17px;
  background: linear-gradient(110deg, #17536a, #287987);
  border: 1px solid #277086;
  color: white;
  margin-bottom: 25px;
}
.op-station-banner > svg {
  color: #9cd6d0;
  flex-shrink: 0;
}
.op-station-banner > div {
  flex: 1;
}
.op-station-banner span {
  font-size: 9px;
  letter-spacing: 1.4px;
  color: #8ebcc8;
}
.op-station-banner h2 {
  font-size: 21px;
  font-weight: 750;
  margin: 8px 0;
}
.op-station-banner p {
  font-size: 12px;
  color: #abd0d7;
  line-height: 1.7;
}
.op-desk-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 285px;
  gap: 19px;
  align-items: start;
}
.op-desk-main {
  background: #f8fbff;
  border: 1px solid #cadced;
  border-radius: 17px;
  overflow: hidden;
  min-width: 0;
}
.op-desk-top {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
  padding: 20px;
  background: #e6eef8;
}
.op-ticket-number {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
}
.op-ticket-number small {
  font-size: 8px;
  letter-spacing: 1.2px;
  color: #7b95b1;
  font-weight: 700;
}
.op-ticket-number strong {
  font-size: 30px;
  color: #335f86;
  font-weight: 750;
  font-variant-numeric: tabular-nums;
}
.op-ticket-number > span {
  font-size: 10px;
  color: #5b9b88;
}
.op-scale-display {
  border: 1px solid #316c7c;
  background: #163d4f;
  border-radius: 13px;
  padding: 16px;
  color: #9bdbcc;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
.op-scale-display > span {
  display: flex;
  gap: 7px;
  align-items: center;
  font-size: 8px;
  letter-spacing: 1.5px;
  color: #7caaa9;
}
.op-scale-display > strong {
  font-size: 38px;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
  color: #b7efce;
  font-weight: 750;
  white-space: nowrap;
}
.op-scale-display strong > small {
  font-size: 14px;
  color: #6eaea4;
}
.op-scale-display .btn {
  font-size: 9px;
  min-height: 35px;
  padding: 8px 12px;
  background: #ffffff10;
  border-color: #ffffff20;
  color: #acd2d7;
}
.op-client-button {
  display: flex;
  align-items: center;
  gap: 13px;
  background: #e6f2f7;
  border: 1px solid #c0dce7;
  border-left: 4px solid #60a5b6;
  border-radius: 12px;
  margin: 18px;
  width: calc(100% - 36px);
  padding: 16px;
  text-align: left;
  color: #438295;
  min-height: 95px;
}
.op-client-button > svg {
  flex-shrink: 0;
}
.op-client-button > div {
  flex: 1;
  min-width: 0;
}
.op-client-button small {
  display: block;
  font-size: 8px;
  letter-spacing: 1px;
  color: #7c9fad;
}
.op-client-button strong {
  display: block;
  font-size: 17px;
  color: #34617c;
  margin: 6px 0;
  line-height: 1.4;
}
.op-client-button div > span {
  font-size: 10px;
  color: #91a6b9;
}
.op-client-button > span {
  font-size: 11px;
  white-space: nowrap;
  color: #6095aa;
}
.op-section-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}
.op-section-title h2 {
  font-size: 15px;
  color: #426c8b;
  font-weight: 750;
  line-height: 1.4;
}
.op-desk-main > .op-section-title {
  margin: 23px 18px 16px;
}
.op-cell-note {
  display: block;
  font-size: 10px;
  color: #8ba0b1;
  margin-top: 5px;
  line-height: 1.6;
  font-weight: 400;
}
.op-lines-table th {
  font-size: 9px;
  padding: 12px;
}
.op-lines-table td {
  font-size: 11px;
  padding: 13px 12px;
}
.op-lines-table td:first-child {
  min-width: 160px;
}
.op-desk-details {
  padding: 21px 18px;
  display: flex;
  flex-direction: column;
  gap: 19px;
}
.op-desk-details > .field {
  max-width: 100%;
}
.op-desk-details .field > span:first-child {
  font-size: 11px;
}
.op-total-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 13px;
  padding: 21px 18px;
  background: #e1eee8;
  border-top: 1px solid #bfdaca;
}
.op-total-bar > div {
  flex: 1 0 100%;
  display: flex;
  align-items: baseline;
  gap: 13px;
  flex-wrap: wrap;
}
.op-total-bar small {
  font-size: 9px;
  letter-spacing: 1px;
  color: #759887;
}
.op-total-bar strong {
  font-size: 29px;
  font-weight: 750;
  color: #327b5e;
}
.op-total-bar span {
  display: block;
  font-size: 9px;
  color: #8aa998;
  flex: 1 0 100%;
}
.op-total-bar .btn {
  min-height: 47px;
  font-size: 12px;
}
.op-material-catalog {
  background: #e7edf8;
  border: 1px solid #d0ddef;
  border-radius: 16px;
  padding: 18px;
  min-width: 0;
}
.op-material-catalog > .op-section-title h2 {
  font-size: 13px;
}
.op-material-catalog > .op-section-title svg {
  color: #7599c0;
}
.op-material-catalog > .touch-input {
  font-size: 11px;
  min-height: 45px;
}
.op-material-catalog .op-quick-actions {
  gap: 7px;
}
.op-material-catalog .op-quick-actions .btn {
  flex: 1;
  font-size: 9px;
  min-height: 39px;
  padding: 9px 8px;
}
.op-material-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  max-height: 750px;
  overflow: auto;
  padding: 3px;
}
.op-material-card {
  position: relative;
  text-align: left;
  background: #f7fbff;
  border: 1px solid #cddded;
  border-left: 4px solid #78a1ca;
  border-radius: 11px;
  padding: 16px;
  min-height: 112px;
  color: #678eb0;
}
.op-material-card > svg {
  position: absolute;
  right: 13px;
  top: 14px;
  opacity: 0.6;
}
.op-material-card strong {
  display: block;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.4;
  color: #436b8e;
  padding-right: 25px;
}
.op-material-card small {
  display: block;
  font-size: 8px;
  color: #8da5bc;
  margin-top: 7px;
  letter-spacing: 0.4px;
}
.op-material-card b {
  display: block;
  font-size: 15px;
  color: #628c7c;
  margin-top: 12px;
  font-weight: 750;
}
.op-material-card:hover {
  background: #ddeef5;
  border-color: #88b8c9;
}
.op-material-card.material-PAPEL-Y-CARTON {
  border-left-color: #bda06a;
  background: #fbf7ed;
}
.op-material-card.material-PLÁSTICOS {
  border-left-color: #5caa91;
  background: #eff8f3;
}
.op-material-card.material-METALES {
  border-left-color: #7493bb;
  background: #eff4fc;
}
.op-material-card.material-VIDRIO {
  border-left-color: #7ca8ad;
  background: #edf7f8;
}
.op-material-card.material-TEXTIL {
  border-left-color: #b18aaa;
  background: #faf1f7;
}
.op-material-card.material-MADERA {
  border-left-color: #b69578;
  background: #f8f0e8;
}
.op-readonly-weight {
  display: block;
  padding: 16px;
  background: #d8eee5;
  border: 1px solid #b7d5c7;
  border-radius: 11px;
  color: #387c60;
  font-size: 15px;
  font-variant-numeric: tabular-nums;
}
.op-line-net {
  display: flex;
  gap: 9px;
  flex-wrap: wrap;
  align-items: center;
  padding: 15px;
  margin-top: 17px;
  border-radius: 10px;
  background: #deedf8;
  font-size: 12px;
  color: #6c8eaa;
}
.op-line-net b {
  color: #427798;
  font-size: 15px;
}
.op-ticket-hero {
  display: flex;
  gap: 17px;
  align-items: center;
  padding: 25px;
  border-radius: 16px;
  background: linear-gradient(110deg, #164c60, #2d6684);
  color: white;
  margin-bottom: 22px;
}
.op-ticket-hero > svg {
  color: #91c9cb;
  flex-shrink: 0;
}
.op-ticket-hero > div {
  flex: 1;
}
.op-ticket-hero h2 {
  font-size: 22px;
  font-weight: 750;
  line-height: 1.4;
}
.op-ticket-hero p {
  font-size: 12px;
  color: #a5c7d7;
  margin: 7px 0;
}
.op-ticket-hero small {
  font-size: 10px;
  color: #7faaba;
}
.op-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 13px;
  margin: 22px 0;
}
.op-stats > div {
  padding: 21px;
  background: #dcebe5;
  border: 1px solid #bdd8cd;
  border-radius: 12px;
  color: #5b8f7a;
}
.op-stats > div:nth-child(2n) {
  background: #e1e9f8;
  border-color: #c6d5ed;
  color: #7594b9;
}
.op-stats > div:nth-child(3n) {
  background: #f6eacd;
  border-color: #e6d2a7;
  color: #ac8c51;
}
.op-stats span {
  display: block;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.5;
}
.op-stats strong {
  display: block;
  font-size: 23px;
  font-weight: 750;
  margin-top: 9px;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.op-ticket-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin: 20px 0;
}
.op-ticket-actions .btn {
  font-size: 12px;
}
.op-balance-banner {
  display: flex;
  flex-direction: column;
  gap: 9px;
  padding: 20px;
  margin-bottom: 22px;
  background: #dbece3;
  border: 1px solid #bbd6c7;
  border-radius: 13px;
  color: #63947e;
}
.op-balance-banner span {
  font-size: 10px;
  font-weight: 700;
}
.op-balance-banner strong {
  font-size: 30px;
  color: #398364;
  font-weight: 750;
}
.op-balance-banner small {
  font-size: 11px;
}
.op-settlement-form {
  display: flex;
  flex-direction: column;
  gap: 18px;
  margin: 23px 0;
  padding: 22px;
  background: #e4edf8;
  border: 1px solid #c7d9ed;
  border-radius: 15px;
}
.op-settlement-form .op-stats {
  margin: 0;
}
.op-settlement-form > .btn {
  align-self: end;
}
.op-settlement-form .money-input {
  min-width: 150px;
}
.management-content > .table-panel + .table-panel {
  margin-top: 24px;
}
.op-stock-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 17px;
  margin: 23px 0;
}
.op-stock-card {
  padding: 23px;
  border: 1px solid #bdd8cb;
  border-top: 4px solid #61ab87;
  border-radius: 14px;
  background: #e2f0e9;
  color: #65927c;
}
.op-stock-card .op-section-title {
  margin-bottom: 21px;
}
.op-stock-card h2 {
  font-size: 15px;
  color: #4e7a68;
}
.op-stock-card > strong {
  display: block;
  font-size: 31px;
  font-weight: 750;
  color: #428365;
  line-height: 1.25;
  white-space: nowrap;
}
.op-stock-card strong > small {
  font-size: 13px;
  font-weight: 400;
}
.op-stock-card > p {
  font-size: 13px;
  margin: 11px 0;
  color: #709c88;
}
.op-stock-card.stock-low {
  border-color: #e0c99d;
  border-top-color: #cda149;
  background: #f8efda;
  color: #a88c55;
}
.op-stock-card.stock-low h2,
.op-stock-card.stock-low > strong {
  color: #a58950;
}
.op-stock-card.stock-zero {
  border-color: #e1c2cd;
  border-top-color: #bd7c94;
  background: #f6e8ee;
  color: #b18c9c;
}
.op-stock-card.stock-zero h2,
.op-stock-card.stock-zero > strong {
  color: #aa7288;
}
.op-stock-card .op-quick-actions {
  margin-bottom: 0;
  gap: 7px;
}
.op-stock-card .action-button {
  font-size: 9px;
  padding: 9px;
}
.op-bell {
  position: relative;
}
.op-bell > button {
  position: relative;
}
.op-bell-count {
  position: absolute;
  top: -5px;
  right: -4px;
  display: grid;
  place-items: center;
  min-width: 19px;
  height: 19px;
  padding: 2px 4px;
  background: #d66a7a;
  border: 2px solid #fff;
  border-radius: 10px;
  color: white;
  font-size: 8px;
  font-weight: 750;
}
.op-bell-panel {
  position: absolute;
  right: 0;
  top: calc(100% + 9px);
  width: 340px;
  z-index: 60;
  padding: 18px;
  background: #f7faff;
  border: 1px solid #bcd1e5;
  border-radius: 13px;
  box-shadow: 0 15px 45px #183d5e30;
}
.op-bell-panel > strong {
  font-size: 12px;
  color: #577fa4;
}
.op-bell-panel > button {
  display: block;
  width: 100%;
  padding: 14px 10px;
  text-align: left;
  font-size: 11px;
  line-height: 1.7;
  border-bottom: 1px solid #dce7f2;
  color: #6085a7;
}
.op-bell-panel > button:hover {
  background: #e7f0fa;
}
.op-bell-panel small {
  display: block;
  font-size: 9px;
  color: #91a8bd;
}
.op-print-note {
  margin: 20px 0;
}
.op-home-links {
  margin-top: 27px;
}
.op-home-links .op-picker-card {
  border-left: 4px solid #5ba4aa;
}
.management-sidebar nav a.nav-puesto > .nav-icon,
.management-sidebar nav a.nav-basculas > .nav-icon {
  color: #7ed7ce;
  background: #249b9628;
}
.management-sidebar nav a.nav-compras > .nav-icon {
  color: #8fdbac;
  background: #39a66d25;
}
.management-sidebar nav a.nav-ventas > .nav-icon {
  color: #8cb8fb;
  background: #568cdd25;
}
.management-sidebar nav a.nav-caja > .nav-icon {
  color: #f5ca83;
  background: #d8a64325;
}
.management-sidebar nav a.nav-contratistas > .nav-icon {
  color: #c4aafa;
  background: #9a73d829;
}
.management-sidebar nav a.nav-inventario > .nav-icon {
  color: #80d3e6;
  background: #40a2b625;
}
.management-sidebar nav a.nav-reportes > .nav-icon {
  color: #e5a9c9;
  background: #bb689b25;
}
.management-sidebar nav a.current > .nav-icon {
  color: #fff;
  background: #ffffff20;
}
.op-picker-grid .op-picker-card .badge {
  font-size: 8px;
}
.op-form-stack .choice-cards {
  gap: 7px;
}
.op-form-stack .choice-card {
  font-size: 11px;
}
.op-desk-main > .error-banner {
  margin: 15px 18px;
}
.op-desk-main + .op-material-catalog {
  position: relative;
}
.table-panel .money-input {
  min-width: 155px;
}
.op-material-grid::-webkit-scrollbar {
  width: 7px;
}
.op-material-grid::-webkit-scrollbar-thumb {
  background: #b4c7df;
  border-radius: 5px;
}
@media (min-width: 1700px) {
  .op-desk-layout {
    grid-template-columns: minmax(0, 1fr) 370px;
  }
  .op-material-grid {
    grid-template-columns: 1fr 1fr;
  }
  .op-material-card strong {
    font-size: 13px;
  }
  .op-material-card small {
    font-size: 8px;
  }
}
@media (max-width: 1200px) {
  .op-desk-layout {
    grid-template-columns: 1fr;
  }
  .op-material-catalog {
    order: -1;
  }
  .op-material-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-height: 300px;
  }
  .op-material-catalog .op-quick-actions .btn {
    flex: none;
  }
  .op-material-card {
    min-height: 105px;
    padding: 14px;
  }
  .op-material-card strong {
    font-size: 12px;
  }
  .op-material-card b {
    font-size: 13px;
  }
  .op-stock-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .op-ticket-hero {
    flex-wrap: wrap;
  }
  .op-stats strong {
    font-size: 21px;
  }
  .op-station-banner {
    flex-wrap: wrap;
  }
  .op-scale-display > strong {
    font-size: 34px;
  }
}
@media (max-width: 740px) {
  .op-desk-layout {
    gap: 15px;
  }
  .op-material-catalog {
    padding: 15px;
  }
  .op-material-grid {
    grid-template-columns: 1fr 1fr;
    max-height: 290px;
    gap: 8px;
  }
  .op-material-card {
    padding: 13px;
    min-height: 106px;
  }
  .op-material-card strong {
    font-size: 12px;
  }
  .op-material-card small {
    font-size: 7px;
    line-height: 1.5;
  }
  .op-material-card > svg {
    width: 17px;
    right: 9px;
    top: 12px;
  }
  .op-material-card b {
    font-size: 13px;
    margin-top: 10px;
  }
  .op-desk-top {
    gap: 11px;
    padding: 15px;
  }
  .op-ticket-number strong {
    font-size: 25px;
  }
  .op-ticket-number small {
    font-size: 7px;
    line-height: 1.6;
  }
  .op-ticket-number > span {
    font-size: 9px;
  }
  .op-scale-display {
    padding: 13px 9px;
  }
  .op-scale-display > strong {
    font-size: 25px;
  }
  .op-scale-display .btn {
    font-size: 8px;
    padding: 7px 9px;
    min-height: 33px;
  }
  .op-scale-display > span {
    font-size: 7px;
  }
  .op-client-button {
    padding: 14px;
    margin: 14px;
    width: calc(100% - 28px);
    gap: 10px;
  }
  .op-client-button strong {
    font-size: 14px;
  }
  .op-client-button small {
    font-size: 7px;
  }
  .op-client-button > span {
    font-size: 9px;
  }
  .op-client-button > svg {
    width: 22px;
  }
  .op-section-title h2 {
    font-size: 13px;
  }
  .op-total-bar .btn {
    font-size: 10px;
    min-height: 44px;
    flex: 1;
  }
  .op-total-bar > div {
    gap: 10px;
  }
  .op-total-bar strong {
    font-size: 25px;
  }
  .op-stats {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  .op-stats > div {
    padding: 17px 13px;
  }
  .op-stats strong {
    font-size: 21px;
  }
  .op-stats span {
    font-size: 9px;
  }
  .op-ticket-hero {
    padding: 20px;
  }
  .op-ticket-hero h2 {
    font-size: 20px;
  }
  .op-ticket-hero > svg {
    width: 28px;
  }
  .op-ticket-hero p {
    font-size: 10px;
  }
  .op-ticket-hero small {
    font-size: 9px;
  }
  .op-picker-grid {
    grid-template-columns: 1fr 1fr;
    gap: 11px;
  }
  .op-picker-card {
    padding: 16px;
    min-height: 104px;
  }
  .op-picker-card strong {
    font-size: 12px;
  }
  .op-picker-card small {
    font-size: 10px;
  }
  .op-stock-grid {
    grid-template-columns: 1fr;
  }
  .op-stock-card {
    padding: 21px;
  }
  .op-stock-card > .op-section-title h2 {
    font-size: 16px;
  }
  .op-settlement-form {
    padding: 17px;
  }
  .op-station-banner {
    padding: 22px;
  }
  .op-station-banner h2 {
    font-size: 19px;
  }
  .op-station-banner p {
    font-size: 11px;
  }
  .op-station-banner .btn {
    font-size: 11px;
  }
  .op-bell-panel {
    position: fixed;
    top: 155px;
    right: 15px;
    left: 15px;
    width: auto;
    max-height: 60vh;
    overflow: auto;
  }
  .op-desk-details {
    padding: 18px 15px;
  }
  .op-lines-table th {
    font-size: 8px;
  }
  .op-lines-table td {
    font-size: 10px;
  }
  .op-ticket-actions .btn {
    font-size: 11px;
  }
}
.management-content > .op-client-button {
  margin: 0 0 19px;
  width: 100%;
  background: linear-gradient(110deg, #dcecf5, #e7f4ef);
}
.choice-card.choice-green.selected {
  background: #ccebdd;
  color: #25784f;
  border-color: #7abc9a;
}
.choice-card.choice-amber.selected {
  background: #f7e8bd;
  color: #947230;
  border-color: #d9bc75;
}
