.workspace-heading {
  margin: 0 0 20px;
  color: #132b4a;
}
.workspace-heading small {
  font-size: 11px;
  letter-spacing: 1.8px;
  color: #5680b5;
  font-weight: 800;
}
.workspace-heading h1 {
  font-size: 28px;
  margin: 6px 0;
}
.workspace-heading p {
  color: #6c809a;
  margin: 7px 0 14px;
}
.admin-filters {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  padding: 16px;
  border-bottom: 1px solid #e8edf5;
}
.admin-filters input {
  flex: 2;
  min-width: 220px;
}
.admin-filters select {
  flex: 1;
  min-width: 145px;
}
.admin-filters input,
.admin-filters select,
.report-filter-grid input,
.report-filter-grid select {
  border: 1px solid #d9e3f1;
  border-radius: 10px;
  padding: 10px 12px;
  background: #fff;
  color: #19314f;
  min-width: 0;
  width: 100%;
}
.admin-actions {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
}
.admin-pagination {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 18px;
  border-top: 1px solid #e8edf5;
}
.admin-pagination span {
  flex: 1;
  color: #71829a;
  font-size: 12px;
}
.tablewrap td small {
  display: block;
  color: #7c8da3;
  font-size: 10px;
  margin-top: 5px;
}
.admin-detail {
  grid-column: 1/-1;
  padding: 16px;
  border: 1px solid #dae5f4;
  border-radius: 12px;
  background: #f7faff;
}
.admin-detail small {
  display: block;
  color: #7588a3;
}
.password-tools {
  grid-column: 1/-1;
}
.password-tools input {
  font-family: monospace;
  font-size: 16px;
}
.password-tools > div {
  margin-top: 7px;
}
.access-password-overlay {
  z-index: 1500;
}
.modalhead {
  background:
    linear-gradient(
      110deg,
      #123775,
      #116aff);
  color: #fff;
}
.modalhead h2 {
  color: #fff;
}
.modal {
  border-radius: 18px;
}
.modalfooter {
  background: #f9fbff;
  border-top: 1px solid #e3ebf6;
}
.modal input:focus,
.modal select:focus,
.modal textarea:focus {
  outline: 2px solid #c5dcff;
  outline-offset: 1px;
}
.unified-login {
  min-height: 100dvh;
  width: 100%;
  background: #eaf3ff url(/assets/login-desktop-048.png) center/cover no-repeat;
  display: grid;
  grid-template-columns: 60% 40%;
  padding: 5vh 5vw;
  gap: 0;
}
.unified-login-art {
  background: none;
  border: 0;
  box-shadow: none;
  padding: 0 3vw;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.nova-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: clamp(28px, 4vw, 62px);
  font-weight: 300;
  line-height: 1;
}
.nova-brand svg {
  width: clamp(45px, 6vw, 82px);
  height: 90px;
  flex: none;
}
.nova-brand small {
  display: block;
  font-size: clamp(10px, 1.2vw, 19px);
  font-weight: 400;
  margin-top: 8px;
  white-space: normal;
}
.nova-brand b {
  color: #fff;
  font-weight: 800;
}
.login-pitch {
  margin-top: 4vh;
  padding: 0;
  max-width: 800px;
}
.login-pitch h1 {
  font-size: clamp(28px, 3.6vw, 60px);
  line-height: 1.13;
  letter-spacing: -1.5px;
  margin: 14px 0 16px;
  color: #fff;
}
.login-pitch em {
  font-style: normal;
  color: #72c0ff;
}
.login-pitch p {
  font-size: clamp(13px, 1.35vw, 21px);
  max-width: 680px;
  line-height: 1.5;
  color: #edf5ff;
}
.login-eyebrow {
  letter-spacing: 2.5px;
  font-size: 12px;
  color: #94ceff;
}
.login-industries {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 13px;
  margin-top: 24px;
  max-width: 800px;
}
.login-industries > div {
  text-align: center;
  min-width: 0;
}
.login-industries span {
  display: grid;
  place-items: center;
  background:
    linear-gradient(
      145deg,
      #388bdd99,
      #063777b0);
  border: 1px solid #63b4ff8a;
  border-radius: 14px;
  aspect-ratio: 1;
  font-size: clamp(23px, 3.8vw, 60px);
  box-shadow: inset 0 1px 12px #81c9ff66;
}
.login-industries b {
  display: block;
  font-size: clamp(10px, .95vw, 15px);
  margin-top: 6px;
  line-height: 1.2;
}
.login-caption {
  display: block;
  font-size: 10px;
  color: #a8d8ff;
  letter-spacing: 2px;
  margin-top: 9vh;
}
.unified-login-panel {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  min-width: 0;
  background: none;
}
.login-card {
  width: 100%;
  max-width: 560px;
  padding: 35px 40px;
  border: 1px solid #ffffffd9;
  background: #ffffffed;
  box-shadow: 0 14px 50px #23549a18;
  border-radius: 23px;
  color: #11305e;
}
.nova-card-brand {
  font-size: 44px;
  font-weight: 300;
  color: #0c3374;
  letter-spacing: -1px;
  line-height: 1.1;
  margin-bottom: 27px;
}
.nova-card-brand b {
  font-weight: 800;
}
.nova-card-brand small {
  display: block;
  font-size: 12px;
  letter-spacing: 0;
  color: #6c7f9f;
  margin-top: 5px;
}
.login-card > .login-eyebrow {
  color: #0674ff;
  font-size: 11px;
}
.login-card h2 {
  font-size: clamp(29px, 2.8vw, 42px);
  margin: 12px 0 5px;
  color: #0c2e67;
  letter-spacing: -1px;
}
.login-card > p {
  font-size: 14px;
  color: #677da2;
  line-height: 1.5;
}
.login-tabs {
  margin: 20px 0;
  background: #edf3fc;
  border-radius: 11px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding: 3px;
}
.login-tabs button {
  border: 0;
  padding: 12px 8px;
  border-radius: 9px;
  font-size: 13px;
  color: #294878;
  background: none;
}
.login-tabs button.selected {
  background:
    linear-gradient(
      100deg,
      #3d94ff,
      #0069ff);
  color: #fff;
  box-shadow: 0 4px 12px #077aff30;
}
.login-field {
  display: block;
  margin: 17px 0;
}
.login-field span {
  display: block;
  font-size: 12px;
  margin-bottom: 7px;
  color: #17365f;
}
.login-field input {
  width: 100%;
  min-height: 45px;
  border: 1px solid #c9d9f2;
  border-radius: 10px;
  padding: 11px 15px;
  font-size: 14px;
  color: #143467;
  background: #ffffffbd;
}
.login-password-wrap {
  position: relative;
}
.login-password-wrap input {
  padding-right: 45px;
}
.login-password-wrap button {
  position: absolute;
  right: 8px;
  top: 8px;
  bottom: 8px;
  width: 32px;
  border: 0;
  background: transparent;
  color: #6688b9;
  font-size: 19px;
}
.login-submit {
  width: 100%;
  padding: 15px;
  margin-top: 1px;
  min-height: 49px;
  font-size: 15px;
  border-radius: 11px;
  background:
    linear-gradient(
      100deg,
      #3d94ff,
      #0069ff);
}
.login-secure {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: #788eae;
  font-size: 11px;
  margin: 23px 0;
}
.login-secure:before,
.login-secure:after {
  content: "";
  height: 1px;
  background: #dce5f3;
  flex: 1;
}
.login-secure i {
  font-size: 19px;
  color: #294e95;
}
.login-card .login-hint {
  padding: 13px 16px;
  background: #eff5ff;
  border-radius: 12px;
  font-size: 11px;
  color: #6a7fa5;
  margin-bottom: 0;
}
.mobile-login-message {
  display: none;
}
.password-first-login {
  display: flex;
  justify-content: center;
}
.password-first-login .unified-login-panel {
  width: 100%;
  max-width: 600px;
}
.password-first-login form > .field {
  margin: 13px 0;
}
.productgrid-modern {
  gap: 12px;
  padding: 10px;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}
.productcard-modern {
  border: 1px solid #dce4ee;
  border-radius: 11px;
  background: white;
  padding: 10px;
  box-shadow: 0 2px 4px #16385906;
  overflow: hidden;
  min-width: 0;
}
.productcard-modern .productcard-media {
  height: 112px;
  border-radius: 8px;
  background: #f5f6f8;
  margin: 0;
  position: relative;
}
.productcard-modern .productcard-media img {
  object-fit: contain;
  width: 100%;
  height: 100%;
  padding: 0;
}
.productcard-modern .productcard-body {
  padding: 9px 0 4px;
  text-align: center;
}
.productcard-modern .productcard-body > b {
  font-size: 12px;
  line-height: 1.25;
  color: #0a172a;
  min-height: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.productcard-modern .productcard-price {
  font-size: 14px;
  color: #0565ef;
  margin: 5px 0;
  font-weight: 800;
}
.productcard-modern .productcard-category {
  font-size: 11px;
  line-height: 1.25;
  color: #6e839f;
}
.productcard-modern .productcard-meta {
  display: none;
}
.productcard-modern .stock-pill {
  font-size: 13px;
  padding: 3px 7px;
  min-width: 27px;
  line-height: 1.1;
  right: -2px;
  top: -2px;
  color: #194900;
  background: #eafbaf;
  border: 0;
  border-radius: 12px;
  box-shadow: none;
}
.productcard-modern .stock-pill.warn {
  background: #eafbaf;
  color: #194900;
}
.scan-trigger {
  min-width: 38px;
  font-size: 18px;
}
.saved-desktop-carts {
  font-size: 10px;
  color: #8a6b20;
}
.mobile-appbar {
  display: none;
}
.mobile-nav-backdrop[hidden] {
  display: none;
}
.report-tabs {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}
.report-tabs button {
  border: 1px solid #dce7f8;
  background: #fff;
  padding: 10px 13px;
  border-radius: 10px;
  color: #5d7491;
  font-size: 12px;
  font-weight: 700;
}
.report-tabs button.selected {
  color: white;
  background: #126cf0;
  border-color: #126cf0;
}
.report-control-panel {
  border: 1px solid #dce6f3;
  background: #fff;
  border-radius: 15px;
  padding: 17px;
  margin-bottom: 17px;
}
.report-shortcuts,
.report-export-tools {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}
.report-export-tools {
  margin: 14px 0 0;
  justify-content: flex-end;
}
.report-filter-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.report-filter-grid label {
  font-size: 11px;
  font-weight: 700;
  color: #607695;
}
.report-filter-grid input,
.report-filter-grid select {
  display: block;
  margin-top: 6px;
  font-size: 12px;
}
.report-kpis .stat {
  padding: 18px;
  min-height: 100px;
}
.report-kpis .stat strong {
  font-size: 24px;
}
.report-charts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 15px;
  margin: 16px 0;
}
.report-chart {
  background: #fff;
  border: 1px solid #dde7f4;
  border-radius: 14px;
  padding: 17px;
}
.report-chart header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 14px;
}
.report-chart h3 {
  margin: 0;
  font-size: 14px;
}
.report-chart-row {
  display: grid;
  grid-template-columns: minmax(90px, 1fr) 2fr 70px;
  width: 100%;
  gap: 8px;
  align-items: center;
  border: 0;
  background: none;
  padding: 7px 0;
  text-align: left;
  color: #3f5778;
  font-size: 11px;
}
.report-chart-row div {
  background: #edf3ff;
  height: 9px;
  border-radius: 9px;
  overflow: hidden;
}
.report-chart-row i {
  display: block;
  height: 100%;
  border-radius: 9px;
  background:
    linear-gradient(
      90deg,
      #53acff,
      #0765e8);
}
.report-chart-row b {
  text-align: right;
}
.report-note {
  padding: 14px;
  border-radius: 11px;
  background: #edf4ff;
  color: #6381a5;
  font-size: 12px;
  line-height: 1.6;
}
.report-detail-modal {
  max-width: 1100px;
  width: 95vw;
}
.report-modal-body {
  padding: 20px;
  overflow: auto;
  max-height: 72dvh;
}
.report-modal-body dl {
  margin: 0;
}
.report-modal-body dl > div {
  padding: 8px;
  border-bottom: 1px solid #edf1f6;
}
.report-modal-body dt {
  font-size: 11px;
  color: #6d86a7;
}
.report-modal-body dd {
  margin: 5px 0;
  font-size: 13px;
}
.report-details-list {
  border: 1px solid #e2eaf5;
  border-radius: 10px;
  padding: 10px;
}
.report-preview header {
  border-bottom: 2px solid #166ced;
  padding: 10px 0;
  margin-bottom: 15px;
}
.report-preview header img {
  max-width: 160px;
  max-height: 60px;
  object-fit: contain;
  float: right;
}
.report-preview-kpis {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin: 15px 0;
}
.report-preview-kpis > div {
  padding: 12px;
  background: #f1f6ff;
  border-radius: 9px;
}
.report-preview-kpis span,
.report-preview-kpis b {
  display: block;
  font-size: 12px;
}
.report-preview-kpis b {
  font-size: 17px;
  margin-top: 8px;
}
.scanner-overlay {
  z-index: 1400;
}
.scanner-modal {
  max-width: 570px;
}
.scanner-body {
  padding: 20px;
}
.scanner-body video {
  width: 100%;
  max-height: 45dvh;
  object-fit: cover;
  background: #101d30;
  border-radius: 12px;
}
.scanner-body form {
  display: grid;
  gap: 12px;
  margin-top: 18px;
}
@media (max-width: 1350px) {
  .productgrid-modern {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .unified-login {
    padding: 4vh 3vw;
    grid-template-columns: 56% 44%;
  }
  .login-card {
    padding: 25px;
  }
  .login-pitch h1 {
    font-size: 36px;
  }
  .login-industries {
    gap: 8px;
  }
  .login-caption {
    margin-top: 40px;
  }
  .login-pitch p {
    font-size: 15px;
  }
}
@media (min-width: 1600px) {
  .productgrid-modern {
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .unified-login {
    grid-template-columns: 48% 52%;
    padding: 25px;
  }
  .unified-login-art {
    padding: 10px;
  }
  .login-pitch h1 {
    font-size: 30px;
  }
  .login-pitch p {
    font-size: 13px;
  }
  .login-industries {
    grid-template-columns: repeat(3, 1fr);
    max-width: 290px;
  }
  .login-industries span {
    font-size: 33px;
    aspect-ratio: 1.2;
  }
  .login-card {
    padding: 25px;
  }
  .nova-brand {
    font-size: 34px;
  }
  .nova-brand small {
    font-size: 11px;
  }
  .nova-brand svg {
    width: 46px;
  }
  .login-caption {
    display: none;
  }
}
@media (max-width: 767px) {
  html,
  body {
    max-width: 100%;
    overflow-x: clip;
  }
  .main,
  .main.main-without-topbar {
    margin-left: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 0 !important;
  }
  .content {
    padding: 12px !important;
    min-width: 0;
  }
  .sidebar {
    transform: translateX(-105%);
    width: 245px !important;
    transition: transform .2s ease;
    z-index: 1200;
  }
  .sidebar.mobile-nav-open {
    transform: translateX(0);
  }
  .sidebar .navlabel,
  .sidebar .brand > span {
    display: block !important;
  }
  .sidebar .navitem {
    justify-content: flex-start !important;
    width: 100%;
  }
  .sidebar .brand .mark {
    cursor: pointer;
  }
  .mobile-appbar {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 8px 12px;
    position: sticky;
    top: 0;
    z-index: 100;
    background: #f6f9fdf0;
    border-bottom: 1px solid #e0e8f3;
    backdrop-filter: blur(12px);
  }
  .mobile-appbar .mark {
    display: grid;
    place-items: center;
    width: 35px;
    height: 35px;
    min-width: 35px;
    border: 0;
    border-radius: 10px;
    background: #b5e600;
    color: #122800;
    font-weight: 900;
    font-size: 25px;
  }
  .mobile-appbar strong {
    font-size: 13px;
    color: #284365;
  }
  .mobile-nav-backdrop {
    position: fixed;
    inset: 0;
    background: #06182e66;
    z-index: 1100;
    border: 0;
  }
  .mobile-menu-open {
    overflow: hidden;
  }
  .stats,
  .dashboard-kpis {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
  }
  .stat,
  .dashboard-kpi {
    padding: 12px !important;
    min-height: 0 !important;
    border-radius: 12px !important;
  }
  .stat strong,
  .dashboard-kpi strong {
    font-size: 22px !important;
    margin: 6px 0 !important;
  }
  .stat span,
  .dashboard-kpi-title {
    font-size: 11px !important;
  }
  .dashboard-kpi-icon {
    width: 32px !important;
    height: 32px !important;
    font-size: 17px !important;
  }
  .dashboard-kpi-head {
    gap: 7px !important;
  }
  .dashboard-kpi-footer,
  .dashboard-kpi small {
    font-size: 9px !important;
  }
  .dashboard-hero {
    padding: 15px !important;
    min-height: 0 !important;
    gap: 10px !important;
    border-radius: 14px !important;
  }
  .dashboard-hero h1,
  .dashboard-hero h2 {
    font-size: 20px !important;
    line-height: 1.2 !important;
  }
  .dashboard-hero p {
    font-size: 11px !important;
    line-height: 1.4 !important;
    margin: 6px 0 !important;
  }
  .dashboard-hero-stats,
  .dashboard-hero-metrics {
    display: flex !important;
    flex-wrap: wrap;
    gap: 7px !important;
  }
  .dashboard-hero-stat,
  .dashboard-hero-metric {
    padding: 8px !important;
    min-width: 0 !important;
    flex: 1 !important;
  }
  .dashboard-hero-stat b,
  .dashboard-hero-metric strong {
    font-size: 16px !important;
  }
  .dashboard-hero-stat span,
  .dashboard-hero-metric span {
    font-size: 9px !important;
  }
  .dashboard-grid,
  .grid2 {
    grid-template-columns: 1fr !important;
  }
  .workspace-heading {
    margin-bottom: 14px;
  }
  .workspace-heading h1 {
    font-size: 23px;
  }
  .workspace-heading p {
    font-size: 12px;
  }
  .admin-filters {
    padding: 10px;
    gap: 7px;
  }
  .admin-filters input,
  .admin-filters select {
    min-width: 0;
    flex-basis: calc(50% - 7px);
    font-size: 11px;
    padding: 9px;
  }
  .admin-filters input {
    flex-basis: 100%;
  }
  .modal {
    width: calc(100vw - 18px) !important;
    max-height: calc(100dvh - 18px);
    border-radius: 15px;
  }
  .overlay {
    padding: 9px;
  }
  .modalhead {
    padding: 14px !important;
  }
  .modalhead h2 {
    font-size: 18px !important;
  }
  .formgrid {
    padding: 14px !important;
    gap: 11px !important;
  }
  .field span {
    font-size: 11px;
  }
  .modalfooter {
    padding: 12px !important;
  }
  .slotbar {
    display: flex !important;
    flex-wrap: wrap;
    gap: 7px !important;
    padding: 8px 0 !important;
  }
  .slotbar > span {
    display: none;
  }
  .slotbar .slot {
    padding: 8px 10px !important;
    font-size: 12px !important;
    min-width: 0 !important;
    border-radius: 9px !important;
  }
  .scan-trigger {
    margin-left: auto;
  }
  .sale-mode-tabs {
    gap: 8px !important;
  }
  .sale-mode-tabs button {
    font-size: 12px !important;
    padding: 11px !important;
  }
  .saleslayout,
  .saleslayout-modern,
  .quick-sales-layout,
  .quick-sales-v77 {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
    min-width: 0 !important;
    width: 100% !important;
  }
  .saleslayout-modern > * {
    min-width: 0 !important;
    width: 100% !important;
  }
  .saleslayout-modern .panelhead {
    display: none;
  }
  .sale-catalog-toolbar,
  .product-toolbar,
  .catalog-toolbar {
    padding: 9px !important;
    gap: 7px !important;
  }
  .sale-catalog-toolbar input {
    font-size: 13px !important;
    min-width: 0 !important;
  }
  .productgrid-modern {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px;
    padding: 7px;
  }
  .productcard-modern {
    padding: 8px;
  }
  .productcard-modern .productcard-media {
    height: 120px;
  }
  .productcard-modern .stock-pill {
    font-size: 13px !important;
    padding: 3px 7px !important;
    min-width: 25px !important;
  }
  .productcard-modern .productcard-body > b {
    font-size: 12px !important;
  }
  .productcard-modern .productcard-price {
    font-size: 14px !important;
  }
  .quick-work-area,
  .quick-main,
  .quick-side,
  .quick-cashier {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .quick-search-panel {
    padding: 12px !important;
  }
  .quick-search-caption {
    font-size: 12px !important;
  }
  .quick-search-wrap input {
    width: 100% !important;
    min-width: 0 !important;
    font-size: 13px !important;
    padding: 10px !important;
  }
  .quick-key-hint {
    display: none !important;
  }
  .quick-list-scroll {
    min-height: 100px !important;
    width: 100% !important;
    overflow: visible !important;
  }
  .quick-pos-table {
    min-width: 0 !important;
    width: 100% !important;
  }
  .quick-pos-table thead {
    display: none;
  }
  .quick-pos-table tbody {
    display: block;
  }
  .quick-pos-table tr {
    display: grid;
    grid-template-columns: 48px 1fr 95px;
    position: relative;
    border-bottom: 1px solid #e1eaf6;
    padding: 9px;
    gap: 6px;
    align-items: center;
    width: 100%;
  }
  .quick-pos-table td {
    padding: 3px !important;
    border: 0 !important;
    font-size: 11px !important;
    min-width: 0 !important;
  }
  .quick-pos-table td:nth-child(1),
  .quick-pos-table td:nth-child(3),
  .quick-pos-table td:nth-child(6) {
    display: none;
  }
  .quick-pos-table td:nth-child(2) {
    grid-column: 1;
    grid-row: 1/3;
  }
  .quick-pos-table td:nth-child(4) {
    grid-column: 2;
    grid-row: 1;
  }
  .quick-pos-table td:nth-child(5) {
    grid-column: 3;
    grid-row: 1;
  }
  .quick-pos-table td:nth-child(7) {
    grid-column: 2;
    grid-row: 2;
  }
  .quick-pos-table td:nth-child(8) {
    grid-column: 3;
    grid-row: 2;
    text-align: right;
  }
  .quick-pos-table .quick-blank {
    display: block;
    min-height: 130px;
  }
  .quick-pos-table .quick-blank td {
    display: block !important;
    width: 100%;
    text-align: center;
    padding: 25px 10px !important;
  }
  .quick-blank i {
    font-size: 27px !important;
  }
  .quick-blank p {
    font-size: 12px !important;
    white-space: normal !important;
  }
  .quick-bottom-totals {
    padding: 12px !important;
  }
  .quick-bottom-totals span,
  .quick-bottom-totals b {
    font-size: 12px !important;
  }
  .quick-grand-total strong {
    font-size: 20px !important;
  }
  .quick-cashier-fields > label:first-child,
  .quick-cashier-fields .quick-fields-duo,
  .quick-keypad-grid,
  .quick-keypad-top,
  .quick-charge > span {
    display: none !important;
  }
  .quick-cashier-fields {
    padding: 12px !important;
  }
  .quick-cashier-fields > label {
    font-size: 12px !important;
    margin: 0 0 8px !important;
  }
  .quick-discounts {
    gap: 8px !important;
  }
  .quick-discounts button {
    font-size: 12px !important;
    padding: 7px 10px !important;
  }
  .quick-keypad-box {
    padding: 0 !important;
  }
  .quick-cash-grid {
    display: block !important;
  }
  .quick-charge {
    width: 100% !important;
    min-height: 48px !important;
    padding: 13px !important;
    display: flex !important;
    gap: 10px;
    justify-content: center !important;
    align-items: center !important;
    border-radius: 11px !important;
  }
  .quick-charge strong {
    font-size: 17px !important;
  }
  .quick-charge i {
    font-size: 20px !important;
  }
  .report-filter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
  }
  .report-charts {
    grid-template-columns: 1fr;
  }
  .report-tabs {
    gap: 5px;
  }
  .report-tabs button {
    padding: 8px;
    font-size: 10px;
  }
  .report-chart-row {
    grid-template-columns: 90px 1fr 53px;
  }
  .report-preview-kpis {
    grid-template-columns: repeat(2, 1fr);
  }
  .report-control-panel {
    padding: 12px;
  }
  .report-export-tools .btn {
    font-size: 11px;
    padding: 9px;
  }
  .report-detail-modal {
    width: 96vw;
  }
  .report-modal-body {
    padding: 12px;
    max-height: 74dvh;
  }
  .unified-login {
    display: flex;
    flex-direction: column;
    gap: 25px;
    padding: 35px 18px 30px;
    background: #08377a url(/assets/login-mobile-048.png) center top/cover no-repeat;
    min-height: 100dvh;
  }
  .unified-login-art {
    padding: 0;
    align-items: center;
    min-height: 0;
  }
  .nova-brand {
    font-size: 42px;
    margin: 12px 0 15px;
    gap: 9px;
  }
  .nova-brand svg {
    width: 55px;
    height: 64px;
  }
  .nova-brand small {
    font-size: 11px;
  }
  .login-pitch {
    margin: 12px 0 0;
    text-align: center;
  }
  .login-pitch h1 {
    font-size: clamp(28px, 7.2vw, 40px);
    line-height: 1.13;
    letter-spacing: -.8px;
    margin: 17px 0 5px;
  }
  .login-pitch .login-eyebrow {
    font-size: 11px;
    letter-spacing: 4px;
  }
  .mobile-login-message {
    display: block;
    color: #78d4ff;
    margin-top: 6px;
  }
  .desktop-login-message,
  .login-pitch p,
  .login-industries,
  .login-caption {
    display: none;
  }
  .unified-login-panel {
    width: 100%;
  }
  .login-card {
    max-width: 470px;
    padding: 23px 20px;
    border-radius: 20px;
    background: #fffffff0;
  }
  .nova-card-brand,
  .login-card > .login-eyebrow {
    display: none;
  }
  .login-card h2 {
    text-align: center;
    margin: 2px 0 6px;
    font-size: 30px;
  }
  .login-card > p {
    text-align: center;
    font-size: 12px;
    margin: 6px 0;
  }
  .login-tabs {
    margin: 18px 0;
  }
  .login-tabs button {
    padding: 11px 6px;
    font-size: 12px;
  }
  .login-field {
    margin: 13px 0;
  }
  .login-field input {
    font-size: 14px;
    min-height: 46px;
  }
  .login-field span {
    font-size: 12px;
  }
  .login-submit {
    font-size: 14px;
    min-height: 48px;
  }
  .login-secure {
    margin: 20px 0 0;
  }
  .login-card .login-hint {
    display: none;
  }
  .password-first-login {
    justify-content: center;
  }
  .password-first-login .login-card p {
    text-align: left;
  }
  .password-first-login .login-card {
    margin: auto;
  }
  .password-first-login form > .field input {
    width: 100%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .sidebar {
    transition: none;
  }
}
.order-modern-modal {
  max-width: 1100px;
}
.order-modern-modal .formgrid {
  display: block;
  padding: 20px;
}
.order-client-section {
  border: 1px solid #dce7f6;
  border-radius: 14px;
  padding: 16px;
  display: block !important;
  margin-bottom: 20px;
  background: #f8fbff;
}
.order-client-section > h3,
.order-section-title {
  font-size: 15px;
  color: #24549b;
  margin: 0 0 12px;
}
.order-native-select {
  position: absolute !important;
  opacity: 0;
  width: 1px !important;
  height: 1px !important;
  pointer-events: none;
}
.order-search-picker {
  position: relative;
}
.order-search-picker > input {
  width: 100%;
  border-radius: 10px;
  padding: 10px !important;
  font-size: 13px;
}
.order-selected-record {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 0;
  min-width: 0;
}
.order-selected-record img {
  width: 48px;
  height: 48px;
  object-fit: contain;
  border: 1px solid #e0e8f4;
  border-radius: 9px;
  background: white;
}
.order-selected-record b {
  font-size: 12px;
}
.order-selected-record small {
  display: block;
  color: #7b8ea6;
  font-size: 10px;
  margin-top: 4px;
}
.order-search-results {
  position: absolute;
  top: 45px;
  left: 0;
  right: 0;
  z-index: 5;
  background: white;
  border: 1px solid #d5e2f4;
  box-shadow: 0 10px 25px #1b386820;
  border-radius: 10px;
  max-height: 260px;
  overflow: auto;
}
.order-search-results[hidden] {
  display: none;
}
.order-search-results button {
  display: block;
  text-align: left;
  background: white;
  border: 0;
  border-bottom: 1px solid #eef3fa;
  width: 100%;
  padding: 10px;
  color: #263f60;
}
.order-search-results button:hover {
  background: #edf5ff;
}
.order-search-results small {
  display: block;
  color: #7890ad;
  font-size: 10px;
  margin-top: 4px;
}
.order-modern-modal .order-line {
  display: grid;
  grid-template-columns: minmax(200px, 2.2fr) 1.2fr 75px 100px 100px auto;
  align-items: start;
  border: 1px solid #dde7f4;
  background: #fff;
  gap: 12px;
  padding: 14px;
  border-radius: 13px;
  margin-bottom: 12px;
}
.order-line-total {
  grid-column: 1/-1;
  display: flex;
  justify-content: flex-end;
  gap: 15px;
  padding-top: 8px;
  border-top: 1px solid #e9eff8;
  font-size: 12px;
}
.order-line-total b {
  color: #126cf0;
}
.order-draft-summary {
  padding: 16px;
  border: 1px solid #d8e5f8;
  background: #f4f8ff;
  border-radius: 13px;
  margin-top: 18px;
  max-width: 440px;
  margin-left: auto;
}
.order-draft-summary h3 {
  font-size: 14px;
  margin: 0 0 12px;
}
.order-draft-summary > div {
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  padding: 7px 0;
}
.order-draft-summary .order-total {
  border-top: 1px solid #cbddf5;
  font-size: 20px;
  color: #126bf0;
  padding-top: 12px;
  margin-top: 5px;
}
.order-inline-client {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
  padding: 14px;
  margin-top: 12px;
  border: 1px dashed #bdd2f0;
  border-radius: 11px;
}
.order-inline-client h4,
.order-inline-client p {
  grid-column: 1/-1;
  margin: 0;
}
.order-modern-modal .modalfooter {
  position: sticky;
  bottom: 0;
  z-index: 1;
}
@media (max-width: 767px) {
  .order-modern-modal .order-line {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    padding: 10px;
  }
  .order-line > label:first-child {
    grid-column: 1/-1;
  }
  .order-inline-client {
    grid-template-columns: 1fr;
  }
  .order-inline-client > * {
    grid-column: 1 !important;
  }
  .order-draft-summary {
    max-width: none;
  }
  .dash-v3-hero {
    padding: 14px !important;
    gap: 10px !important;
    border-radius: 14px !important;
    min-height: 0 !important;
    display: block !important;
  }
  .dash-v3-hero h2 {
    font-size: 21px !important;
    line-height: 1.25 !important;
    margin: 0 0 5px !important;
  }
  .dash-v3-hero p {
    font-size: 11px !important;
    line-height: 1.4 !important;
    margin: 0 !important;
  }
  .dash-v3-hero-metrics {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 7px !important;
    margin-top: 14px !important;
  }
  .dash-v3-hero-metrics article {
    padding: 9px !important;
    grid-template-columns: 1fr !important;
    text-align: center !important;
    gap: 3px !important;
    min-width: 0 !important;
    border-radius: 10px !important;
  }
  .dash-v3-hero-metrics i {
    font-size: 17px !important;
    grid-row: auto !important;
  }
  .dash-v3-hero-metrics strong {
    font-size: 16px !important;
  }
  .dash-v3-hero-metrics span {
    font-size: 9px !important;
    line-height: 1.2 !important;
  }
  .dash-v3-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
    margin: 12px 0 !important;
  }
  .dash-v3-kpi {
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
    padding: 12px !important;
    min-height: 0 !important;
    border-radius: 13px !important;
  }
  .dash-v3-kpi-icon {
    width: 29px !important;
    height: 29px !important;
    min-width: 29px !important;
    font-size: 16px !important;
    margin: 0 !important;
  }
  .dash-v3-kpi-head {
    display: block !important;
  }
  .dash-v3-kpi-head > span:first-child {
    font-size: 10px !important;
  }
  .dash-v3-kpi-copy {
    min-width: 0 !important;
  }
  .dash-v3-kpi-copy strong {
    font-size: 19px !important;
    line-height: 1.2 !important;
    margin: 5px 0 !important;
  }
  .dash-v3-kpi-copy small {
    font-size: 9px !important;
    line-height: 1.3 !important;
  }
  .dash-v3-delta {
    font-size: 8px !important;
    display: inline-block;
    margin-top: 3px !important;
    padding: 3px 5px !important;
  }
  .dash-v3-main-grid,
  .dash-v3-lower-grid {
    display: block !important;
  }
  .dash-v3-right {
    margin-top: 12px;
  }
  .dash-v3-chart-grid {
    height: 215px !important;
  }
  .dash-v3-chart-scale {
    font-size: 9px !important;
    width: 47px !important;
  }
  .dash-v3-chart-bars {
    gap: 5px !important;
  }
  .dash-v3-bar-item strong {
    font-size: 8px !important;
  }
  .dash-v3-bar-item span,
  .dash-v3-bar-item small {
    font-size: 9px !important;
  }
  .dash-v3-chart-intro {
    font-size: 11px !important;
  }
  .dash-v3-range-switch button {
    font-size: 9px !important;
    padding: 7px !important;
  }
  .panelhead {
    padding: 12px !important;
    gap: 8px !important;
  }
  .panelhead h2 {
    font-size: 14px !important;
  }
  .dash-v3-cash-box {
    padding: 13px !important;
  }
  .dash-v3-cash-metrics article {
    padding: 9px !important;
  }
  .dash-v3-cash-metrics span {
    font-size: 10px !important;
  }
}
.main:has(.pos-compact-header) .productcard-modern {
  min-height: 0;
  padding: 10px;
  border-radius: 11px;
  box-shadow: 0 2px 4px #16385906;
}
.main:has(.pos-compact-header) .productgrid-modern .productcard-modern .productcard-media {
  height: 112px;
  flex-basis: 112px;
  padding: 0;
  border-radius: 8px;
  background: #f6f6f8;
}
.main:has(.pos-compact-header) .productgrid-modern .productcard-modern .productcard-media > img.product-image {
  max-height: 112px;
  width: 100%;
  height: 100%;
  padding: 0;
  object-fit: contain;
}
.main:has(.pos-compact-header) .productcard-modern .productcard-body {
  padding: 8px 0 3px;
  display: block;
}
.main:has(.pos-compact-header) .productcard-modern .productcard-body b {
  font-size: 12px;
  line-height: 1.25;
  color: #071729;
  min-height: 30px;
}
.main:has(.pos-compact-header) .productcard-modern .productcard-price {
  font-size: 14px;
  color: #0065f0;
  margin: 5px 0;
}
.main:has(.pos-compact-header) .productcard-modern .productcard-category {
  font-size: 11px;
  color: #6f839f;
}
.main:has(.pos-compact-header) .productgrid-modern .productcard-modern .stock-pill {
  background: #eafbaf;
  color: #193f08;
  border: 0;
  font-size: 13px;
  min-width: 27px;
  padding: 3px 7px;
  border-radius: 12px;
  right: -2px;
  top: -2px;
}
.main:has(.pos-compact-header) .productcard-modern .stock-pill.sold-out {
  background: #eafbaf;
  color: #193f08;
  border: 0;
}
.main:has(.pos-compact-header) .productcard-modern:disabled {
  opacity: .65;
}
@media (max-width: 767px) {
  .quick-list-scroll {
    height: auto !important;
    max-height: 45dvh;
    overflow-y: auto !important;
  }
  .quick-work-area {
    height: auto !important;
    min-height: 0 !important;
  }
  .quick-blank {
    height: auto !important;
  }
  .quick-pos-table .qty {
    justify-content: flex-end;
  }
  .main:has(.pos-compact-header) .productgrid-modern .productcard-modern .productcard-media {
    height: 112px;
    flex-basis: 112px;
  }
  .main:has(.pos-compact-header) .productgrid-modern .productcard-modern .productcard-media > img.product-image {
    max-height: 112px;
  }
  .productcard-modern:disabled {
    opacity: .65;
  }
}
.nova-card-brand {
  display: flex;
  align-items: center;
  gap: 12px;
}
.nova-card-brand img {
  width: 56px;
  height: 65px;
}
.brand .mark {
  border: 0;
}
.dash-v3-bar-item {
  border: 0;
  background: none;
  font: inherit;
  cursor: pointer;
  padding: 0;
}
.dash-v3-bar-item:hover .dash-v3-bar-fill {
  filter: brightness(1.08);
}
.dashboard-quick-actions,
.dashboard-action-alerts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 13px;
}
.dashboard-quick-actions button,
.dashboard-action-alerts button {
  border: 1px solid #dbe6f4;
  color: #315989;
  background: white;
  border-radius: 10px;
  padding: 10px 13px;
  font-size: 12px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.dashboard-action-alerts button {
  background: #f0f6ff;
  border-color: #dce9fb;
  color: #5378a7;
  flex: 1;
  justify-content: center;
}
.dashboard-quick-actions button:hover,
.dashboard-action-alerts button:hover {
  border-color: #76adff;
  color: #1264d7;
}
.report-overlay .report-chart header button {
  display: none;
}
@media (max-width: 767px) {
  .nova-card-brand {
    display: none;
  }
  .dashboard-quick-actions {
    gap: 6px;
    margin-bottom: 10px;
  }
  .dashboard-quick-actions button {
    padding: 8px;
    font-size: 10px;
    flex: 1;
    justify-content: center;
  }
  .dashboard-action-alerts {
    gap: 6px;
  }
  .dashboard-action-alerts button {
    font-size: 9px;
    padding: 8px;
    min-width: 0;
  }
  .dash-v3-bar-item {
    min-width: 0;
  }
  .dash-v3-chart-wrap {
    padding: 12px !important;
  }
  .dash-v3-lower-grid > .panel {
    margin-bottom: 12px;
  }
  .dash-v3-chart-note {
    font-size: 10px !important;
    padding: 10px !important;
  }
}
@media (max-width: 767px) {
  .quick-side.quick-cashier {
    display: flex !important;
    flex-direction: column;
    justify-content: flex-start !important;
    gap: 8px;
    height: auto !important;
    min-height: 0 !important;
  }
  .quick-cashier .quick-keypad-box {
    height: auto !important;
    min-height: 0 !important;
  }
  .quick-cashier .quick-cashier-fields {
    margin: 0 !important;
  }
  .quick-cashier .quick-charge {
    height: auto !important;
    min-height: 48px !important;
    max-height: 70px;
  }
  .quick-cashier .quick-keypad-box {
    padding-bottom: 0 !important;
  }
  .quick-cashier .quick-cash-grid {
    height: auto !important;
  }
}
.report-line-chart {
  display: block;
  width: 100%;
  margin-bottom: 14px;
  overflow: visible;
}
.report-line-chart circle {
  cursor: pointer;
}
.report-line-chart circle:focus {
  outline: none;
  stroke: #0c346d;
  stroke-width: 3;
}
.report-chart-row i.negative {
  background:
    linear-gradient(
      90deg,
      #ff9ba7,
      #ef385e);
}
.order-modern-modal {
  width: min(1100px, 95vw);
}
.order-modern-modal .order-line > .field {
  min-width: 0;
}
.order-modern-modal .order-line select,
.order-modern-modal .order-line input {
  width: 100%;
  min-width: 0;
}
.order-modern-modal .order-line {
  grid-template-columns: minmax(240px, 2.3fr) minmax(150px, 1.3fr) 75px 100px 100px auto;
}
@media (max-width: 767px) {
  .order-modern-modal .order-line {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .order-modern-modal {
    width: calc(100vw - 18px) !important;
  }
}
.unified-login-art:before,
.unified-login-art:after,
.login-brand:before,
.login-brand:after {
  display: none !important;
}
.unified-login-art .login-eyebrow {
  color: #89caff;
}
.login-submit > span {
  margin-left: 10px;
  font-size: 20px;
}
.login-password-wrap button {
  display: grid;
  place-items: center;
}
.nova-brand > span {
  background: none !important;
  border: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}
@media (max-width: 767px) {
  .unified-login-art .login-pitch {
    display: block !important;
  }
  .unified-login-art .login-pitch h1 {
    display: block !important;
  }
  .unified-login-art .login-eyebrow {
    color: #42bdff;
  }
  .unified-login-art .login-pitch .mobile-login-message {
    display: block !important;
  }
  .unified-login-art .login-pitch .desktop-login-message {
    display: none !important;
  }
}
.workspace-heading:has(>[data-master-action="newPlan"]){position:relative;padding-right:160px}.workspace-heading>[data-master-action="newPlan"]{position:absolute;right:0;top:15px}
@media(max-width:767px){.workspace-heading:has(>[data-master-action="newPlan"]){padding-right:0;padding-bottom:48px}.workspace-heading>[data-master-action="newPlan"]{top:auto;bottom:0;left:0;right:auto}}

/* 050: mobile sales take only the space their content needs. */
@media (max-width: 767px) {
 .main:has(.pos-compact-header) .saleslayout-modern {align-items:start!important;flex:none!important;}
 .main:has(.pos-compact-header) .saleslayout-modern>.panel,
 .main:has(.pos-compact-header) .sale-cart-panel {height:auto!important;min-height:0!important;max-height:none!important;}
 .main:has(.pos-compact-header) .saleslayout-modern .productgrid-modern {height:auto!important;min-height:0!important;max-height:none!important;flex:none!important;overflow:visible!important;}
 .main:has(.pos-compact-header) .sale-cart-panel .pos-cart-items,
 .main:has(.pos-compact-header) .sale-cart-panel .cartbody-modern {height:auto!important;min-height:0!important;max-height:none!important;flex:none!important;overflow:visible!important;}
 [data-mobile-font-050] {font-size:var(--mobile-font-050)!important;}
}
/* 052: generic installation entry point across desktop, tablet and mobile. */
#installMarketPwa:not([hidden]){right:20px;bottom:max(18px,env(safe-area-inset-bottom));z-index:900;background:#c9f318;color:#000;border:1px solid #a4cf08;border-radius:999px;padding:13px 20px;min-height:46px;font:700 15px Inter,Arial,sans-serif;box-shadow:0 5px 22px #08377a44;}
@media(max-width:767px){.unified-login{padding-bottom:90px!important;}}
.pwa-install-overlay{z-index:10000;}
.pwa-install-overlay .modal{max-width:520px;}
.pwa-guide-body{padding:24px;line-height:1.6;}
.pwa-guide-body img{display:block;width:64px;height:64px;border-radius:14px;}
.pwa-guide-body small{display:block;color:#52657d;}
@media(max-width:767px){#installMarketPwa:not([hidden]){right:12px;bottom:max(12px,env(safe-area-inset-bottom));max-width:calc(100vw - 24px);}.pwa-guide-body{padding:18px;}}
.apparel-modal{max-width:1100px!important}.apparel-body,.apparel-model{padding:18px}.apparel-generate{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin:18px 0}.apparel-modal table input:not([type=checkbox]){min-width:85px;width:100%;max-width:170px;padding:8px}.apparel-modal table input[type=file]{max-width:130px}.apparel-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.apparel-choice-grid button{padding:18px;text-align:left;border:1px solid #cdddff;border-radius:12px;background:#f5f9ff;cursor:pointer}.apparel-choice-grid span,.apparel-model small{display:block;margin-top:5px}.apparel-choice-grid button:disabled{opacity:.5}.apparel-workspace{margin-bottom:18px}.apparel-model{border-top:1px solid #e5ebf4}.apparel-model h3{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.apparel-body [data-error]{color:#b42318}.apparel-workspace .panelhead{flex-wrap:wrap;gap:10px}
.apparel-modal{width:min(1100px,calc(100vw - 32px))!important}
@media(max-width:767px){.apparel-modal .tablewrap{overflow:visible}.apparel-modal table,.apparel-modal tbody{display:block;width:100%}.apparel-modal thead{display:none}.apparel-modal tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px;margin:12px 0;border:1px solid #dce6f4;border-radius:12px}.apparel-modal tbody td{display:block;padding:0;min-width:0}.apparel-modal tbody td::before{content:attr(data-label);display:block;font-size:12px;font-weight:700;margin-bottom:5px}.apparel-modal table input:not([type=checkbox]){max-width:100%;min-width:0}.apparel-generate{display:grid;grid-template-columns:1fr}.apparel-generate>*{min-width:0}}
/* 059: apparel inventory and editor */
.apparel-body{background:#f3f6fb;padding:22px}.apparel-body [hidden]{display:none!important}.apparel-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.apparel-tabs button{background:#e7eef9;border:1px solid #ccdaed;border-radius:10px;padding:12px 18px;color:#294668;font-weight:700;cursor:pointer}.apparel-tabs button.selected{background:#d5f571;color:#152b08;border-color:#a6ce36}.apparel-section-title h3{margin:0;color:#123761}.apparel-section-title p{color:#5b6f89;margin:6px 0 20px}.apparel-modal .formgrid{background:#fff;padding:20px;border:1px solid #dbe5f2;border-radius:14px}.apparel-modal input,.apparel-modal select{border:1px solid #c8d7e8;border-radius:8px;padding:10px;width:100%;min-width:0;background:#fff;color:#16304e}.apparel-modal input[readonly]{background:#eaf0f7;color:#5a6e86}.apparel-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:16px 0}.apparel-note{padding:14px;background:#e8f1ff;border-left:3px solid #3885e8;border-radius:8px;color:#375574;line-height:1.5}.apparel-selectors{display:grid;grid-template-columns:1fr 1fr;gap:16px}.apparel-selection{padding:18px;border:1px solid #cddcf0;background:#fff;border-radius:14px}.apparel-selection h3{margin-top:0;color:#19416d}.attribute-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid #cbd9e9;border-radius:9px;background:#f6f9fd;padding:10px 14px;margin:4px;font-weight:700;color:#304966;cursor:pointer}.attribute-chip.selected{background:#d9f689;border-color:#8eaf34;color:#1d3207;box-shadow:0 0 0 1px #a2c955}.attribute-chip i{width:15px;height:15px;border-radius:50%;border:1px solid #8194a9}.attribute-inline{border:0;background:transparent;color:#0662d6;font-weight:700;cursor:pointer;text-align:left;padding:10px 0}.apparel-variant-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.apparel-variant-card{background:#fff;border:1px solid #d3e0ef;border-radius:14px;padding:16px;box-shadow:0 3px 10px #1b406509}.apparel-variant-card header{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-bottom:12px;border-bottom:1px solid #e4ecf6;color:#113b69}.apparel-variant-card .danger{color:#b72d3d;background:#fff2f4;border:1px solid #f0c6cd;font-size:12px;padding:8px}.variant-photo{margin:14px 0;text-align:center;background:#eef4fb;border-radius:12px;padding:10px;min-height:126px}.variant-photo img{height:120px;max-width:100%;object-fit:contain;border-radius:8px}.variant-photo button{background:#fff;border:1px solid #bfd0e5;padding:8px;border-radius:7px;cursor:pointer;margin:3px;color:#245b93}.variant-photo .photo-upload{height:106px;width:100%;border:2px dashed #a9c5e6;background:#eaf3ff;font-weight:700}.variant-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}.variant-active{display:flex;align-items:center;gap:8px;color:#26543c}.variant-active input{width:auto}.attribute-row{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:12px;border:1px solid #dce6f2;border-radius:10px;background:#fff;padding:12px;margin:9px 0}.attribute-row span{color:#62758e;font-size:13px}.attribute-row button{margin:3px}.apparel-empty{padding:28px;text-align:center;color:#5d748e;background:#eef4fb;border-radius:12px}.apparel-inventory-header{padding:22px;background:linear-gradient(120deg,#e7f1ff,#f1f9e6);border-bottom:1px solid #d7e3f1;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.apparel-inventory-header h2{margin:8px 0;color:#10375f}.apparel-inventory-header small{letter-spacing:1px;color:#3975b2;font-weight:700}.apparel-inventory-header p{margin:0;color:#59718c}.apparel-browser-controls{padding:20px;background:#f8fbff}.apparel-browser-filters{display:grid;grid-template-columns:2fr repeat(4,1fr) auto;gap:10px}.apparel-browser-filters input,.apparel-browser-filters select{min-width:0;width:100%;border:1px solid #ccdced;border-radius:9px;padding:10px}.apparel-inventory-grid{padding:20px;display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:16px}.apparel-inventory-card{border:1px solid #d6e3f0;border-radius:14px;overflow:hidden;background:#fff}.apparel-card-photo{height:160px;background:#edf4fc;position:relative;display:flex;align-items:center;justify-content:center}.apparel-card-photo img{width:100%;height:100%;object-fit:contain}.apparel-card-photo b{position:absolute;top:10px;right:10px;border-radius:20px;background:#d5f571;padding:5px 10px;color:#142d06}.apparel-placeholder{font-size:68px;color:#79a3d1}.apparel-card-copy{padding:14px}.apparel-card-copy h3{font-size:16px;margin:0 0 8px;color:#153c66}.apparel-card-copy small{color:#627a96}.apparel-card-actions{display:flex;gap:8px;flex-wrap:wrap;padding:0 14px 14px}.apparel-card-actions button{font-size:12px;padding:9px}.apparel-pagination{padding:15px 20px;display:flex;align-items:center;justify-content:end;gap:10px;border-top:1px solid #e1eaf5}.apparel-pagination span{margin-right:auto;color:#55708e}.apparel-downloads{padding:0 20px}.apparel-matrix small{display:block;color:#5d7290}.apparel-matrix{overflow:auto!important}.apparel-matrix table{display:table!important;min-width:450px}.apparel-matrix thead{display:table-header-group!important}.apparel-matrix tbody{display:table-row-group!important}.apparel-matrix tbody tr{display:table-row!important}.apparel-matrix tbody td{display:table-cell!important}.apparel-matrix td::before{display:none!important}
@media(max-width:900px){.apparel-browser-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.apparel-browser-filters input{grid-column:1/-1}.attribute-row{grid-template-columns:1fr 1fr}.attribute-row>div{grid-column:1/-1}}
@media(max-width:600px){.apparel-body{padding:12px}.apparel-modal .formgrid{padding:14px;grid-template-columns:1fr}.apparel-selectors,.apparel-variant-grid{grid-template-columns:1fr}.apparel-variant-card header{flex-wrap:wrap}.apparel-inventory-grid{padding:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.apparel-card-photo{height:125px}.apparel-card-copy{padding:10px}.apparel-card-copy h3{font-size:14px}.apparel-card-actions{padding:0 10px 10px}.apparel-card-actions button{width:100%}.apparel-pagination{flex-wrap:wrap}.apparel-pagination span{width:100%}.apparel-inventory-header{padding:16px}.apparel-browser-controls{padding:12px}.apparel-tabs button{padding:10px 12px}}
.apparel-overlay{z-index:10050;padding:16px!important}.apparel-modal{display:flex;flex-direction:column;max-height:calc(100dvh - 32px);overflow:hidden!important}.apparel-modal>.modalhead,.apparel-modal .modalfooter{flex-shrink:0}.apparel-modal>form{display:flex;flex-direction:column;overflow:hidden;min-height:0}.apparel-modal .apparel-body{overflow:auto;min-height:0}.apparel-modal .modalfooter{flex-wrap:wrap;gap:8px}.apparel-modal input[type=file][hidden]{display:none!important}
/* 060: readable, vivid model matrix; scoped to this modal. */
.apparel-matrix-modal .modalhead{background:linear-gradient(115deg,#123d86,#126dff);padding:23px 26px}.apparel-matrix-modal .modalhead h2{font-size:23px;font-weight:800;line-height:1.3}.apparel-matrix-modal .apparel-body{background:linear-gradient(140deg,#eef5ff,#f6faef);padding:24px}.matrix-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:22px}.matrix-summary article{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px 20px;background:#fff;border:1px solid #c5d9f1;border-radius:14px;box-shadow:0 4px 12px #1e4c8b0b}.matrix-summary article:nth-child(2){background:#e7f8db;border-color:#badf91}.matrix-summary article:nth-child(3){background:#e4efff;border-color:#b9d1fa}.matrix-summary span{font-size:16px;font-weight:700;color:#28466b}.matrix-summary strong{font-size:30px;color:#164884;line-height:1}.matrix-summary article:nth-child(2) strong{color:#276511}.apparel-matrix-modal .apparel-matrix{border:1px solid #c9dced;border-radius:16px;background:#fff;box-shadow:0 5px 18px #2447790a}.apparel-matrix-modal .apparel-matrix table{width:100%;border-collapse:separate;border-spacing:0;min-width:450px}.apparel-matrix-modal .apparel-matrix th{background:#e8f1ff;color:#1b4579;font-size:17px;font-weight:800;padding:16px;text-transform:none;letter-spacing:0}.matrix-size{display:inline-flex;justify-content:center;align-items:center;min-width:52px;padding:8px 14px;border-radius:10px;background:#1763db;color:#fff;font-size:21px;box-shadow:0 3px 7px #1763db20}.matrix-color{display:flex;align-items:center;gap:11px;font-size:18px}.matrix-color i{width:22px;height:22px;border-radius:50%;border:2px solid #94acc6;box-shadow:0 2px 4px #16375915;flex-shrink:0}.apparel-matrix-modal .apparel-matrix td{padding:14px;background:#fff;min-width:180px;vertical-align:middle;border-bottom:1px solid #e0eaf5}.matrix-stock{padding:16px 18px;border:1px solid #bfdad0;border-radius:12px;background:linear-gradient(120deg,#edf9f2,#f9fff9)}.matrix-stock>div{display:flex;align-items:baseline;gap:9px}.matrix-stock b{font-size:32px;font-weight:800;color:#155937;line-height:1.2}.matrix-stock>div span{font-size:15px;color:#335c49}.matrix-price{display:block;font-size:19px;color:#114eaa;margin:9px 0}.matrix-status{display:inline-block;padding:5px 10px;background:#cceedd;border-radius:20px;font-size:13px;font-weight:800;color:#125833}.matrix-stock.empty{background:#fff7e6;border-color:#efcf92}.matrix-stock.empty b,.matrix-stock.empty>div span{color:#805208}.matrix-stock.empty .matrix-status{background:#ffebbe;color:#805208}.matrix-stock.inactive{background:#eef1f6;border-color:#ccd5e0}.matrix-stock.inactive b,.matrix-stock.inactive>div span{color:#586a80}.matrix-stock.inactive .matrix-status{background:#dce3ed;color:#4c6079}.matrix-missing{color:#667b95;font-size:16px}.apparel-matrix-modal .modalfooter{background:#fff;border-top:1px solid #d6e4f4;padding:16px 24px}.apparel-matrix-modal .modalfooter .btn{font-size:16px;padding:12px 26px}
@media(max-width:600px){.apparel-matrix-modal .modalhead{padding:18px 16px}.apparel-matrix-modal .modalhead h2{font-size:20px}.apparel-matrix-modal .apparel-body{padding:14px}.matrix-summary{gap:8px}.matrix-summary article{flex-direction:column;align-items:start;padding:12px 10px;gap:9px}.matrix-summary span{font-size:13px}.matrix-summary strong{font-size:25px}.apparel-matrix-modal .apparel-matrix th{padding:12px;font-size:16px}.apparel-matrix-modal .apparel-matrix td{padding:10px;min-width:155px}.matrix-color{font-size:16px}.matrix-stock{padding:13px}.matrix-stock b{font-size:29px}.matrix-price{font-size:18px}}
.apparel-matrix-modal .matrix-stock{text-align:left}.apparel-matrix-modal .apparel-matrix td{text-align:left}
/* 061: direct access to the existing catalogue detail editor. */
.apparel-card-actions .apparel-catalog-button{width:100%;display:flex;align-items:center;justify-content:center;gap:7px;background:#e8f2ff;border:1px solid #b7d2f5;color:#1254a7;font-weight:700}.apparel-card-actions .apparel-catalog-button:hover{background:#d8eaff;border-color:#7cabec}
/* 062: whole-model actions use the existing protected variant save. */
.apparel-card-actions .apparel-model-delete{color:#a8253a;background:#fff1f3;border:1px solid #eabac3;font-weight:700}.apparel-card-actions .apparel-model-delete:hover{background:#ffe2e8}.apparel-removal-summary{display:flex;flex-direction:column;gap:8px;border:1px solid #c8dbf2;background:#fff;border-radius:14px;padding:20px}.apparel-removal-summary strong{font-size:22px;color:#173e6b}.apparel-removal-summary span{color:#56718f;font-size:16px}.apparel-removal-warning{padding:16px;border:1px solid #efce93;background:#fff5df;border-radius:12px;color:#7e500c;line-height:1.5}.apparel-removal-options{display:grid;gap:12px}.apparel-removal-options label{display:flex;gap:12px;padding:18px;border:1px solid #cadbef;border-radius:12px;background:#fff;cursor:pointer}.apparel-removal-options input{width:auto!important;align-self:start;margin-top:5px}.apparel-removal-options b{display:block;color:#234568;font-size:16px}.apparel-removal-options small{display:block;margin-top:7px;color:#5e748e;line-height:1.5}.apparel-remove-confirm{background:#b62d45;color:#fff;border:1px solid #982139}.apparel-removal-options label:has(input:checked){border-color:#80afe8;background:#edf5ff}
/* 063: each sales variant displays its own product photo. */
.apparel-picker-modal .apparel-choice-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.apparel-picker-modal .apparel-choice-grid button{padding:0;overflow:hidden;background:#fff;border:1px solid #c5d8ef;border-radius:14px;box-shadow:0 3px 10px #173f6a0a;transition:border-color .15s,box-shadow .15s}.apparel-picker-modal .apparel-choice-grid button:not(:disabled):hover{border-color:#287bdf;box-shadow:0 4px 14px #287bdf26}.apparel-picker-modal .apparel-choice-grid button:focus-visible{outline:3px solid #88b6f7;outline-offset:3px}.apparel-choice-media{position:relative;height:170px;display:flex;align-items:center;justify-content:center;background:#f0f5fc;border-bottom:1px solid #e0eaf5;padding:8px}.apparel-choice-media img{width:100%;height:100%;object-fit:contain;border-radius:8px;background:#fff}.apparel-choice-fallback{display:flex!important;flex-direction:column;align-items:center;gap:10px;color:#688ab0;font-size:14px}.apparel-choice-fallback i{font-size:42px}.apparel-choice-copy{padding:16px}.apparel-choice-copy b{display:block;font-size:17px;color:#173c65;line-height:1.4}.apparel-picker-modal .apparel-choice-stock{margin:0;position:absolute;top:12px;right:12px;display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;max-width:calc(100% - 24px);padding:6px 12px;border-radius:24px;background:#d5f571;color:#183407;font-size:26px;font-weight:850;line-height:1.1;box-shadow:0 2px 8px #18340720;overflow-wrap:anywhere}.apparel-choice-price{display:block;color:#0755bf;font-size:20px;font-weight:800}.apparel-picker-modal .apparel-choice-grid button:disabled{opacity:.6;cursor:not-allowed}
@media(max-width:600px){.apparel-picker-modal .apparel-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.apparel-choice-media{height:125px}.apparel-choice-copy{padding:12px}.apparel-choice-copy b{font-size:15px}.apparel-choice-price{font-size:18px}.apparel-picker-modal .apparel-choice-stock{top:10px;right:10px;min-width:40px;min-height:40px;font-size:24px;padding:5px 10px}}

/* 065: per-variant photos in the inventory matrix. */
.apparel-matrix-modal .matrix-photo{margin:0 0 14px;height:120px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #d7e5f1;border-radius:10px;overflow:hidden}.apparel-matrix-modal .matrix-photo img{width:100%;height:100%;object-fit:contain}.apparel-matrix-modal .matrix-photo span{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:14px;color:#607a96}.apparel-matrix-modal .matrix-photo i{font-size:27px}.apparel-matrix-modal .matrix-photo [hidden]{display:none!important}@media(max-width:600px){.apparel-matrix-modal .matrix-photo{height:100px;margin-bottom:12px}}

/* 066: sales product cards use the inventory card proportions and visual language. */
.main:has(.pos-compact-header) .productgrid-modern.apparel-sales-catalog{grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:16px;padding:20px;align-content:start}
.main:has(.pos-compact-header) .productgrid-modern.apparel-sales-catalog .productcard-modern{min-width:0;min-height:0;display:flex;flex-direction:column;padding:0;border:1px solid #d6e3f0;border-radius:14px;overflow:hidden;background:#fff;text-align:left;box-shadow:none}
.main:has(.pos-compact-header) .productgrid-modern.apparel-sales-catalog .productcard-modern .productcard-media{position:relative;width:100%;height:160px;flex:0 0 160px;padding:0;display:flex;align-items:center;justify-content:center;background:#edf4fc;overflow:hidden}
.main:has(.pos-compact-header) .productgrid-modern.apparel-sales-catalog .productcard-modern .productcard-media>img.product-image{display:block;width:100%;height:100%;max-width:none;max-height:none;padding:0;margin:0;object-fit:contain;object-position:center;transform:none}
.main:has(.pos-compact-header) .productgrid-modern.apparel-sales-catalog .productcard-modern .stock-pill{position:absolute;top:10px;right:10px;min-width:30px;padding:5px 10px;border:0;border-radius:20px;background:#d5f571;color:#142d06;font-size:16px;font-weight:800;line-height:1.2}
.main:has(.pos-compact-header) .productgrid-modern.apparel-sales-catalog .productcard-modern .stock-pill.warn{background:#ffebbe;color:#805208}
.main:has(.pos-compact-header) .productgrid-modern.apparel-sales-catalog .productcard-modern .stock-pill.sold-out{background:#ffe9e6;color:#ad3831}
.main:has(.pos-compact-header) .productgrid-modern.apparel-sales-catalog .productcard-modern .productcard-body{width:100%;padding:14px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left}
.main:has(.pos-compact-header) .productgrid-modern.apparel-sales-catalog .productcard-modern .productcard-body b{min-height:0;font-size:16px;line-height:1.35;font-weight:700;color:#153c66;overflow-wrap:anywhere}
.main:has(.pos-compact-header) .productgrid-modern.apparel-sales-catalog .productcard-modern .productcard-price{font-size:20px;font-weight:800;line-height:1.3;color:#0d61cf}
.main:has(.pos-compact-header) .productgrid-modern.apparel-sales-catalog .productcard-modern .productcard-category{font-size:13px;line-height:1.4;color:#627a96}
.main:has(.pos-compact-header) .productgrid-modern.apparel-sales-catalog .productcard-modern:hover:not(:disabled){border-color:#80b3ff;box-shadow:0 5px 15px #17396912}
.main:has(.pos-compact-header) .productgrid-modern.apparel-sales-catalog .productcard-modern:focus-visible{outline:3px solid #1763db;outline-offset:2px}
@media(max-width:600px){.main:has(.pos-compact-header) .productgrid-modern.apparel-sales-catalog{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px}.main:has(.pos-compact-header) .productgrid-modern.apparel-sales-catalog .productcard-modern .productcard-body{padding:12px}.main:has(.pos-compact-header) .productgrid-modern.apparel-sales-catalog .productcard-modern .productcard-body b{font-size:15px}}
.main:has(.pos-compact-header) .productgrid-modern.apparel-sales-catalog .productcard-modern .productcard-category{text-align:left;width:100%}

/* 067: preserve compact Market cards and prevent compressed catalog rows. */
.main:has(.pos-compact-header) .productgrid-modern{grid-auto-rows:max-content;align-content:start}
.main:has(.pos-compact-header) .market-sales-catalog .productcard-modern{min-height:208px;flex-shrink:0}
.main:has(.pos-compact-header) .market-sales-catalog .productcard-body{min-height:76px;flex:0 0 auto}
.mobile-product-scan,.product-prices-mobile{display:none}
.product-barcode-entry{display:flex;gap:8px;min-width:0}.product-barcode-entry input{width:100%;min-width:0;flex:1}
@media(max-width:767px){
 .pos-cart-customer,.quick-customer-field{display:none!important}
 .main:has(.pos-compact-header) .slotbar{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
 .main:has(.pos-compact-header) .slotbar .sale-filter{flex:1;min-width:115px;max-width:240px;margin:0}
 .slotbar .sale-filter span{display:none}.slotbar .sale-filter select{width:100%;min-width:0;height:34px;font-size:12px;border:1px solid #ccdaed;border-radius:8px;background:#fff;padding:5px}
 .main:has(.pos-compact-header) .slotbar .scan-trigger{margin-left:0}
 [data-action=downloadInventoryCsv],[data-action=downloadInventoryTemplate],
 [data-inventory-tab=lotes],[data-inventory-tab=retiros],[data-inventory-tab=etiquetas],[data-inventory-tab=barras],[data-inventory-tab=historial]{display:none!important}
 .config-tabs:has([data-inventory-tab]){display:flex;flex-wrap:nowrap;gap:5px;overflow-x:auto}
 .config-tabs:has([data-inventory-tab]) .config-tab{flex:1 0 auto;padding:10px 7px;font-size:12px;white-space:nowrap}
 .mobile-product-scan{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px}
 .product-prices-desktop{display:none}.product-prices-mobile{display:inline}
 .market-product-modal.new-product [data-market-product-tab=catalog]{display:none}
 .market-product-modal.new-product .market-product-tabs{display:flex;flex-wrap:nowrap;overflow:visible;gap:4px}
 .market-product-modal.new-product .market-product-tabs button{flex:1;min-width:0;white-space:nowrap;padding:10px 5px;font-size:13px}
}
/* Catalog KPI surfaces, with a static soft highlight. */
.catalog-admin .catalog-stat-card{position:relative;overflow:hidden;background:linear-gradient(125deg,#dceaff,#b8d7ff);border-color:#aecbf0;box-shadow:0 5px 16px #24579512}
.catalog-admin .catalog-stat-card:nth-child(2){background:linear-gradient(125deg,#ddf6ff,#a9e0f5);border-color:#a9d9eb}
.catalog-admin .catalog-stat-card.is-published{background:linear-gradient(125deg,#d9f7e4,#a7e5c4);border-color:#a0d9bc}
.catalog-admin .catalog-stat-card.is-draft{background:linear-gradient(125deg,#fff4da,#f4d8a4);border-color:#e4c58c}
.catalog-admin .catalog-stat-card::after{content:"";position:absolute;inset:0;background:linear-gradient(125deg,transparent 45%,#ffffff65 46%,#ffffff12 70%,transparent 71%);pointer-events:none}
.catalog-admin .catalog-stat-card>div{position:relative;z-index:1}.catalog-admin .catalog-stat-card small,.catalog-admin .catalog-stat-card span{color:#244666}.catalog-admin .catalog-stat-card__icon{background:#ffffffa8}
.catalog-field input[readonly]{background:#edf3fa;color:#274668;cursor:default}
@media(max-width:767px){.main:has(.pos-compact-header) .slotbar .sale-filter select{height:36px;line-height:1.2;padding:6px 7px!important}}

/* 069: only dashboard KPI backgrounds change; geometry, content and icons are retained. */
.dash-v3-kpi.blue{background-image:linear-gradient(125deg,transparent 45%,#ffffff65 46%,#ffffff12 70%,transparent 71%),linear-gradient(125deg,#dceaff,#b8d7ff)}
.dash-v3-kpi.green{background-image:linear-gradient(125deg,transparent 45%,#ffffff65 46%,#ffffff12 70%,transparent 71%),linear-gradient(125deg,#d9f7e4,#a7e5c4)}
.dash-v3-kpi.violet{background-image:linear-gradient(125deg,transparent 45%,#ffffff65 46%,#ffffff12 70%,transparent 71%),linear-gradient(125deg,#eee2ff,#d5c1fa)}
.dash-v3-kpi.red{background-image:linear-gradient(125deg,transparent 45%,#ffffff65 46%,#ffffff12 70%,transparent 71%),linear-gradient(125deg,#ffe4e8,#f7bdc8)}
/* 072: mobile continuous scanner control and feedback. */
.scanner-continuous-toggle{display:none}
.scanner-continuous-note{padding:10px 12px;margin-bottom:12px;border:1px solid #b6dcba;border-radius:10px;background:#e8f7ed;color:#1c6338;font-size:13px;font-weight:700}
.scanner-body [data-status]{padding:10px;border-radius:8px;background:#edf4fc;line-height:1.4}.scanner-body [data-result=success]{background:#e4f6e9;color:#165b30}.scanner-body [data-result=error]{background:#fff0ec;color:#923727}
@media(max-width:767px){.main:has(.pos-compact-header) .sale-mode-tabs{display:flex;flex-wrap:nowrap;gap:5px;align-items:stretch}.main:has(.pos-compact-header) .sale-mode-tab{flex:1;min-width:0;padding:10px 5px!important;gap:5px;font-size:13px}.main:has(.pos-compact-header) .sale-mode-tab span{white-space:nowrap}.scanner-continuous-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;flex:0 0 44px;min-height:44px;padding:5px;border:1px solid #ccd8e7;border-radius:10px;background:#edf2f8;color:#59718c}.scanner-continuous-toggle i{font-size:18px}.scanner-continuous-toggle small{font-size:9px;font-weight:800;line-height:1}.scanner-continuous-toggle.is-on{background:#d8f581;border-color:#aacd4e;color:#27520d}.scanner-modal .scanner-body{max-height:calc(100dvh - 100px);overflow-y:auto}}

/* Sales camera controls are shared by every business type, only on phones. */
.slotbar .scan-trigger{display:none}
@media(max-width:767px){.slotbar .scan-trigger{display:inline-flex;align-items:center;justify-content:center}}

/* 076: professional orders workspace, scoped to preserve other modules. */
.orders-workspace{color:#12365d;font-size:16px;min-width:0}
.orders-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px;border:1px solid #cfdef2;border-radius:18px;background:linear-gradient(115deg,#e5efff,#eefbfa);margin-bottom:18px}
.orders-hero small{font-size:12px;font-weight:800;letter-spacing:1px;color:#2865b3}.orders-hero h2{font-size:26px;margin:7px 0;display:flex;gap:10px;align-items:center}.orders-hero p{margin:0;font-size:15px;color:#5b7391}
.orders-create,.orders-tabs,.orders-actions,.orders-pagination,.orders-pagination>div{display:flex;gap:10px;align-items:center}.orders-create .btn,.orders-actions .btn,.orders-pagination .btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:14px!important;min-height:42px;padding:10px 13px!important;white-space:nowrap}
.orders-tabs{margin-bottom:18px}.orders-tabs button{display:flex;gap:9px;align-items:center;min-height:46px;padding:11px 17px;border:1px solid #cedff6;border-radius:12px;background:#f6f9fe;color:#365b86;font-size:16px;font-weight:750}.orders-tabs button.selected{background:#1663dd;border-color:#1663dd;color:#fff;box-shadow:0 5px 14px #1565d726}.orders-tabs span{padding:2px 8px;border-radius:20px;background:#ffffffa8;color:#194d93;font-size:13px}
.orders-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.orders-kpi{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;gap:15px;padding:20px;border:1px solid #c5daf5;border-radius:16px;min-height:116px;background:linear-gradient(110deg,#dfebff,#bad6ff)}.orders-kpi:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(125deg,transparent 43%,#ffffff4a 43.5%,#ffffff12 70%,transparent 70.5%);pointer-events:none}.orders-kpi--cyan{background:linear-gradient(110deg,#daf6ff,#a9e2f2);border-color:#a0dfef}.orders-kpi--purple{background:linear-gradient(110deg,#ede4ff,#d5c4f8);border-color:#d4c0f3}.orders-kpi--green{background:linear-gradient(110deg,#ddf8e8,#a7e5c5);border-color:#a4dbbc}.orders-kpi-icon{display:grid;place-items:center;flex:none;width:52px;height:52px;border-radius:17px;background:#ffffffaa;color:#1764de;font-size:25px}.orders-kpi--purple .orders-kpi-icon{color:#7545cc}.orders-kpi--green .orders-kpi-icon{color:#07965b}.orders-kpi>div>span{display:block;font-size:14px;font-weight:750}.orders-kpi strong{display:block;font-size:30px;line-height:1.2;margin:5px 0}.orders-kpi small{font-size:12px;color:#526c8b}
.orders-results{background:white;border:1px solid #d6e3f4;border-radius:17px}.orders-filters{display:grid;grid-template-columns:minmax(220px,2fr) minmax(140px,1fr) minmax(140px,1fr) auto auto;gap:12px;align-items:end;padding:20px;background:#f7faff;border-radius:17px 17px 0 0}.orders-filters label{display:grid;gap:7px;min-width:0}.orders-filters label>span{font-size:13px;font-weight:750;color:#4f698b}.orders-filters input,.orders-filters select{width:100%;min-height:44px;padding:10px 12px;font-size:15px;border:1px solid #cdddf3;border-radius:10px;background:white;color:#173c6a}.orders-search>div{display:flex;align-items:center;position:relative}.orders-search>div>i{position:absolute;left:12px;color:#4679ba}.orders-search input{padding-left:36px}.orders-filters>.btn{min-height:44px;font-size:14px;display:flex;gap:7px;align-items:center;justify-content:center}.orders-advanced summary{cursor:pointer;display:flex;gap:7px;align-items:center;padding:12px;border:1px solid #ccdcef;border-radius:10px;color:#2f5c92;background:#fff;font-size:14px;min-height:44px;box-sizing:border-box}.orders-advanced[open]{grid-column:1/-1;grid-row:2}.orders-advanced[open] summary{border:0;background:transparent;padding:6px 0;min-height:30px}.orders-advanced>div{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;padding:10px 0 2px}.orders-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px;border-bottom:1px solid #e1eaf5}.orders-list-head h3{font-size:19px;margin:0}.orders-list-head h3 small{font-size:13px;font-weight:500;color:#657c96;margin-left:8px}.orders-list-head>span{font-size:13px;color:#587598;display:flex;align-items:center;gap:7px}
.orders-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(150px,1.3fr) minmax(130px,1fr) minmax(110px,.75fr) 325px;gap:16px;align-items:center;padding:20px;border-bottom:1px solid #e6edf7}.orders-row:last-child{border-bottom:0}.orders-row:hover{background:#fafcff}.orders-row-identity,.orders-row-client,.orders-row-origin,.orders-row-total{display:grid;gap:7px;min-width:0}.orders-row-identity>strong{font-size:17px;color:#1558b3}.orders-row-client>strong{font-size:16px;overflow-wrap:anywhere}.orders-row small{font-size:13px;color:#667e9b}.orders-row-total>strong{font-size:19px;white-space:nowrap}.orders-origin,.orders-status,.orders-next{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:750;line-height:1.4;border-radius:20px;padding:5px 9px;width:fit-content}.orders-origin--catalog{background:#e2f2ff;color:#116bb7}.orders-origin--seller{background:#ede8ff;color:#6b43b0}.orders-origin--internal{background:#eaf0f6;color:#4a6481}.orders-origin--unknown{background:#f2f3f6;color:#697789}.orders-status--pending{background:#fff4d8;color:#95620b}.orders-status--converted{background:#dff5e9;color:#147645}.orders-status--closed{background:#ffebea;color:#af4d4a}.orders-next{font-size:11px;background:#e6f6d4;color:#426e0f}.orders-seller{overflow-wrap:anywhere}.orders-more{position:relative}.orders-more summary{cursor:pointer;display:grid;place-items:center;width:38px;height:42px;border:1px solid #d4e0f1;border-radius:10px;background:white;list-style:none;color:#365d90}.orders-more summary::-webkit-details-marker{display:none}.orders-more>div{position:absolute;right:0;top:46px;z-index:10;min-width:155px;background:white;border:1px solid #d2dff1;border-radius:11px;box-shadow:0 9px 24px #193a6426;padding:6px}.orders-more button{display:flex;align-items:center;gap:9px;padding:11px;width:100%;background:white;border:0;border-radius:7px;color:#315a89;font-size:15px;text-align:left}.orders-more button:hover{background:#eef4ff}.orders-more button[data-action=cancelOrder],.orders-more button[data-action=rejectOrder]{color:#b74343}.orders-pagination{justify-content:space-between;gap:14px;padding:18px 20px;border-top:1px solid #e3ecf8;font-size:14px;color:#5a7595}.orders-empty{text-align:center;padding:48px 20px;color:#637d9c}.orders-empty>i{font-size:42px;color:#7ea9df}.orders-empty h3{font-size:19px}
.orders-detail-modal{max-width:920px!important;color:#163d67}.orders-detail-modal .modalhead{background:linear-gradient(110deg,#154589,#1569ed);color:white!important;padding:20px 24px}.orders-detail-modal .modalhead h2{font-size:24px;color:white}.orders-detail-modal .modalhead small{font-size:12px;letter-spacing:1px}.orders-detail-modal .close{color:white!important}.orders-detail-body{padding:24px;font-size:16px;overflow-y:auto;max-height:calc(85dvh - 160px)}.orders-detail-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:18px;background:#edf5ff;border:1px solid #d4e3f7;border-radius:13px;margin-bottom:20px}.orders-detail-meta>div{display:grid;gap:7px}.orders-detail-meta small{font-size:13px;color:#67809d}.orders-detail-meta strong{font-size:16px}.orders-detail-products article{display:flex;align-items:center;gap:14px;padding:15px 0;border-bottom:1px solid #e3ecf7}.orders-detail-products img,.orders-product-fallback{width:72px;height:72px;flex:none;object-fit:contain;border-radius:12px;border:1px solid #dce7f5;background:#f6f9ff}.orders-product-fallback{display:grid;place-items:center;color:#6793c7;font-size:28px}.orders-detail-products article>div{display:grid;gap:6px;flex:1;min-width:0}.orders-detail-products strong{font-size:16px}.orders-detail-products small{font-size:14px;color:#637e9e}.orders-detail-products b{font-size:17px;white-space:nowrap;color:#165ba8}.orders-detail-total{display:flex;align-items:center;justify-content:space-between;margin-top:20px;padding:18px;background:linear-gradient(110deg,#e4f1ff,#dff8ed);border-radius:12px}.orders-detail-total strong{font-size:25px;color:#165bab}.orders-detail-body>section{margin-top:22px;padding-top:10px}.orders-detail-body h3{font-size:18px}.orders-detail-body p{line-height:1.6;overflow-wrap:anywhere}.orders-detail-modal .modalfooter .btn{font-size:16px;min-height:44px}
.order-modern-modal .modalhead{background:linear-gradient(110deg,#164688,#1769ef);color:white!important;padding:21px 24px}.order-modern-modal .modalhead h2{font-size:24px;color:white}.order-modern-modal .modalhead .close{color:white!important}.order-modern-modal .field>span{font-size:15px!important;font-weight:750;color:#375b86}.order-modern-modal .order-client-section>h3,.order-modern-modal .order-section-title,.order-modern-modal .order-draft-summary h3{font-size:19px}.order-modern-modal .order-search-picker>input,.order-modern-modal .order-line input,.order-modern-modal .order-line select,.order-modern-modal .order-inline-client input{font-size:16px!important;min-height:46px!important;padding:12px!important}.order-modern-modal .order-line{grid-template-columns:minmax(240px,2.3fr) minmax(140px,1.1fr) 90px 110px 110px auto;background:linear-gradient(110deg,#fff,#f8fbff);gap:12px;border-color:#cfdff4;padding:18px}.order-modern-modal .order-selected-record img{width:76px;height:76px;object-fit:contain}.order-modern-modal .order-selected-record b{font-size:16px}.order-modern-modal .order-selected-record small,.order-modern-modal .order-search-results small{font-size:13px}.order-modern-modal .order-search-results{top:50px}.order-modern-modal .order-search-results button{display:flex;align-items:center;gap:12px;padding:13px;font-size:16px}.order-modern-modal .order-search-results button img{width:48px;height:48px;object-fit:contain;background:#f5f8ff;border-radius:8px}.order-modern-modal .order-search-results button>div{flex:1}.order-modern-modal .order-line-total,.order-modern-modal .order-draft-summary>div{font-size:16px}.order-modern-modal .order-draft-summary{max-width:480px;background:linear-gradient(120deg,#e7f2ff,#e4f8f0)}.order-modern-modal .order-draft-summary .order-total{font-size:26px}.order-modern-modal .btn{font-size:15px!important;min-height:44px}.order-modern-modal .modalfooter{background:#f6faff;border-top:1px solid #cfdef2}
@media(max-width:1250px){.orders-row{grid-template-columns:1fr 1.4fr 1fr 1fr}.orders-actions{grid-column:1/-1;justify-content:flex-end}.orders-filters{grid-template-columns:2fr 1fr 1fr}.order-modern-modal .order-line{grid-template-columns:2fr 1.2fr 1fr}.order-modern-modal .order-line-total{grid-column:1/-1}}
@media(max-width:767px){.orders-hero{padding:18px;display:block}.orders-hero h2{font-size:23px}.orders-create{margin-top:16px;flex-wrap:wrap}.orders-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.orders-kpi{padding:14px;gap:9px;min-height:112px}.orders-kpi-icon{width:37px;height:42px;font-size:21px;border-radius:13px}.orders-kpi>div>span{font-size:13px}.orders-kpi strong{font-size:27px}.orders-kpi small{font-size:10px}.orders-filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:15px;gap:10px}.orders-search{grid-column:1/-1}.orders-advanced>div{grid-template-columns:1fr}.orders-list-head{display:block;padding:15px}.orders-list-head>span{margin-top:8px;font-size:12px}.orders-list{padding:12px;background:#f6f9fe}.orders-row{grid-template-columns:1fr 1fr;padding:16px;gap:14px;margin-bottom:12px;background:white;border:1px solid #d6e3f5;border-radius:14px}.orders-row:last-child{margin-bottom:0;border-bottom:1px solid #d6e3f5}.orders-row-client{grid-column:1/-1;grid-row:2}.orders-row-origin{grid-column:1;grid-row:3}.orders-row-total{grid-column:2;grid-row:3;justify-items:end}.orders-row-identity{grid-column:1/-1}.orders-actions{grid-row:4;justify-content:stretch;flex-wrap:wrap;gap:8px}.orders-actions .btn{flex:1;font-size:13px!important;padding:10px!important}.orders-more>div{top:auto;bottom:46px}.orders-pagination{padding:15px;flex-wrap:wrap;justify-content:center}.orders-detail-meta{grid-template-columns:1fr}.orders-detail-body{padding:16px;max-height:calc(90dvh - 150px)}.orders-detail-products img,.orders-product-fallback{width:56px;height:56px}.orders-detail-products article{flex-wrap:wrap;gap:10px}.orders-detail-products article>b{margin-left:auto}.orders-detail-products strong{overflow-wrap:anywhere}.order-modern-modal .order-line{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px}.order-modern-modal .order-line>label:first-child{grid-column:1/-1}.order-modern-modal .order-line>label{min-width:0}.order-modern-modal .formgrid{padding:15px}.order-modern-modal .order-draft-summary{max-width:none}.orders-tabs button{padding:10px 12px;font-size:15px}.orders-detail-modal .modalhead,.order-modern-modal .modalhead{padding:18px}}
.orders-kpi>div{min-width:0}.order-modern-modal .modalfooter{display:flex;align-items:center;gap:10px}.order-footer-total{margin-right:auto;font-size:21px;color:#165cae;white-space:nowrap}
@media(max-width:767px){.order-modern-modal .modalfooter{flex-wrap:wrap}.order-footer-total{width:100%;font-size:21px}}
.orders-tabs{flex-wrap:wrap}

.order-editor-overlay,.orders-detail-overlay{z-index:2200!important}.order-modern-modal{display:flex;flex-direction:column;max-height:calc(100dvh - 24px);overflow:hidden!important}.order-modern-modal>.modalhead{flex-shrink:0}.order-modern-modal>form{display:flex;flex-direction:column;min-height:0;overflow:hidden}.order-modern-modal .formgrid{overflow:auto;min-height:0}.order-modern-modal .modalfooter{flex-shrink:0;position:static}.orders-actions{justify-content:flex-end}

/* Visible color samples in the apparel attribute dialogs. */
.apparel-modal .attribute-name{display:flex;align-items:center;gap:12px;min-width:0;overflow-wrap:anywhere}
.apparel-modal .attribute-color-swatch{display:inline-block;width:30px;height:30px;flex:0 0 30px;border-radius:50%;border:1px solid #8a9bb0;box-shadow:inset 0 0 0 2px #ffffff60}
.apparel-modal .attribute-color-swatch.unspecified{background:linear-gradient(135deg,#eef2f7 46%,#8a9bb0 47%,#8a9bb0 53%,#eef2f7 54%)}
.apparel-modal .apparel-color-field{display:block;margin-top:16px}
.apparel-modal .apparel-color-control{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:8px}
.apparel-modal .apparel-color-control input[type=color]{width:76px;height:52px;min-height:52px;padding:4px;flex:0 0 76px;cursor:pointer}
.apparel-modal .apparel-color-control input[type=color]::-webkit-color-swatch-wrapper{padding:2px}
.apparel-modal .apparel-color-control input[type=color]::-webkit-color-swatch{border:1px solid #8a9bb0;border-radius:5px}
.apparel-modal .apparel-color-control input[type=color]::-moz-color-swatch{border:1px solid #8a9bb0;border-radius:5px}
.apparel-modal .apparel-color-preview{display:block;width:52px;height:52px;border-radius:12px;border:1px solid #8a9bb0;box-shadow:inset 0 0 0 2px #ffffff60}
.apparel-modal .apparel-color-control output{font-size:16px;font-weight:700;color:#274b73}

/* Cart theme is session-only and desktop-only, for every business type. */
.cart-theme-toggle{display:none}
@media(min-width:768px){
.pos-cart-reference .sale-cart-header{display:flex;align-items:center;justify-content:space-between;gap:8px}
.pos-cart-reference .sale-cart-header h3{min-width:0}
.pos-cart-reference .cart-theme-toggle{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;border:1px solid #cbd7e7;border-radius:8px;background:#f4f7fc;color:#294567;padding:6px 8px;font-size:11px;font-weight:750;cursor:pointer}
.pos-cart-reference .cart-theme-toggle:focus-visible{outline:3px solid #88b6f7;outline-offset:2px}
.pos-cart-reference.cart-theme-dark{background:#0b0d0b!important;color:#fff!important;border-color:#ffffff55!important;box-shadow:0 4px 16px #bec5be25;color-scheme:dark}
.pos-cart-reference.cart-theme-dark .sale-cart-header,.pos-cart-reference.cart-theme-dark .pos-cart-customer,.pos-cart-reference.cart-theme-dark .pos-cart-items,.pos-cart-reference.cart-theme-dark .pos-cart-footer{background:#0b0d0b!important;color:#fff!important;border-color:#ffffff55!important}
.pos-cart-reference.cart-theme-dark .sale-cart-header h3,.pos-cart-reference.cart-theme-dark .pos-cart-customer label,.pos-cart-reference.cart-theme-dark .pos-discount-heading,.pos-cart-reference.cart-theme-dark .pos-cart-math span,.pos-cart-reference.cart-theme-dark .qty-compact span,.pos-cart-reference.cart-theme-dark .pos-cart-item-top b,.pos-cart-reference.cart-theme-dark .pos-cart-empty p{color:#fff!important}
.pos-cart-reference.cart-theme-dark .sale-cart-header h3 small,.pos-cart-reference.cart-theme-dark .pos-cart-item-meta,.pos-cart-reference.cart-theme-dark .pos-cart-empty span{color:#c4cac4!important}
.pos-cart-reference.cart-theme-dark .pos-cart-item{background:linear-gradient(130deg,#151815,#101310)!important;border-color:#ffffff35;box-shadow:0 2px 8px #bec5be15}
.pos-cart-reference.cart-theme-dark select,.pos-cart-reference.cart-theme-dark input,.pos-cart-reference.cart-theme-dark .qty-compact,.pos-cart-reference.cart-theme-dark .qty-compact button,.pos-cart-reference.cart-theme-dark .pos-customer-controls button,.pos-cart-reference.cart-theme-dark .cart-theme-toggle{background:#151815!important;border-color:#ffffff66!important;color:#fff!important}
.pos-cart-reference.cart-theme-dark .pos-cart-item-bottom strong,.pos-cart-reference.cart-theme-dark .pos-cart-math b,.pos-cart-reference.cart-theme-dark .pos-final-total strong,.pos-cart-reference.cart-theme-dark .cart-edit,.pos-cart-reference.cart-theme-dark .qty-compact button,.pos-cart-reference.cart-theme-dark .pos-customer-controls button,.pos-cart-reference.cart-theme-dark .sale-cart-header h3 i,.pos-cart-reference.cart-theme-dark .pos-cart-empty i,.pos-cart-reference.cart-theme-dark .cart-theme-toggle{color:#c4f500!important}
.pos-cart-reference.cart-theme-dark .pos-cart-math,.pos-cart-reference.cart-theme-dark .pos-final-total{border-color:#ffffff66!important}
.pos-cart-reference.cart-theme-dark .pos-cart-footer>.btn.full{background:linear-gradient(115deg,#d5ff24,#b7eb00)!important;color:#101600!important;box-shadow:0 3px 12px #c4f50020}
.pos-cart-reference.cart-theme-dark .pos-cart-link-actions button{color:#fff!important}
.pos-cart-reference.cart-theme-dark .trash{background:#291b1b!important;color:#ffb5b5!important;border-color:#ffffff35}
.pos-cart-reference.cart-theme-dark .pos-cart-item-thumb{border-color:#ffffff55}
.pos-cart-reference.cart-theme-dark .product-thumb-fallback{background:#151815;color:#c4cac4}
.pos-cart-reference.cart-theme-dark button:disabled{opacity:.55}
}

html[data-mobile-font-measuring] body *{transition:none!important}
.variant-barcode-control{display:flex;align-items:center;gap:6px;min-width:0}
.variant-barcode-control input{flex:1;min-width:0}
.variant-barcode-scan{display:none}
.variant-scanner-overlay{z-index:10100}
@media(max-width:767px){.apparel-modal .variant-barcode-scan{display:inline-flex;align-items:center;justify-content:center;flex:0 0 42px;width:42px;height:44px;padding:0;border:1px solid #bfd0e5;border-radius:8px;background:#eaf3ff;color:#0863d6;font-size:20px}}

.pos-stock-summary [data-cart-stock-detail]{display:block;margin-top:6px;color:#50667d;font-size:13px;line-height:1.45}
.pos-stock-summary [data-cart-stock-error]{color:#9a4d10;font-size:14px;line-height:1.4;margin:6px 0}
.pos-stock-summary [data-edit-existing-cart]{margin-top:8px}
/* 088: Pharmacy editor and sale information; scoped to dedicated markup. */
.pharmacy-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:22px 0}.pharmacy-classification{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px}.pharmacy-classification label{border:1px solid #c9ddea;border-radius:12px;padding:18px;display:grid;gap:8px;font-size:16px}.pharmacy-classification input{justify-self:end}.pharmacy-classification i{color:#009bd4;font-size:24px}.pharmacy-classification small{color:#53677c}.pharmacy-sale-info{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.pharmacy-sale-info span,.pharmacy-sale-info b{background:#e5f6fc;color:#075677;border-radius:8px;padding:5px 8px;font-size:14px}.pharmacy-lot-preview{background:#eff9ff;border:1px solid #b8deee;border-radius:12px;padding:16px;color:#134b63}.pharmacy-lot-preview [data-pharmacy-lots]>div{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
@media(max-width:767px){.pharmacy-fields,.pharmacy-classification{grid-template-columns:1fr}.pharmacy-lot-preview{font-size:15px}}
.pharmacy-panel .field>span{font-size:14px}.pharmacy-panel input{font-size:16px;min-height:44px}.pharmacy-sale-modal .pos-modal-section.full,.pharmacy-sale-modal .pharmacy-lot-preview,.pharmacy-sale-modal .pos-modal-price-qty,.pharmacy-sale-modal .pos-stock-summary,.pharmacy-sale-modal .pos-price-summary{grid-column:1/-1}.pharmacy-sale-modal .pos-modal-section.full>.pos-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
@media(max-width:767px){.pharmacy-sale-modal .pos-modal-section.full>.pos-choice-grid{grid-template-columns:1fr}}
/* Art-directed login: complete desktop artwork; dedicated tablet/mobile sources. */
.unified-login:not(.password-first-login){position:relative;isolation:isolate;min-height:calc(100dvh - 88px);display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,30.1vw);padding:32px 3.7vw;gap:0;background:#fbe6cc;background-image:linear-gradient(125deg,#f5cba0,#fff3df 65%,#ffc58a)}
.login-adaptive-background{position:absolute;inset:0;z-index:-1;pointer-events:none}
.login-adaptive-background img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.unified-login:not(.password-first-login) .unified-login-art{min-width:0;padding:0}
.login-reference-copy{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.unified-login:not(.password-first-login) .login-card{width:100%;max-width:600px;padding:36px clamp(26px,2.4vw,46px);border-radius:24px;background:#fffffffa;box-shadow:0 16px 48px #b9682420;color:#102545}
.unified-login:not(.password-first-login) .login-card h2{color:#091d42;font-weight:700}
.unified-login:not(.password-first-login) .login-field input{min-height:52px;background:#fff;border-color:#d2ddf3}
.unified-login:not(.password-first-login) .login-submit{min-height:56px;background:#0869ff}
.unified-login:not(.password-first-login) .login-tabs button.selected{background:#0869ff}
.unified-login:not(.password-first-login) .login-hint{line-height:1.5}
body:has(.unified-login:not(.password-first-login)){display:flow-root;min-height:100dvh;background:#fbe6cc}
body:has(.unified-login:not(.password-first-login)) #installMarketPwa:not([hidden]){position:relative;display:block;right:auto;bottom:auto;margin:12px max(20px,3.7vw) max(24px,env(safe-area-inset-bottom)) auto;max-width:calc(100% - 32px);z-index:1}
@media(min-width:1200px) and (max-height:800px){
 .unified-login:not(.password-first-login){padding-top:24px;padding-bottom:24px}
 .unified-login:not(.password-first-login) .login-card{padding-top:24px;padding-bottom:24px}
 .unified-login:not(.password-first-login) .nova-card-brand{font-size:36px;margin-bottom:18px}
 .unified-login:not(.password-first-login) .nova-card-brand img{width:46px;height:54px}
 .unified-login:not(.password-first-login) .login-card h2{font-size:34px}
 .unified-login:not(.password-first-login) .login-tabs{margin:14px 0}
 .unified-login:not(.password-first-login) .login-field{margin:13px 0}
 .unified-login:not(.password-first-login) .login-secure{margin:18px 0}
}
@media(max-width:1199px){
 .unified-login:not(.password-first-login){grid-template-columns:minmax(0,1fr);padding:0 24px 28px;align-content:start}
 .login-adaptive-background{position:absolute;inset:0;z-index:-1}
 .login-adaptive-background img{object-fit:contain;object-position:center top}
 .unified-login:not(.password-first-login) .unified-login-art{position:absolute;width:1px;height:1px;overflow:hidden}
 .unified-login:not(.password-first-login) .unified-login-panel{grid-column:1;grid-row:1;width:100%;justify-self:center;position:relative;z-index:1;padding-top:calc(clamp(220px,40vw,480px) + 12px)}
 .unified-login:not(.password-first-login) .login-card{max-width:510px;margin:0 auto}
 .unified-login:not(.password-first-login) .nova-card-brand{display:flex;justify-content:center;margin-bottom:22px}
}
@media(max-width:600px){
 .unified-login:not(.password-first-login){padding:0 16px 24px;min-height:calc(100dvh - 88px)}
 .unified-login:not(.password-first-login) .unified-login-panel{padding-top:calc(clamp(195px,62vw,372px) + 12px)}
 .unified-login:not(.password-first-login) .login-card{padding:26px 22px;border-radius:22px}
 .unified-login:not(.password-first-login) .nova-card-brand{font-size:32px;gap:10px}
 .unified-login:not(.password-first-login) .nova-card-brand img{width:42px;height:52px}
 .unified-login:not(.password-first-login) .nova-card-brand small{font-size:10px}
 .unified-login:not(.password-first-login) .login-card h2{font-size:30px}
 .unified-login:not(.password-first-login) .login-tabs button{font-size:12px;min-height:44px}
 .unified-login:not(.password-first-login) .login-secure{font-size:10px}
 body:has(.unified-login:not(.password-first-login)) #installMarketPwa:not([hidden]){margin:0 auto max(24px,env(safe-area-inset-bottom))}
}
/* Full-bleed continuity behind the complete artwork; no solid sidebars or footer strip. */
body:has(.unified-login:not(.password-first-login)){position:relative;isolation:isolate;background:#f9dab7}
body:has(.unified-login:not(.password-first-login))::before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(#ffebcd44,#ffd29e44),url(/assets/login-warm-background.png) center/cover no-repeat;filter:blur(36px);transform:scale(1.09)}
.unified-login:not(.password-first-login){background:transparent}
@media(min-width:1200px){
 .login-adaptive-background{position:fixed;inset:0}
 .login-adaptive-background img{width:auto;max-width:100%;height:100%;margin:auto;object-fit:contain;mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent)}
}
@media(max-width:1199px){body:has(.unified-login:not(.password-first-login))::before{background-image:linear-gradient(#ffebcd44,#ffd29e44),url(/assets/login-warm-tablet.png)}}
@media(max-width:600px){body:has(.unified-login:not(.password-first-login))::before{background-image:linear-gradient(#ffebcd44,#ffd29e44),url(/assets/login-warm-mobile.png)}}
/* Mobile login: commerce effects replace the tall photo header. */
.login-business-effects{display:none}
@media(max-width:600px),(max-width:1199px) and (max-height:500px){
 body:has(.unified-login:not(.password-first-login))::before{background:radial-gradient(ellipse at 8% 8%,#ffbc7380,transparent 48%),radial-gradient(ellipse at 95% 80%,#ffc879a0,transparent 50%),linear-gradient(145deg,#fff3df,#ffe3bb);filter:none;transform:none}
 .unified-login:not(.password-first-login){padding:0 14px 16px;min-height:calc(100dvh - 76px)}
 .unified-login:not(.password-first-login) .login-adaptive-background{display:none}
 .login-business-effects{position:absolute;top:12px;left:32px;right:32px;display:flex;justify-content:space-between;pointer-events:none;color:#b97635;opacity:.65}
 .login-business-effects svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;animation:login-commerce-float 6s ease-in-out infinite}
 .login-business-effects svg:nth-child(even){animation-delay:-3s}
 .unified-login:not(.password-first-login) .unified-login-panel{padding-top:48px}
 .unified-login:not(.password-first-login) .login-card{padding:22px 20px;border-radius:22px}
 .unified-login:not(.password-first-login) .nova-card-brand{font-size:30px;margin-bottom:12px}
 .unified-login:not(.password-first-login) .nova-card-brand img{width:36px;height:44px}
 .unified-login:not(.password-first-login) .login-card h2{font-size:28px;margin:4px 0 6px}
 .unified-login:not(.password-first-login) .login-tabs{margin:14px 0}
 .unified-login:not(.password-first-login) .login-field{margin:12px 0}
 .unified-login:not(.password-first-login) .login-field input{min-height:46px;font-size:16px}
 .unified-login:not(.password-first-login) .login-submit{min-height:48px}
 .unified-login:not(.password-first-login) .login-secure{margin:16px 0 0}
 body:has(.unified-login:not(.password-first-login)) #installMarketPwa:not([hidden]){margin:0 auto max(18px,env(safe-area-inset-bottom));min-height:44px;padding:11px 18px;font-size:13px}
}
@keyframes login-commerce-float{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-3px) rotate(4deg)}}
@media(prefers-reduced-motion:reduce){.login-business-effects svg{animation:none}}
/* Blue mobile reference: live accessible controls over the supplied portrait artwork. */
.login-tab-icon,.login-field-icon,.login-remember{display:none}
.login-identifier-wrap{position:relative}
@media(max-width:600px){
 body:has(.unified-login:not(.password-first-login)){min-height:100dvh;background:#dff3ff}
 body:has(.unified-login:not(.password-first-login))::before{background:linear-gradient(160deg,#004de5,#dff3ff 42%,#b4eaff);filter:none;transform:none}
 .unified-login:not(.password-first-login){height:100dvh;min-height:100dvh;padding:0;display:block}
 .unified-login:not(.password-first-login) .login-adaptive-background{display:block;position:absolute;inset:0}
 .unified-login:not(.password-first-login) .login-adaptive-background img{width:100%;height:100%;object-fit:contain;object-position:center;mask-image:none}
 .login-business-effects{display:none}
 .unified-login:not(.password-first-login) .unified-login-panel{position:absolute;top:min(34%,calc(79% - 352px));bottom:21%;left:4.4%;right:4.4%;width:auto;padding:0;display:block}
 .unified-login:not(.password-first-login) .login-card{height:100%;max-width:440px;padding:clamp(10px,1.8vh,18px);margin:auto;display:flex;flex-direction:column;justify-content:center;border-radius:20px;background:#ffffffed;box-shadow:0 8px 28px #125ca51c;overflow:auto}
 .unified-login:not(.password-first-login) .nova-card-brand,.unified-login:not(.password-first-login) .login-card>.login-eyebrow,.unified-login:not(.password-first-login) .login-card>h2,.unified-login:not(.password-first-login) .login-card>p{display:none}
 .unified-login:not(.password-first-login) .login-tabs{margin:0 0 8px;padding:2px;flex:none;background:#e8f3fe}
 .unified-login:not(.password-first-login) .login-tabs button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;padding:5px 3px;min-height:52px;font-size:12px;font-weight:500;color:#102a67}
 .unified-login:not(.password-first-login) .login-tabs button.selected{color:#fff;background:linear-gradient(130deg,#0866ff,#0056ff)}
 .login-tab-icon{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
 .unified-login:not(.password-first-login) #unifiedLoginForm{display:grid;gap:7px;flex:none}
 .unified-login:not(.password-first-login) .login-field{margin:0}
 .unified-login:not(.password-first-login) .login-field>span{font-size:14px;font-weight:400;margin-bottom:4px;color:#11265b}
 .unified-login:not(.password-first-login) .login-field input:not([type=checkbox]){min-height:44px;height:44px;padding:8px 38px;font-size:16px;font-weight:400;border-color:#c1ddff;background:#ffffffa8}
 .login-field-icon{display:block;position:absolute;left:12px;top:11px;width:21px;height:21px;fill:none;stroke:#17366d;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
 .login-remember{display:flex;align-items:center;gap:9px;min-height:26px;font-size:13px;font-weight:400;color:#142b65}
 .login-remember input{width:18px;height:18px;margin:0;accent-color:#0663ff}
 .unified-login:not(.password-first-login) .login-submit{min-height:46px;padding:9px 5px;margin:0;font-size:16px;font-weight:600;border-radius:12px;background:linear-gradient(130deg,#0866ff,#0056ff)}
 .unified-login:not(.password-first-login) .login-secure{margin:9px 0 0;font-size:10px;line-height:1.3;color:#6985b1}
 .unified-login:not(.password-first-login) .login-error{font-size:11px;padding:5px;margin:0}
 body:has(.unified-login:not(.password-first-login)) #installMarketPwa:not([hidden]){position:fixed;right:8px;bottom:max(4px,env(safe-area-inset-bottom));margin:0;min-height:32px;padding:6px 12px;font-size:11px;z-index:2}
}
@media(max-width:600px) and (max-height:740px){
 .unified-login:not(.password-first-login) .unified-login-panel{top:min(29%,calc(81% - 328px));bottom:19%}
 .unified-login:not(.password-first-login) .login-card{padding:10px}
 .unified-login:not(.password-first-login) .login-tabs button{min-height:46px;font-size:11px;gap:1px}
 .login-tab-icon{width:18px;height:18px}
 .unified-login:not(.password-first-login) #unifiedLoginForm{gap:5px}
 .unified-login:not(.password-first-login) .login-secure{margin-top:6px;font-size:9px}
}
@media(max-width:600px) and (max-height:600px){
 .unified-login:not(.password-first-login) .unified-login-panel{top:24%;bottom:17%}
}
/* Mobile reference proportions: full-width hero and a compact card below the POS. */
@media(max-width:600px){
 .unified-login:not(.password-first-login){--login-mobile-top:min(72vw,calc(100dvh - 352px))}
 .unified-login:not(.password-first-login) .login-adaptive-background img{object-fit:cover;object-position:center top}
 .unified-login:not(.password-first-login) .unified-login-panel{top:var(--login-mobile-top);bottom:12px;left:4.4%;right:4.4%}
 .unified-login:not(.password-first-login) .login-card{padding:12px;justify-content:flex-start;border-radius:18px;background:#fffffff5}
 .unified-login:not(.password-first-login) .login-tabs{margin-bottom:10px}
 .unified-login:not(.password-first-login) .login-tabs button{min-height:54px;font-size:12px}
 .unified-login:not(.password-first-login) .login-field>span{font-size:12px;margin-bottom:4px;line-height:1.3}
 .unified-login:not(.password-first-login) .login-field input:not([type=checkbox]){font-size:16px;height:44px;min-height:44px}
 .unified-login:not(.password-first-login) #unifiedLoginForm{gap:8px}
 .unified-login:not(.password-first-login) .login-remember{font-size:12px;min-height:24px}
 .unified-login:not(.password-first-login) .login-submit{font-size:15px;min-height:46px}
 .unified-login:not(.password-first-login) .login-secure{margin-top:10px;font-size:9px}
 body:has(.unified-login:not(.password-first-login)) #installMarketPwa:not([hidden]){position:absolute;top:8px;bottom:auto;right:8px;min-height:28px;padding:5px 9px;font-size:10px;opacity:.9}
}
@media(max-width:600px) and (max-height:620px){
 .unified-login:not(.password-first-login) .login-card{padding:10px}
 .unified-login:not(.password-first-login) .login-tabs{margin-bottom:7px}
 .unified-login:not(.password-first-login) .login-tabs button{min-height:46px;font-size:11px}
 .unified-login:not(.password-first-login) #unifiedLoginForm{gap:5px}
 .unified-login:not(.password-first-login) .login-secure{margin-top:6px}
}
@media(max-width:600px){
 .unified-login:not(.password-first-login){-webkit-text-size-adjust:100%;text-size-adjust:100%}
 .unified-login:not(.password-first-login) .login-card{height:auto;max-height:100%;padding-bottom:18px}
}
/* Blue PC reference: full scene and white access card with icons and remembered user. */
@media(min-width:1200px){
 body:has(.unified-login:not(.password-first-login)){background:#cdeeff}
 body:has(.unified-login:not(.password-first-login))::before{background:linear-gradient(#badfff22,#dff6ff22),url(/assets/login-desktop-blue.png) center/cover no-repeat}
 .unified-login:not(.password-first-login){min-height:100dvh;grid-template-columns:minmax(0,1fr) minmax(420px,35.4vw);padding:32px 3.5vw}
 .unified-login:not(.password-first-login) .login-card{width:100%;max-width:720px;max-height:calc(100dvh - 72px);overflow:auto;padding:24px 28px;border:10px solid #e6f6ff;outline:1px solid #fff;border-radius:36px;background:#fffffffa;box-shadow:0 12px 40px #0b5cb32a;color:#10265e}
 .unified-login:not(.password-first-login) .nova-card-brand{display:flex;justify-content:center;font-size:42px;gap:12px;margin-bottom:16px}
 .unified-login:not(.password-first-login) .nova-card-brand img{width:58px;height:68px}
 .unified-login:not(.password-first-login) .nova-card-brand small{font-size:12px}
 .unified-login:not(.password-first-login) .login-card>.login-eyebrow,.unified-login:not(.password-first-login) .login-hint{display:none}
 .unified-login:not(.password-first-login) .login-card h2{font-size:36px;font-weight:600;text-align:center;margin:8px 0}
 .unified-login:not(.password-first-login) .login-card>p:not(.login-hint){text-align:center;font-size:14px;margin:8px 0 18px}
 .unified-login:not(.password-first-login) .login-tabs{margin:0 0 18px;background:#e8f4ff;padding:2px}
 .unified-login:not(.password-first-login) .login-tabs button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;min-height:78px;padding:8px;font-size:16px;font-weight:400}
 .unified-login:not(.password-first-login) .login-tab-icon{display:block;width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
 .unified-login:not(.password-first-login) .login-field{margin:14px 0}
 .unified-login:not(.password-first-login) .login-field>span{font-size:17px;font-weight:400;color:#142a62;margin-bottom:7px}
 .unified-login:not(.password-first-login) .login-field input:not([type=checkbox]){height:54px;min-height:54px;padding:12px 48px;font-size:18px;font-weight:400;border-color:#c1dcff}
 .unified-login:not(.password-first-login) .login-field-icon{display:block;position:absolute;left:15px;top:15px;width:24px;height:24px;fill:none;stroke:#17366d;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
 .unified-login:not(.password-first-login) .login-remember{display:flex;align-items:center;gap:10px;min-height:30px;font-size:17px;font-weight:400;margin:6px 0 14px}
 .unified-login:not(.password-first-login) .login-remember input{width:20px;height:20px;margin:0;accent-color:#0663ff}
 .unified-login:not(.password-first-login) .login-submit{min-height:58px;padding:12px;font-size:20px;font-weight:500;background:linear-gradient(130deg,#0067ff,#0057ff)}
 .unified-login:not(.password-first-login) .login-secure{font-size:12px;margin:20px 0 0}
 body:has(.unified-login:not(.password-first-login)) #installMarketPwa:not([hidden]){position:fixed;right:14px;bottom:6px;margin:0;min-height:30px;padding:6px 12px;font-size:11px}
}
@media(min-width:1200px) and (max-height:800px){
 .unified-login:not(.password-first-login){padding-top:20px;padding-bottom:20px}
 .unified-login:not(.password-first-login) .login-card{padding:16px 22px;border-width:8px;max-height:calc(100dvh - 52px);border-radius:28px}
 .unified-login:not(.password-first-login) .nova-card-brand{font-size:32px;margin-bottom:8px}
 .unified-login:not(.password-first-login) .nova-card-brand img{width:42px;height:48px}
 .unified-login:not(.password-first-login) .login-card h2{font-size:28px;margin:5px 0}
 .unified-login:not(.password-first-login) .login-card>p:not(.login-hint){font-size:12px;margin:6px 0 12px}
 .unified-login:not(.password-first-login) .login-tabs{margin-bottom:10px}
 .unified-login:not(.password-first-login) .login-tabs button{min-height:58px;font-size:14px;gap:4px}
 .unified-login:not(.password-first-login) .login-tab-icon{width:22px;height:22px}
 .unified-login:not(.password-first-login) .login-field{margin:10px 0}
 .unified-login:not(.password-first-login) .login-field>span{font-size:14px;margin-bottom:5px}
 .unified-login:not(.password-first-login) .login-field input:not([type=checkbox]){height:44px;min-height:44px;font-size:16px;padding-top:8px;padding-bottom:8px}
 .unified-login:not(.password-first-login) .login-field-icon{top:10px}
 .unified-login:not(.password-first-login) .login-remember{font-size:14px;min-height:24px;margin:4px 0 10px}
 .unified-login:not(.password-first-login) .login-submit{min-height:46px;font-size:17px;padding:9px}
 .unified-login:not(.password-first-login) .login-secure{font-size:10px;margin-top:12px}
}
@media(min-width:1200px) and (min-height:850px){
 .unified-login:not(.password-first-login) .login-card{padding:30px 28px;border-width:12px}
 .unified-login:not(.password-first-login) .nova-card-brand{font-size:44px;margin-bottom:22px}
 .unified-login:not(.password-first-login) .nova-card-brand img{width:70px;height:80px}
 .unified-login:not(.password-first-login) .nova-card-brand small{font-size:14px}
 .unified-login:not(.password-first-login) .login-card h2{font-size:38px;margin:12px 0}
 .unified-login:not(.password-first-login) .login-card>p:not(.login-hint){font-size:16px;margin:12px 0 22px}
 .unified-login:not(.password-first-login) .login-tabs{margin-bottom:20px}
 .unified-login:not(.password-first-login) .login-tabs button{min-height:90px;font-size:18px}
 .unified-login:not(.password-first-login) .login-tab-icon{width:32px;height:32px}
 .unified-login:not(.password-first-login) .login-field{margin:18px 0}
 .unified-login:not(.password-first-login) .login-field>span{font-size:18px}
 .unified-login:not(.password-first-login) .login-field input:not([type=checkbox]){height:62px;min-height:62px;font-size:20px}
 .unified-login:not(.password-first-login) .login-field-icon{top:19px}
 .unified-login:not(.password-first-login) .login-remember{font-size:19px;min-height:34px;margin:10px 0 18px}
 .unified-login:not(.password-first-login) .login-submit{min-height:68px;font-size:23px}
 .unified-login:not(.password-first-login) .login-secure{font-size:14px;margin-top:24px}
}
/* PC: the existing install action follows sign-in, with identical button dimensions. */
@media(min-width:1200px){
 body:has(.unified-login:not(.password-first-login)) #installMarketPwa.login-install-inline:not([hidden]){position:static;display:flex;align-items:center;justify-content:center;width:100%;max-width:none;min-height:58px;margin:10px 0 0;padding:12px;border-radius:11px;font-size:20px;font-weight:500;line-height:normal;box-sizing:border-box;opacity:1}
}
@media(min-width:1200px) and (max-height:800px){
 body:has(.unified-login:not(.password-first-login)) #installMarketPwa.login-install-inline:not([hidden]){min-height:46px;padding:9px;font-size:17px}
}
@media(min-width:1200px) and (min-height:850px){
 body:has(.unified-login:not(.password-first-login)) #installMarketPwa.login-install-inline:not([hidden]){min-height:68px;font-size:23px}
}
@media(min-width:1200px) and (min-height:850px){
 .unified-login:not(.password-first-login) .login-card:has(.login-install-inline:not([hidden])){padding-top:20px;padding-bottom:20px}
 .unified-login:not(.password-first-login) .login-card:has(.login-install-inline:not([hidden])) .login-secure{margin-top:14px}
}
/* Mobile/tablet install action uses the same live button directly below sign-in. */
@media(min-width:601px) and (max-width:1199px){
 body:has(.unified-login:not(.password-first-login)) #installMarketPwa.login-install-inline:not([hidden]){position:static;display:flex;align-items:center;justify-content:center;width:100%;max-width:none;min-height:56px;margin:10px 0 0;padding:15px;border-radius:11px;font-size:15px;font-weight:700;line-height:normal;box-sizing:border-box;opacity:1}
}
@media(max-width:600px){
 .unified-login:not(.password-first-login):has(.login-install-inline:not([hidden])){--login-mobile-top:min(72vw,calc(100dvh - 424px))}
 body:has(.unified-login:not(.password-first-login)) #installMarketPwa.login-install-inline:not([hidden]){position:static;display:flex;align-items:center;justify-content:center;width:100%;max-width:none;min-height:46px;height:46px;margin:0;padding:9px 5px;border-radius:12px;font-size:15px;font-weight:600;line-height:normal;box-sizing:border-box;opacity:1}
}
