[hidden] {
  display: none !important;
}

:root {
  font-family:
    Inter,
    ui-sans-serif,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
  color: #182238;
  background: #f5f7fb;
  font-synthesis: none;
  --blue: #2458ef;
  --muted: #707c92;
  --line: #e5eaf3;
  --navy: #14233d;
}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
}
button,
input,
select,
textarea {
  font: inherit;
}
button,
a,
input,
select,
textarea {
  outline-offset: 4px;
}
button,
a {
  touch-action: manipulation;
}
a {
  color: var(--blue);
}
button {
  cursor: pointer;
  border: 0;
  background: none;
  color: inherit;
}
button:disabled {
  opacity: 0.5;
  cursor: wait;
}
input,
select,
textarea {
  width: 100%;
  border: 1px solid #d8e0ee;
  background: #fff;
  border-radius: 9px;
  padding: 11px 12px;
  min-height: 44px;
  color: #182238;
}
textarea {
  resize: vertical;
  min-height: 84px;
}
label {
  display: grid;
  gap: 7px;
  font-size: 13px;
  font-weight: 600;
  color: #47556d;
}
small,
.muted {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
}
h1,
h2,
h3,
p {
  margin-top: 0;
}
h1 {
  font-size: 30px;
  letter-spacing: -1px;
  margin-bottom: 8px;
}
h2 {
  font-size: 18px;
  letter-spacing: -0.35px;
}
h3 {
  font-size: 15px;
}
p {
  line-height: 1.6;
}
button.primary,
.primary {
  background: var(--blue);
  color: #fff;
  padding: 11px 18px;
  border-radius: 9px;
  font-size: 14px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  text-decoration: none;
  min-height: 44px;
}
.secondary {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 9px;
  padding: 10px 15px;
  font-size: 13px;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  text-decoration: none;
  color: #35445c;
}
.danger {
  color: #b22c42;
}
.text-button {
  color: var(--blue);
  font-size: 13px;
  font-weight: 600;
  padding: 8px 4px;
}
.full {
  width: 100%;
}
.row {
  display: flex;
  align-items: center;
  gap: 12px;
}
.between {
  justify-content: space-between;
}
.wrap {
  flex-wrap: wrap;
}
.gap {
  display: grid;
  gap: 18px;
}
.stack {
  display: grid;
  gap: 14px;
}
.fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.span {
  grid-column: 1/-1;
}
.hint {
  font-size: 12px;
  color: var(--muted);
  line-height: 1.6;
}
.error {
  color: #b52d44;
  background: #fff0f2;
  border: 1px solid #f7d4dc;
  border-radius: 8px;
  padding: 12px;
  font-size: 13px;
}
.pill {
  display: inline-block;
  border-radius: 20px;
  background: #edf2ff;
  color: #365bb0;
  padding: 4px 9px;
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}
.pill.gray {
  background: #f0f2f6;
  color: #778297;
}
.pill.green {
  background: #eaf8f1;
  color: #258261;
}
.mono {
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum";
}
.boot {
  min-height: 100vh;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 16px;
}
.boot img {
  width: 220px;
}
.boot p {
  color: var(--muted);
}
.auth {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: #fff;
}
.auth-story {
  background: #112341;
  position: relative;
  padding: 70px 60px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  color: #fff;
}
.auth-story:after {
  content: "";
  position: absolute;
  right: -160px;
  top: 10%;
  width: 500px;
  height: 500px;
  border: 1px solid #ffffff14;
  border-radius: 50%;
  box-shadow:
    0 0 0 80px #ffffff04,
    0 0 0 160px #ffffff03;
  pointer-events: none;
}
.auth-mark {
  background: #fff;
  border-radius: 18px;
  width: 82px;
  height: 82px;
  object-fit: contain;
  padding: 9px;
  position: relative;
  z-index: 1;
}
.auth-story h1 {
  font-size: clamp(36px, 4vw, 58px);
  line-height: 1.12;
  letter-spacing: -2px;
  max-width: 500px;
  position: relative;
  z-index: 1;
}
.auth-story p {
  max-width: 390px;
  color: #b9c6dc;
  font-size: 16px;
}
.auth-proof {
  display: flex;
  gap: 24px;
  color: #b9c6dc;
  font-size: 12px;
}
.auth-main {
  padding: 50px 8%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.auth-card {
  width: 100%;
  max-width: 440px;
}
.auth-logo {
  width: 185px;
  height: auto;
  display: block;
  margin-bottom: 34px;
}
.auth-card h1 {
  font-size: 28px;
  margin-bottom: 8px;
}
.auth-card > p {
  color: var(--muted);
  font-size: 14px;
  margin-bottom: 28px;
}
.form-footer {
  margin: 18px 0 0;
  text-align: center;
  font-size: 13px;
  color: var(--muted);
}
.setup-panel {
  max-width: 720px;
  width: calc(100% - 40px);
  margin: 70px auto;
  padding: 34px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: 0 14px 50px #11234108;
}
.setup-panel > img {
  width: 190px;
  margin-bottom: 24px;
}
.setup-panel li {
  padding: 8px 0;
  font-size: 14px;
  line-height: 1.6;
}
.setup-panel code {
  background: #eff3f9;
  padding: 3px 6px;
  border-radius: 4px;
  font-size: 12px;
}
.app-shell {
  display: grid;
  grid-template-columns: 240px 1fr;
  min-height: 100vh;
}
.sidebar {
  background: #fff;
  border-right: 1px solid var(--line);
  padding: 28px 18px;
  display: flex;
  flex-direction: column;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: 240px;
  z-index: 5;
}
.sidebar .brand {
  display: block;
  margin: 2px 12px 32px;
}
.brand img {
  width: 175px;
  display: block;
}
.side-label {
  color: #9aa4b6;
  font-size: 10px;
  letter-spacing: 1.8px;
  font-weight: 700;
  margin: 14px 16px;
}
.nav {
  display: grid;
  gap: 5px;
}
.nav button {
  display: flex;
  align-items: center;
  gap: 12px;
  text-align: left;
  padding: 12px 15px;
  border-radius: 9px;
  font-size: 13px;
  font-weight: 550;
  color: #61708a;
}
.nav button:hover {
  background: #f6f8fc;
}
.nav button.active {
  background: #edf2ff;
  color: #2458ef;
}
.nav-symbol {
  font-size: 17px;
  width: 21px;
  text-align: center;
}
.sidebar-bottom {
  margin-top: auto;
  border-top: 1px solid var(--line);
  padding: 20px 13px 0;
}
.user-avatar {
  width: 33px;
  height: 33px;
  border-radius: 50%;
  background: #edf2ff;
  color: var(--blue);
  display: grid;
  place-items: center;
  font-size: 12px;
  font-weight: 700;
  flex-shrink: 0;
}
.user-name {
  font-size: 12px;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 130px;
}
.main {
  grid-column: 2;
  min-width: 0;
}
.topbar {
  min-height: 85px;
  background: #fff;
  border-bottom: 1px solid var(--line);
  padding: 0 38px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
.language-control { display:flex; align-items:center; gap:8px; margin:0; font-size:11px; font-weight:500; color:var(--muted); }
.language-control select { width:auto; min-width:142px; padding:8px 24px 8px 10px; font-size:12px; }
.auth-language { display:flex; justify-content:flex-end; margin-bottom:24px; }
.company-form { display:grid; gap:28px; max-width:950px; }
.company-form fieldset { border:0; padding:0; margin:0; min-width:0; }
.company-form legend { font-size:15px; font-weight:650; margin-bottom:16px; padding:0; }
.company-form .hint { margin:0 0 16px; }
.company-form .fields + .hint { margin:12px 0 0; }
.modal-head { flex-wrap:wrap; }
.user-profile-button { display:flex; align-items:center; gap:12px; width:100%; text-align:left; color:inherit; background:transparent; border:0; border-radius:10px; padding:10px 4px; cursor:pointer; }
.user-profile-button > div { flex:1; min-width:0; }
.user-profile-button:hover,.user-profile-button.active { background:var(--blue-light,#eef3ff); }
.user-profile-button small { color:var(--muted); }
.profile-sections { display:grid; gap:24px; }
.profile-security { display:grid; grid-template-columns:1fr 1fr; gap:40px; max-width:950px; }
.profile-security h3 { margin:0; font-size:15px; }
.profile-sessions { display:flex; gap:20px; flex-wrap:wrap; justify-content:space-between; align-items:center; border-top:1px solid var(--line); margin-top:24px; padding-top:16px; color:var(--muted); font-size:12px; }
@media (max-width:1100px) {
  .topbar { flex-wrap:wrap; padding-top:12px; padding-bottom:12px; }
  .top-caption .connection-status,.top-caption .version { display:none; }
}
@media (max-width:560px) {
  .topbar { height:auto !important; gap:8px; padding:12px 18px !important; }
  .topbar > .row { min-width:0; width:100%; }
  .top-caption { width:100%; justify-content:space-between; }
  .language-control select { min-width:138px; }
  .auth-language { justify-content:flex-start; }
}
.company-picker {
  max-width: 280px;
  border: 0;
  font-weight: 650;
  padding-left: 0;
}
.top-caption {
  font-size: 11px;
  color: var(--muted);
  display: flex;
  gap: 15px;
  align-items: center;
}
.live-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #31a97b;
  display: inline-block;
  margin-right: 6px;
}
.page {
  padding: 34px 38px 50px;
  max-width: 1600px;
  margin: auto;
}
.page-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 28px;
}
.page-heading p {
  margin: 0;
  font-size: 13px;
  color: var(--muted);
}
.eyebrow {
  font-size: 10px;
  letter-spacing: 1.5px;
  font-weight: 700;
  color: #8895a9;
  margin-bottom: 10px;
}
.stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin-bottom: 25px;
}
.stat {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 13px;
  padding: 21px;
}
.stat-label {
  font-size: 12px;
  color: var(--muted);
  margin-bottom: 16px;
}
.stat-value {
  font-size: 30px;
  letter-spacing: -1px;
  font-weight: 650;
  margin-bottom: 8px;
}
.stat-note {
  font-size: 11px;
  color: #8c98ac;
}
.stat.accent {
  background: #183a87;
  border-color: #183a87;
  color: #fff;
}
.stat.accent .stat-label,
.stat.accent .stat-note {
  color: #afc5f3;
}
.stat.accent .stat-value {
  font-size: 23px;
  line-height: 36px;
}
.panel {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 13px;
  overflow: hidden;
  margin-bottom: 22px;
}
.panel-head {
  padding: 20px 23px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.panel-head h2 {
  margin: 0;
}
.panel-body {
  padding: 0 23px 24px;
}
.table-scroll {
  overflow: auto;
}
table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
  white-space: nowrap;
}
th {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: #91a0b5;
  background: #fbfcfe;
  padding: 13px 22px;
  border-top: 1px solid var(--line);
  font-weight: 650;
}
td {
  font-size: 12px;
  padding: 15px 22px;
  border-top: 1px solid #edf0f5;
  vertical-align: middle;
}
td strong {
  font-size: 13px;
  color: #35435d;
}
.subtext {
  font-size: 11px;
  color: #8c99ae;
  display: block;
  margin-top: 4px;
}
.num {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.table-actions {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
}
.table-actions button {
  color: var(--blue);
  font-size: 11px;
  font-weight: 600;
  padding: 6px 0;
}
.empty {
  text-align: center;
  padding: 48px 24px;
  color: var(--muted);
  font-size: 13px;
  white-space: normal;
}
.empty-icon {
  display: grid;
  place-items: center;
  background: #f0f4fc;
  color: #7695d4;
  width: 52px;
  height: 52px;
  font-size: 25px;
  border-radius: 15px;
  margin: 0 auto 16px;
}
.empty strong {
  display: block;
  color: #455671;
  margin-bottom: 7px;
}
.search-bar {
  display: flex;
  gap: 10px;
  max-width: 530px;
}
.search-bar input {
  font-size: 13px;
}
.list-note {
  font-size: 11px;
  color: var(--muted);
  padding: 13px 22px;
  border-top: 1px solid var(--line);
}
.location-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.location-card {
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: #fff;
}
.location-card h2 {
  margin-bottom: 7px;
}
.location-card .nav-symbol {
  color: var(--blue);
  font-size: 25px;
  display: block;
  margin-bottom: 18px;
}
.notice {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  background: #152a48;
  color: #fff;
  padding: 14px 22px;
  max-width: 90vw;
  border-radius: 12px;
  font-size: 13px;
  z-index: 100;
  box-shadow: 0 10px 30px #11234130;
}
.notice.bad {
  background: #a52e43;
}
dialog {
  width: min(650px, calc(100vw - 32px));
  border: 0;
  border-radius: 17px;
  padding: 0;
  box-shadow: 0 25px 100px #11234140;
  max-height: 90vh;
  color: #182238;
}
dialog::backdrop {
  background: #0c1f3b66;
  backdrop-filter: blur(3px);
}
.modal-head {
  padding: 23px 26px;
  border-bottom: 1px solid var(--line);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.modal-head h2 {
  margin: 0;
  font-size: 20px;
}
.close {
  font-size: 24px;
  color: #8592a8;
  line-height: 1;
  padding: 3px;
}
.modal-body {
  padding: 24px 26px;
}
.modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 22px;
}
.check-label {
  display: flex;
  align-items: center;
  gap: 8px;
}
.check-label input {
  width: auto;
  min-height: auto;
}
.field-help {
  font-size: 11px;
  color: var(--muted);
  font-weight: 400;
}
.summary-line {
  display: flex;
  justify-content: space-between;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
  font-size: 13px;
}
.info-banner {
  background: #edf3ff;
  border: 1px solid #dbe7ff;
  padding: 15px 18px;
  border-radius: 10px;
  font-size: 12px;
  line-height: 1.6;
  color: #3b5c98;
  margin-bottom: 20px;
}
.audit-note {
  font-size: 11px;
  color: var(--muted);
  margin: 20px 0;
}
.negative {
  color: #bb3a52;
}
.positive {
  color: #228261;
}
.link-box {
  background: #f4f7fc;
  padding: 14px;
  border-radius: 8px;
  word-break: break-all;
  font-size: 12px;
  line-height: 1.7;
}
@media (min-width: 1500px) {
  .page {
    padding-top: 42px;
  }
  .stats {
    gap: 24px;
  }
}
@media (max-width: 1100px) {
  .app-shell {
    grid-template-columns: 205px 1fr;
  }
  .sidebar {
    width: 205px;
  }
  .brand img {
    width: 145px;
  }
  .page {
    padding: 28px 24px;
  }
  .topbar {
    padding: 0 24px;
  }
  .stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .location-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .auth-story {
    padding: 50px 35px;
  }
  .auth-main {
    padding: 40px 7%;
  }
}
@media (max-width: 760px) {
  .auth {
    grid-template-columns: 1fr;
  }
  .auth-story {
    display: none;
  }
  .auth-main {
    min-height: 100vh;
    padding: 35px 24px;
  }
  .app-shell {
    display: block;
  }
  .sidebar {
    position: static;
    width: 100%;
    padding: 12px 16px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
  .sidebar .brand {
    margin: 0 0 10px;
  }
  .brand img {
    width: 140px;
  }
  .side-label,
  .sidebar-bottom {
    display: none;
  }
  .sidebar-bottom { display:block; margin-top:10px; padding-top:8px; }
  .sidebar-bottom > [data-action="logout"] { display:none; }
  .user-profile-button { width:auto; min-width:210px; padding:6px; }
  .user-profile-button .user-name { max-width:none; }
  .profile-security { grid-template-columns:1fr; gap:28px; }
  .nav {
    display: flex;
    overflow-x: auto;
    gap: 5px;
  }
  .nav button {
    flex-shrink: 0;
    padding: 9px 12px;
    font-size: 11px;
  }
  .nav-symbol {
    display: none;
  }
  .topbar {
    height: 65px;
    padding: 0 20px;
  }
  .top-caption .version {
    display: none;
  }
  .company-picker {
    max-width: 210px;
    font-size: 12px;
  }
  .page {
    padding: 24px 16px;
  }
  .page-heading {
    align-items: flex-start;
    flex-wrap: wrap;
    margin-bottom: 22px;
  }
  h1 {
    font-size: 25px;
  }
  .stats {
    gap: 12px;
  }
  .stat {
    padding: 16px;
  }
  .stat-value {
    font-size: 26px;
  }
  .stat.accent .stat-value {
    font-size: 19px;
  }
  .panel-head {
    padding: 18px 16px;
  }
  th,
  td {
    padding: 12px 16px;
  }
  .location-grid {
    grid-template-columns: 1fr;
  }
  .fields {
    grid-template-columns: 1fr;
  }
  .span {
    grid-column: auto;
  }
  .modal-head {
    padding: 20px;
  }
  .modal-body {
    padding: 20px;
  }
  .search-bar {
    max-width: none;
    width: 100%;
  }
  .page-heading .row {
    flex-wrap: wrap;
  }
  .top-caption {
    font-size: 10px;
  }
  .panel-body {
    padding: 0 16px 20px;
  }
}

/* Varevix 0.5.1 — location cards, management and agreements */
.location-card{display:flex;flex-direction:column;min-width:0;gap:0}
.location-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:10px}
.location-symbol{display:grid;place-items:center;width:38px;height:38px;background:#eef3ff;color:var(--blue);font-size:25px;border-radius:11px}
.location-tags{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.location-card .muted{margin-top:0}
.location-card h2{overflow-wrap:anywhere}
.location-inactive{background:#f9fafc}
.location-meta{border-top:1px solid var(--line);padding-top:14px;margin-top:18px;display:grid;gap:9px;font-size:12px}
.location-meta>div{display:flex;justify-content:space-between;gap:12px;align-items:center}
.location-meta span{color:var(--muted)}
.location-meta strong{text-align:right;font-weight:600}
.location-actions{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);margin-top:auto;padding-top:18px;flex-wrap:wrap}
.location-actions .secondary{font-size:12px;padding:9px 13px}
.location-actions .danger{margin-left:auto;font-size:12px}
.location-actions button:disabled{cursor:not-allowed;opacity:.38}
.location-info{font-size:12px;color:var(--muted);margin-top:-9px;margin-bottom:20px}
.location-fieldset{border:1px solid var(--line);border-radius:11px;padding:16px;margin:0}
.location-fieldset legend{font-weight:700;font-size:13px;padding:0 8px}
.location-fieldset .fields{margin-top:10px}
.location-check{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-weight:600}
.location-check input{width:16px;height:16px;min-height:16px}
.location-check .field-help{flex-basis:100%;font-weight:400}
#location-settings .location-fieldset label textarea{min-height:80px}
.location-fieldset .fields label.location-check{flex-direction:row;align-items:center}
.location-fieldset .fields label.location-check .field-help{flex-basis:100%}

/* v0.5.2 design system: consistent select arrow spacing throughout the app. */
select:not([multiple]){
  -webkit-appearance:none;
  appearance:none;
  padding-right:40px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2352607b' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
  background-size:15px 15px;
}
select:not([multiple]):disabled{background-color:#f6f8fc;opacity:.7}
/* Dropdown arrows and helper text should never touch their containers. */
.attribute-dropdown>summary{padding-right:19px}
.field-help{display:block;line-height:1.55;font-weight:400;margin-top:4px;text-align:left}
#location-settings .field-help{margin-top:4px}

/* v0.5.3: labels in forms are consistently left-aligned; numeric table columns retain their own alignment. */
form label:not(.check-label), .modal-body label:not(.check-label),
.location-fieldset label:not(.check-label){text-align:left}
label .field-help{justify-self:stretch;text-align:left}

/* v0.5.7 — One-pixel focus border: no external outlines or layout shifts. */
:where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]), select, textarea) {
  box-sizing: border-box;
  border: 1px solid #d8e0ee;
  outline: none;
  outline-offset: 0;
  box-shadow: none;
  transition: border-color 120ms ease;
}
:where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]), select, textarea):focus,
:where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]), select, textarea):focus-visible {
  border-color: var(--blue);
  border-width: 1px;
  outline: none;
  outline-offset: 0;
  box-shadow: none;
}
/* Native checkboxes keep a keyboard-visible focus indicator. */
input[type="checkbox"]:focus-visible, input[type="radio"]:focus-visible {
  outline: 2px solid var(--blue);
  outline-offset: 2px;
}

/* v0.5.7 — Variant quick-view: readable details, stable money hierarchy. */
dialog:has(.variant-quick-view){width:min(830px,calc(100vw - 28px))}
.variant-quick-view{display:grid;gap:20px}
.variant-quick-summary{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}
.variant-quick-muted{font-size:12px;color:var(--muted)}
.variant-quick-section{border-top:1px solid var(--line);padding-top:16px}
.variant-quick-section h3{margin:0 0 12px;font-size:13px;letter-spacing:0}
.variant-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px}
.variant-quick-field{min-width:0;display:grid;align-content:start;gap:5px}
.variant-quick-label{font-size:11px;color:var(--muted);font-weight:500}
.variant-quick-value{font-size:13px;color:var(--navy);font-weight:600;overflow-wrap:anywhere}
.variant-quick-value.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}
.variant-quick-price{font-size:17px;font-weight:700;color:var(--navy);font-variant-numeric:tabular-nums}
.variant-quick-stock-head{display:flex;align-items:center;justify-content:space-between;gap:15px}
.variant-quick-stock-head h3{margin:0}
.variant-quick-stock-head strong{font-size:20px;font-variant-numeric:tabular-nums}
.variant-quick-locations{margin-top:12px}
.variant-quick-locations .summary-line{padding:9px 0;font-size:12px}
.variant-quick-copy{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--blue);padding:5px 8px;font-size:11px;min-width:0;width:max-content;max-width:100%}
.variant-quick-copy:focus-visible{outline:1px solid var(--blue);outline-offset:2px}
.variant-quick-copy:hover{background:#f4f7ff}
.variant-quick-footer{display:flex;justify-content:flex-end;gap:8px}
@media(max-width:520px){.variant-quick-grid{gap:13px 12px}.variant-quick-price{font-size:15px}.modal-body:has(.variant-quick-view){padding:16px}}

/* v0.5.7 — Clear separation between total-stock label and amount in View. */
.variant-quick-stock-head>div{display:inline-flex;align-items:baseline;justify-content:flex-end;gap:12px}

/* v0.5.8 r2 — Original cost sits directly beneath the cost value, not at the
   far right of the grid column; both pricing blocks start at the same level. */
.variant-quick-prices{align-items:start}
.variant-quick-price-field{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0}
.variant-quick-price-field .variant-quick-label,
.variant-quick-price-field .variant-quick-price,
.variant-quick-original-cost{display:block;text-align:left;align-self:flex-start}
.variant-quick-original-cost{font-size:11px;line-height:1.45;color:#8795ac;font-variant-numeric:tabular-nums;margin:0}
/* Varevix v0.6.0 — company-scoped catalogue navigation */
.sidebar{overflow-y:auto;scrollbar-width:thin}
.nav .nav-group{display:grid;gap:3px}
.nav .nav-main-label{flex:1;text-align:left}
.nav .nav-caret{margin-left:auto;font-size:18px;color:#7c89a0}
.nav .nav-submenu{display:grid;gap:2px;margin:0 0 7px 28px;padding:4px 0 4px 11px;border-left:1px solid #e0e6f1}
.nav .nav-submenu .nav-subitem{padding:9px 8px;min-height:34px;gap:10px;text-align:left;font-size:12.5px;border-radius:7px;justify-content:flex-start;white-space:normal;width:100%}
.nav .nav-submenu .nav-subitem.active{background:#edf2ff;color:#2458ef}
.subnav-icon{font-size:15px;width:18px;flex:none;display:inline-flex;justify-content:center;font-weight:650}
.admin-list-panel{margin-top:18px}
.admin-inline-form{display:flex;align-items:end;gap:15px;flex-wrap:wrap;max-width:800px}
.admin-inline-form label{min-width:200px;flex:1}.admin-inline-form .primary{margin-bottom:1px;white-space:nowrap;min-height:44px}
.admin-table td:last-child{min-width:154px}.admin-table th{white-space:nowrap}.admin-blank{padding:36px 22px;text-align:center;color:#71809a}.admin-blank strong{display:block;color:#283956}.admin-blank p{margin:6px 0 0}
.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px;border-bottom:1px solid #e5eaf3;padding-bottom:14px}.admin-tabs button{padding:10px 14px;border-radius:8px;font-size:13px;color:#65748e}.admin-tabs button.selected{background:#edf2ff;color:#2458ef;font-weight:700}
.admin-search{max-width:320px;margin:20px 0 10px}.admin-actions{gap:10px;flex-wrap:wrap}
.import-redesign .panel-body{padding:26px 28px}.import-step+.import-step{border-top:1px solid #e5eaf3;padding-top:26px;margin-top:27px}
.import-step-title{display:flex;align-items:center;gap:12px;margin-bottom:10px}.import-step-title h2{margin:0;font-size:16px}
.import-step-number{display:inline-grid;place-items:center;flex:none;width:28px;height:28px;border-radius:50%;background:#edf2ff;color:#2458ef;font-size:12px;font-weight:700}
.import-template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:18px 0 12px;max-width:710px}
.import-template-card{display:flex;align-items:center;gap:14px;padding:19px;border:1px solid #dce4f1;border-radius:12px;background:#fff;text-decoration:none;color:#172842;min-height:98px;transition:background .18s,border-color .18s}
.import-template-card:hover{background:#f8faff;border-color:#a4baef}
.import-template-icon{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;font-size:21px;background:#eaf7f2;color:#187e57}.import-template-icon.csv{background:#edf2ff;color:#2458ef}
.import-template-label{display:grid;gap:5px}.import-template-label strong{font-size:14px}.import-template-label small{font-size:12px;color:#72809a}
.import-template-download{margin-left:auto;display:grid;place-items:center;width:32px;height:32px;border:1px solid #e4eaf5;border-radius:8px;color:#2458ef}
.import-dropzone{padding:25px;border:1.5px dashed #c4d3ed;border-radius:12px;background:#f9fbff;text-align:center;display:grid;justify-items:center;gap:8px;cursor:pointer;max-width:none}
.import-dropzone:hover{border-color:#6892f0}.import-dropzone span:not(.import-drop-icon){font-size:12px;font-weight:400;color:#79859a}.import-dropzone strong{color:#20304a;font-size:14px}
.import-dropzone .import-drop-icon{font-size:30px;color:#2458ef}
.import-dropzone input[type=file]{font-size:13px;max-width:500px;background:white;cursor:pointer}
@media(max-width:900px){.import-template-grid{grid-template-columns:1fr}}

/* Varevix 0.7.0 — catalogue design system refresh */
.nav .nav-symbol,.nav .subnav-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:19px;height:20px;color:inherit}
.nav .nav-symbol svg,.nav .subnav-icon svg{width:18px;height:18px;display:block}
.nav .nav-caret{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex:none;margin-left:auto;color:#71809a;transition:transform .15s ease}
.nav .nav-caret svg{width:16px;height:16px}
.nav [aria-expanded="true"] .nav-caret{transform:rotate(180deg)}
.nav .nav-submenu{margin-left:27px;padding-left:11px}
.nav .nav-submenu .nav-subitem{display:flex;align-items:center;gap:12px;min-height:39px;padding:9px 11px}
.nav .nav-main-label{min-width:0}
.nav-profile-chevron svg{width:13px;height:13px}

.admin-create-panel .panel-body{padding:26px 27px 25px}
.admin-create-panel h2{font-size:17px;color:var(--navy);margin:0 0 7px;font-weight:700}
.admin-create-panel .hint{margin:0 0 24px;font-size:12px}
.admin-create-panel .admin-inline-form{max-width:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;gap:16px;align-items:end}
.admin-create-panel .admin-inline-form label{min-width:0;display:grid;gap:7px;margin:0}
.admin-create-panel .admin-inline-form .primary{min-width:118px;min-height:48px;margin-bottom:0}
.admin-create-panel .admin-form-footnote{margin:15px 0 0;font-size:12px;color:var(--muted);line-height:1.5}
.admin-create-panel #catalog-admin-term[data-kind="category"]{grid-template-columns:minmax(0,1fr) auto}
.admin-list-panel{margin-top:24px;overflow:hidden}
.admin-bordered-table{width:100%;border-collapse:collapse}
.admin-bordered-table th,.admin-bordered-table td{border:1px solid #e7ecf4;border-bottom-color:#e2e8f2;padding:16px 22px}
.admin-bordered-table th:first-child,.admin-bordered-table td:first-child{border-left:0}
.admin-bordered-table th:last-child,.admin-bordered-table td:last-child{border-right:0}
.admin-bordered-table thead th{border-top:0}
.admin-bordered-table tr:last-child td{border-bottom:0}
.admin-bordered-table .admin-center{text-align:center;vertical-align:middle;font-variant-numeric:tabular-nums}
.admin-bordered-table td .admin-actions{display:flex;align-items:center;gap:9px;white-space:nowrap;flex-wrap:wrap}
.admin-code-button{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;min-height:32px;border-radius:8px;background:#f0f4ff;color:#2458ef;font-size:12px;font-weight:650}
.admin-code-button:hover{background:#e4ecff}
.admin-actions .text-button{padding:6px 4px}
.admin-attribute-tabs{margin-bottom:25px}
.admin-attribute-tabs button{min-width:72px}
.admin-list-toolbar{padding:22px 24px 18px;display:flex;align-items:center}
.admin-list-search{display:flex;position:relative;flex:1;max-width:600px;min-width:0;margin:0}
.admin-list-search svg{position:absolute;left:15px;top:50%;transform:translateY(-50%);pointer-events:none;color:#8390a6}
.admin-list-search input{width:100%;min-height:47px;padding-left:43px;background:#f8faff}
.admin-list-panel .panel-head{padding:19px 24px}
.admin-modal-form{display:grid;gap:19px;min-width:min(440px,calc(100vw - 65px))}
.admin-modal-form>.hint{margin:0;line-height:1.55}
.admin-modal-form>label{display:grid;gap:8px;font-size:13px;font-weight:600}
.admin-modal-form>label>input{min-height:45px;width:100%;box-sizing:border-box}
.admin-modal-form>.modal-actions{display:flex;gap:10px;justify-content:flex-end;border-top:1px solid var(--line);padding-top:17px}

/* Dropdown control is the same width as its containing field, menu anchored below it. */
.vx-native-select{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:0!important;opacity:0!important;pointer-events:none!important;border:0!important;clip-path:inset(50%);overflow:hidden}
.vx-select{width:100%;min-width:0;position:relative;box-sizing:border-box;font-size:13px;font-weight:500}
.vx-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;height:49px;padding:0 14px;background:white;border:1px solid #d8e0ee;border-radius:9px;text-align:left;font:inherit;color:var(--navy);cursor:pointer}
.vx-select-value{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:1}
.vx-select-chevron{height:8px;width:8px;border-right:1.7px solid #61708a;border-bottom:1.7px solid #61708a;transform:rotate(45deg);flex:none;margin:-4px 3px 0 0}
.vx-select.open .vx-select-chevron{transform:rotate(225deg);margin-top:4px}
.vx-select.open .vx-select-trigger,.vx-select-trigger:focus-visible{outline:0;border-color:var(--blue)}
.vx-select.vx-disabled .vx-select-trigger{opacity:.6;background:#f6f8fc;cursor:not-allowed}
.vx-select-menu{display:none;position:absolute;box-sizing:border-box;top:calc(100% + 5px);left:0;width:100%;max-height:min(340px,52vh);overflow-y:auto;z-index:40;background:#fff;border:1px solid #d9e2f2;border-radius:9px;padding:6px;box-shadow:0 14px 30px #152a4c20}
.vx-select.open .vx-select-menu{display:block}
.vx-select-options{display:grid;gap:2px}
.vx-select-option,.vx-select-more{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 11px;min-height:36px;border-radius:6px;text-align:left;color:var(--navy);font-size:13px;cursor:pointer}
.vx-select-option:hover,.vx-select-option[aria-selected="true"],.vx-select-more:hover{background:#edf2ff;color:var(--blue)}
.vx-option-check{color:var(--blue);font-weight:700}
.vx-select-search{width:100%;box-sizing:border-box;padding:10px!important;margin-bottom:6px;font-size:13px}
.vx-select-more{color:var(--blue);font-weight:650;border-top:1px solid var(--line);border-radius:0}
.vx-select-empty{padding:12px;font-size:12px;color:var(--muted)}
.language-control .vx-select{min-width:150px}
.language-control .vx-select-trigger{min-height:44px;height:44px}

/* Import: two full-width template cards and a proper dropzone. */
.import-template-grid{max-width:none;width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}
.import-dropzone{position:relative;min-height:195px;justify-content:center;align-content:center;gap:10px}
.import-dropzone .import-drop-icon{font-size:34px}
.import-dropzone.drag-over{background:#f0f5ff;border-color:var(--blue);border-style:solid}
.import-dropzone .import-browse-button{display:inline-flex;align-items:center;justify-content:center;background:white;border:1px solid #cad8f2;border-radius:9px;padding:10px 22px;color:var(--blue);font-size:13px;font-weight:700!important;cursor:pointer}
.import-dropzone:hover .import-browse-button{background:#edf2ff}
.import-dropzone input[type="file"]{position:absolute;top:50%;left:50%;width:1px;height:1px;opacity:0;padding:0;margin:0;overflow:hidden;pointer-events:none}
.import-dropzone .import-file-summary{display:block;max-width:100%;overflow-wrap:anywhere;background:#edf8f2;border:1px solid #c3e6d6;border-radius:8px;padding:9px 13px;font-size:12px;font-weight:650;color:#20734d}
.import-dropzone .import-file-summary[hidden]{display:none}
@media(max-width:820px){.admin-create-panel .admin-inline-form{grid-template-columns:1fr 1fr}.admin-create-panel .admin-inline-form button{grid-column:1/-1}.import-template-grid{grid-template-columns:1fr}.admin-create-panel .panel-body{padding:20px}.admin-list-toolbar{padding:16px}.admin-bordered-table th,.admin-bordered-table td{padding:12px}}
@media(max-width:520px){.admin-create-panel .admin-inline-form,.admin-create-panel #catalog-admin-term[data-kind="category"]{grid-template-columns:1fr}}
.vx-combobox{position:relative;width:100%;min-width:0}
.vx-combobox>input{width:100%;box-sizing:border-box}
.vx-combobox-menu{display:none;position:absolute;top:calc(100% + 5px);left:0;width:100%;box-sizing:border-box;z-index:42;background:white;border:1px solid #dae3f1;border-radius:9px;padding:6px;max-height:min(330px,50vh);overflow:auto;box-shadow:0 14px 30px #152a4c20}
.vx-combobox.open .vx-combobox-menu{display:block}

/* v0.7.1.1: give catalogue search tools a complete, balanced toolbar. */
.admin-list-toolbar{gap:14px;justify-content:space-between}
.admin-list-search{max-width:none;flex:1}
.admin-sort-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:88px;min-height:47px;padding:0 13px;border:1px solid #d8e0ee;border-radius:9px;background:#fff;color:var(--navy);font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer}
.admin-sort-button:hover,.admin-sort-button:focus-visible{border-color:var(--blue);background:#f4f7ff}
.admin-sort-button span{font-size:16px;color:var(--muted)}
/* Leave the product import dropzone comfortably spaced, not crowded. */
.import-redesign .import-dropzone{min-height:236px;padding:32px 24px;gap:15px;align-content:center}
.import-redesign .import-dropzone strong{font-size:15px}
.import-redesign .import-dropzone .import-drop-icon{font-size:37px;line-height:1}
.import-redesign .import-browse-button{padding:11px 25px;min-height:43px;background:#fff;color:var(--blue)!important;border-color:#b9c9e9}
@media(max-width:520px){.admin-list-toolbar{gap:8px;padding:14px 16px}.admin-sort-button{min-width:70px;padding:0 9px}.import-redesign .import-dropzone{padding:25px 15px}}


/* v0.7.1.6 — Compact Locations cards and one adaptive edit modal.
   Content expands only when the user opens advanced configuration. */
.location-meta {
  margin-top: 18px;
  padding-top: 18px;
  gap: 14px;
  padding-bottom: 18px;
  font-size: 12px;
}
.location-meta > div { min-height: 22px; line-height: 1.5; align-items: center; }
.location-meta strong { line-height: 1.5; }
.location-actions {
  margin-top: 0;
  padding-top: 16px;
  gap: 10px;
}
.location-actions .secondary { min-width: 66px; }
dialog:has(#location-edit), dialog:has(#location) {
  width: min(870px, calc(100vw - 32px));
  max-height: calc(100dvh - 32px);
  overflow-y: auto;
}
#modal-content:has(#location-edit),
#modal-content:has(#location) { min-height: 0; }
#modal-content:has(#location-edit) > .modal-body,
#modal-content:has(#location) > .modal-body { display: block; }
#location-edit, #location { display: block; }
#location-edit > .modal-actions, #location > .modal-actions {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}
.location-edit-form { gap: 0; }
.location-general-fields { margin-bottom: 0; }
.location-advanced { display: grid; gap: 12px; margin-top: 22px; }
.location-disclosure { border: 1px solid var(--line); border-radius: 11px; background: #fff; min-width: 0; }
.location-disclosure > summary {
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  padding: 16px 18px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  color: var(--navy);
  border-radius: 10px;
}
.location-disclosure > summary::-webkit-details-marker { display: none; }
.location-disclosure > summary:hover { background: #f5f8fe; }
.location-disclosure > summary:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
.location-disclosure-arrow {
  display: block;
  flex: 0 0 8px;
  width: 8px;
  height: 8px;
  border-right: 1.8px solid #5b6b85;
  border-bottom: 1.8px solid #5b6b85;
  transform: rotate(45deg);
  transition: transform 160ms;
}
.location-disclosure[open] .location-disclosure-arrow { transform: rotate(225deg); }
.location-disclosure[open] > summary { border-bottom: 1px solid var(--line); border-radius: 10px 10px 0 0; }
.location-disclosure-content { padding: 18px; }
.location-disclosure-content > .field-help { margin: 0 0 16px; }
.location-disclosure-content .fields { margin-top: 0; }
.location-disclosure-content .location-check { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.location-disclosure-content .location-check input { width: 16px; height: 16px; min-height: 16px; }
.location-disclosure-content .location-check .field-help { flex-basis: 100%; font-weight: 400; }
.location-disclosure-content textarea { min-height: 80px; }
@media (max-width: 600px) {
  .location-disclosure-content { padding: 14px; }
  .location-disclosure > summary { padding: 14px 15px; }
  dialog:has(#location-edit), dialog:has(#location) { max-height: calc(100dvh - 16px); }
}

/* v0.7.1.8 — full-page Locations editor, consistent with Add product. */
.location-page-tabs{margin-top:20px;scroll-margin-top:18px}
.location-page-form{display:block;min-width:0;padding-bottom:90px}
.location-page-form .location-tab-panel{margin-top:0;overflow:visible}
.location-page-form .location-tab-panel[hidden]{display:none!important}
.location-page-panel-body{padding:27px 28px 32px}
.location-page-panel-body h2{font-size:18px;margin:0 0 16px}
.location-page-panel-body .hint{margin:0 0 24px;line-height:1.6;color:var(--muted)}
.location-page-panel-body .fields{align-items:start;gap:24px 28px}
.location-page-panel-body .fields label{min-width:0}
.location-page-panel-body .field-help{margin-top:6px}
.location-page-panel-body .location-check{justify-content:flex-start;align-items:center}
.location-page-panel-body .location-check .field-help{width:100%;margin-top:2px}
.location-page-form .location-page-footer{position:sticky;bottom:0;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:17px 22px;background:#fff;border:1px solid var(--line);border-radius:12px;margin-top:23px;box-shadow:0 -4px 12px rgba(20,40,80,.025)}
.location-page-footer .hint{margin:0;max-width:65%;color:var(--muted);font-size:12px}
.location-page-footer .row{margin-left:auto;flex-wrap:nowrap}
.location-page-form .location-agreement-fields textarea{width:100%;box-sizing:border-box}
@media(max-width:760px){.location-page-panel-body{padding:20px}.location-page-form .location-page-footer{flex-direction:column;align-items:stretch;padding:14px}.location-page-footer .hint{max-width:none}.location-page-footer .row{justify-content:flex-end}.location-page-form{padding-bottom:35px}}
@media(max-width:560px){.location-page-panel-body .fields{grid-template-columns:1fr}.location-page-panel-body .fields .span{grid-column:1}.location-page-tabs button{padding:11px 12px}}

/* v0.7.1.8 — Location forms: balanced settings and conditional agreement editor. */
.location-settings-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.location-primary-box{border:1px solid var(--line);border-radius:10px;padding:15px 17px;min-height:99px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;gap:9px}
.location-primary-head{display:flex;align-items:center;gap:12px}.location-primary-head input{width:17px;height:17px;margin:0}
.location-primary-box .field-help{margin:0!important;line-height:1.5}
.location-page-panel-body [hidden]{display:none!important}
.location-scope-group >label{max-width:100%}.location-scope-group [data-scope-picker]{margin-top:12px;border:1px solid var(--line);border-radius:11px;padding:14px;background:#f9fbff}
.location-scope-group [data-scope-picker-label]{font-weight:600;display:block;margin-bottom:7px}
.location-scope-group [data-scope-search]{width:100%;box-sizing:border-box}
.location-scope-results{max-height:235px;overflow:auto;margin-top:10px;border-radius:8px;background:#fff;border:1px solid var(--line)}
.location-scope-results>.hint{padding:12px;margin:0}
.location-scope-option{display:flex!important;align-items:center;gap:10px;padding:11px 13px!important;cursor:pointer;border-bottom:1px solid var(--line);font-weight:500}
.location-scope-option:last-child{border-bottom:0}
.location-scope-option:hover{background:#f1f5ff}.location-scope-option input{width:16px;height:16px;margin:0}
.location-scope-selected{margin-top:11px;display:flex;flex-wrap:wrap;gap:7px}.location-scope-selected>.hint{margin:0}
.location-scope-chip{border:1px solid #cfdbfb;background:#eef3ff;border-radius:8px;padding:6px 10px;color:#2356dc;font-size:12px;cursor:pointer}
.location-bonus-section{border-top:1px solid var(--line);padding-top:24px}
.location-bonus-section h3{margin:0 0 14px;font-size:16px}
.location-bonus-fields{margin-top:18px;align-items:start}
@media(max-width:680px){.location-settings-fields{grid-template-columns:1fr}.location-primary-box{min-height:76px}}

/* v0.7.1.9 — compact agreement scope, independently sized notes, regional preview. */
.location-scope-group [data-scope-picker]{padding:12px 14px}
.location-scope-compact{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.location-scope-compact .location-scope-selected{display:flex;flex:1 1 250px;flex-wrap:wrap;align-items:center;gap:7px;margin:0}
.location-scope-compact .secondary{white-space:nowrap;flex-shrink:0}
.location-scope-expanded{padding-top:15px;border-top:1px solid var(--line);margin-top:15px}
.location-scope-actions{display:flex;justify-content:flex-end;margin-top:12px}
.location-scope-expanded[hidden]{display:none!important}
.location-notes-section{border-top:1px solid var(--line);padding-top:22px}
.location-notes-section h3{font-size:16px;margin:0 0 5px}
.location-notes-section .field-help{margin:0 0 12px!important;display:block}
.location-notes-section textarea{box-sizing:border-box;display:block;min-height:88px;overflow:hidden;resize:vertical;width:100%;line-height:1.55}
.location-notes-section .location-notes-counter{display:block;text-align:right;margin-top:7px!important;margin-bottom:0!important;font-variant-numeric:tabular-nums}
.location-bonus-section{margin-top:0}
.regional-preview{padding:19px 20px;border-radius:12px;border:1px solid var(--line);background:#f8faff}
.regional-preview-heading{display:flex;flex-direction:column;gap:5px;margin-bottom:16px}
.regional-preview-heading .field-help{margin:0}
.regional-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px}
.regional-preview-grid>span{display:flex;flex-direction:column;gap:5px}
.regional-preview-grid small{font-size:12px;color:var(--muted)}
.regional-preview-grid strong{font-size:15px}
.regional-preview>.field-help{margin:14px 0 0!important}
@media(max-width:580px){.regional-preview-grid{grid-template-columns:1fr}.location-scope-compact{align-items:stretch}}

/* Varevix 0.7.2.1 — full-width, balanced Company and Locations settings. */
#company-settings.company-form,#operational-settings.company-form,#regional-settings.company-form{max-width:none;width:100%;min-width:0}
#company-settings .fields,#operational-settings .fields,#regional-settings .fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}
.company-regional-panel .panel-body{padding-top:0}
.company-regional-panel #regional-settings{gap:22px}
#operational-settings .fields >label:only-child{grid-column:1/-1}
.exchange-rate-table{border:1px solid var(--line);border-radius:12px;overflow:hidden;max-width:750px;margin:18px 0 14px}
.exchange-rate-head,.exchange-rate-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(175px,1.45fr) 48px;gap:12px;align-items:center;padding:10px 12px}
.exchange-rate-head{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);background:#f8faff;border-bottom:1px solid var(--line)}
.exchange-rate-row+ .exchange-rate-row{border-top:1px solid var(--line)}
.exchange-rate-row input,.exchange-rate-row select{min-width:0;width:100%;height:43px}
.exchange-rate-row input[readonly]{background:#f6f8fc;color:var(--muted)}
.exchange-rate-row .rate-indicator{justify-self:center;font-size:13px}
.exchange-rate-row .rate-remove{height:38px;padding:0 13px;font-size:20px}
.add-rate-button{margin-bottom:12px}
#operational-settings fieldset+fieldset{border-top:1px solid var(--line);padding-top:26px}
.location-primary-field{display:flex;flex-direction:column;min-width:0;gap:0}
.location-field-title{display:block;font-size:13px;font-weight:600;color:#40506a;margin-bottom:7px}
.location-primary-box{box-sizing:border-box;min-height:52px;height:52px;border:1px solid #d8e0ee;border-radius:10px;padding:0 14px;display:flex!important;flex-direction:row;justify-content:space-between;align-items:center;gap:14px;font-weight:500}
.location-primary-box input{width:18px;height:18px;min-height:18px;margin:0;flex:0 0 auto}
.location-primary-field>.field-help{margin-top:7px!important}
.location-external-agreement{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.location-external-agreement[hidden]{display:none!important}
@media(max-width:700px){#company-settings .fields,#operational-settings .fields,#regional-settings .fields,.location-external-agreement{grid-template-columns:1fr}.exchange-rate-head,.exchange-rate-row{grid-template-columns:minmax(90px,1fr) minmax(100px,1.4fr) 38px;gap:8px;padding:9px}}

/* Varevix 0.7.2.1 — Company: balanced VAT fields and a full-width rate table. */
#operational-settings .vat-settings .fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start}
#operational-settings .vat-settings .fields>label{min-width:0}
#operational-settings .exchange-settings{width:100%;min-width:0}
#operational-settings .exchange-settings .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.exchange-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:16px}
.exchange-toolbar-description{min-width:0;flex:1}
.exchange-toolbar-description h3{margin:0 0 7px;font-size:15px;font-weight:700;color:#182238}
#operational-settings .exchange-toolbar .hint{margin:0;max-width:690px;line-height:1.6}
.exchange-toolbar .add-rate-button{flex:0 0 auto;white-space:nowrap;margin:0;align-self:center}
.exchange-metadata{display:flex;align-items:center;flex-wrap:wrap;gap:10px 25px;color:var(--muted);font-size:12px;margin-bottom:15px}
.exchange-metadata strong{color:#182238;font-weight:700;margin-left:4px}
#operational-settings .exchange-rate-table{width:100%;max-width:none;box-sizing:border-box;margin:0 0 14px}
#operational-settings .exchange-rate-head,#operational-settings .exchange-rate-row{grid-template-columns:minmax(165px,1.15fr) minmax(180px,1.65fr) minmax(110px,.7fr);gap:18px;padding:11px 17px}
.exchange-rate-name{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:3px}
#operational-settings .exchange-rate-name .exchange-rate-code{box-sizing:border-box;display:block;width:100%;min-width:0;height:auto;min-height:0;padding:0;border:0;background:none;box-shadow:none;border-radius:0;font-size:14px;font-weight:700;color:#17233b;pointer-events:none}
.exchange-rate-name small{font-size:11px;color:var(--muted);line-height:1.45}
#operational-settings .exchange-rate-name select{height:43px}
#operational-settings .exchange-rate-row>input[name^="rate-value-"]{height:43px}
.exchange-rate-row .rate-status{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);min-width:0}
.exchange-rate-row .rate-status-base{display:flex;align-items:center;gap:5px}
.exchange-rate-row .rate-remove{margin-left:auto;flex-shrink:0}
#operational-settings .exchange-footer-hint{margin:13px 0 0;max-width:100%;line-height:1.6}
@media(max-width:1020px){#operational-settings .vat-settings .fields{grid-template-columns:repeat(2,minmax(0,1fr))}#operational-settings .vat-settings .fields>label:nth-child(3){grid-column:1/-1}}
@media(max-width:700px){#operational-settings .vat-settings .fields{grid-template-columns:1fr}#operational-settings .vat-settings .fields>label:nth-child(3){grid-column:auto}#operational-settings .exchange-rate-head,#operational-settings .exchange-rate-row{grid-template-columns:minmax(74px,1fr) minmax(94px,1.2fr) minmax(82px,.8fr);gap:8px;padding:10px}.exchange-toolbar{flex-wrap:wrap;gap:12px}.exchange-toolbar .add-rate-button{margin-left:auto}}

.exchange-rate-row .rate-lock-icon{width:15px;height:15px;flex-shrink:0;color:#71809a}

/* Varevix 0.7.3.0 Beta — Inventory documents */
.inv-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 18px}
.inv-tile{min-width:0;border:1px solid var(--line);background:white;border-radius:13px;padding:21px 23px;display:flex;flex-direction:column;gap:9px}
.inv-tile small{font-size:12px;color:var(--muted);font-weight:650}
.inv-tile strong{font-size:24px;color:var(--navy);overflow-wrap:anywhere}
.inv-filter-panel{margin-bottom:18px;padding:18px 20px}
.inv-filters{display:grid;grid-template-columns:minmax(240px,2fr) minmax(190px,1fr) minmax(175px,1fr) auto;gap:12px;align-items:end}
.inv-filters label,.inv-doc-grid label,.inv-add label{font-size:12px;line-height:1.5;font-weight:650;color:#4a5872;display:flex;flex-direction:column;gap:7px;min-width:0}
.inv-filters input,.inv-filters select,.inv-doc-grid input,.inv-doc-grid select,.inv-doc-grid textarea,.inv-add input,.inv-import textarea{width:100%;border:1px solid #d7e0f0;border-radius:9px;padding:11px 12px;background:white;color:#1e2f4b;min-height:43px;font-size:14px}
.inv-filters button{min-height:43px}
.inv-expanded{background:#f7f9fd;padding:12px 22px!important}
.inv-mini{width:100%;font-size:13px}
.inv-mini th,.inv-mini td{padding:10px 9px}
.inv-tag{display:inline-flex;align-items:center;border-radius:20px;padding:4px 10px;background:#edf1f9;color:#5c6781;text-transform:capitalize;font-weight:650;font-size:12px}
.inv-tag.inv-validated{background:#e5f0ff;color:#1c58bc}.inv-tag.inv-posted{background:#e5f5eb;color:#176546}.inv-tag.inv-draft{background:#f1f3f8;color:#5c6781}
.inv-doc-panel{margin:0 0 16px}.inv-doc-body{padding:20px 24px}.inv-doc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px}.inv-span{grid-column:1/-1}
.inv-editor-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 18px}.inv-action-spacer{flex:1}
.inv-doc-body textarea{resize:vertical;min-height:84px}.inv-doc-panel .panel-head h2{display:flex;align-items:center;gap:12px}.inv-count{font-size:12px;color:#718098;font-weight:500}
.inv-add{position:relative;margin:0 0 16px}.inv-suggest-list{position:absolute;z-index:15;max-height:280px;overflow:auto;left:0;top:calc(100% - 1px);width:min(680px,100%);border:1px solid #dbe5f1;background:#fff;border-radius:10px;box-shadow:0 10px 30px #1c294526}
.inv-suggest-list button{width:100%;border:0;border-bottom:1px solid #edf0f5;text-align:left;background:white;padding:12px;cursor:pointer;display:flex;flex-direction:column;gap:3px}
.inv-suggest-list button:hover,.inv-suggest-list button:focus-visible{background:#eef3fd}.inv-suggest-list button span{color:#667794;font-size:12px}
.inv-qty{max-width:118px;min-height:40px;border:1px solid #d7e0f0;background:white;border-radius:8px;padding:8px 10px;text-align:right;color:#1e2f4b}
.inv-import{border:1px dashed #c8d6ed;border-radius:12px;padding:16px;margin-top:18px;background:#fbfcff}
.inv-import summary{font-weight:650;cursor:pointer;color:#284975}.inv-import textarea{margin:10px 0 8px;font-family:inherit;min-height:96px}
.inv-errors{background:#fff0f0;border:1px solid #f4bebe;border-radius:9px;padding:12px;margin-top:12px;color:#a13a39;font-size:13px;max-height:180px;overflow-y:auto}
.inv-import .row{gap:10px}.inv-tag.inv-receipt{background:#ecf8f0;color:#286747}.inv-tag.inv-transfer{background:#e9f0ff;color:#2458c2}
@media(max-width:1100px){.inv-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.inv-filters button{width:fit-content}}
@media(max-width:720px){.inv-summary{grid-template-columns:1fr;gap:10px}.inv-tile{padding:15px}.inv-tile strong{font-size:21px}.inv-filters,.inv-doc-grid{grid-template-columns:1fr}.inv-doc-body{padding:15px}.inv-editor-actions .primary,.inv-editor-actions .secondary{font-size:12px}.inv-mini th,.inv-mini td{white-space:normal}}

/* Portal-based dropdowns remain visible above adjacent cards. */
.vx-select-menu.vx-floating-open{display:block;overscroll-behavior:contain}

/* Varevix Inventory: editor polish and native-calendar replacement. */
.inv-doc-grid label .inv-date-row{display:flex;align-items:stretch;position:relative;width:100%;}
.inv-date-row #inv-date-manual{padding-right:50px;min-height:49px;width:100%;font-variant-numeric:tabular-nums}
.inv-date-row #inv-date-toggle{position:absolute;right:3px;top:3px;bottom:3px;border:0;background:transparent;padding:0 13px;font-size:24px;color:#647492;cursor:pointer;border-radius:8px}
.inv-date-row #inv-date-toggle:hover,.inv-date-row #inv-date-toggle:focus-visible{background:#edf3ff;color:#2458ef;outline:2px solid #dce6ff}
.inv-calendar-popover{position:fixed;z-index:12000;border:1px solid #d8e2f1;border-radius:14px;background:#fff;padding:14px;box-sizing:border-box;box-shadow:0 17px 40px #1324452a;font-size:13px;color:#203452;max-height:90vh;overflow:auto}
.inv-cal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px}
.inv-cal-header strong{font-size:14px;font-weight:700;letter-spacing:.01em}
.inv-cal-header button{background:#f4f7fd;border:1px solid #e4eaf5;border-radius:8px;width:34px;height:34px;cursor:pointer;font-size:21px;color:#40516f;display:grid;place-items:center}
.inv-cal-header button:hover{color:#2458ef;background:#eaf1ff}
.inv-cal-weekdays,.inv-cal-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center;gap:3px}
.inv-cal-weekdays{color:#7f8da8;font-weight:700;font-size:11px;margin-bottom:5px}
.inv-cal-weekdays span{padding:8px 0}
.inv-cal-day,.inv-cal-blank{height:37px;min-width:0;border:0;border-radius:9px;background:transparent;font:inherit;color:#273851}
.inv-cal-day{cursor:pointer}
.inv-cal-day:hover,.inv-cal-day:focus-visible{background:#edf2ff;color:#2458ef}
.inv-cal-day.is-today:not(.is-selected){box-shadow:inset 0 0 0 1.5px #2458ef}
.inv-cal-day.is-selected{background:#2458ef;color:white;font-weight:750}
.inv-cal-day.is-selected:hover{background:#1847c8;color:white}
.inv-cal-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #e8eef7;margin-top:12px;padding-top:11px;color:#7a8ba7}
.inv-cal-footer button{border:0;background:transparent;color:#2458ef;font-weight:700;cursor:pointer;padding:8px;border-radius:8px}
.inv-cal-footer button:hover{background:#edf3ff}
.inv-doc-grid textarea[data-doc-field=note]{min-height:62px;max-height:240px}
.inv-doc-grid input[readonly]{background:#f8faff;color:#4a5871}
.inv-product-search-grid{display:grid;grid-template-columns:minmax(260px,2fr) minmax(170px,1fr);gap:16px;align-items:end}
.inv-product-search-grid .vx-select-trigger{height:43px}
.inv-product-search-grid #inv-variant-search{min-height:49px}
.inv-add .inv-suggest-list{top:calc(100% + 2px);width:100%;max-width:850px;box-shadow:0 16px 32px #13244525}
.inv-import{margin-top:18px}
.inv-import-options{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin:13px 0}
.inv-import-options button{min-height:38px}
.inv-import label{font-size:12px;color:#4a5872;font-weight:650;display:block}
.inv-import label input[type=file]{margin-top:10px;width:100%;padding:10px;border:1px solid #d8e2f1;border-radius:8px;background:white}
.inv-import-preview{margin-top:14px;border-top:1px solid #d9e3f1;padding-top:14px}
.inv-import-preview h3{font-size:13px;margin:0 0 11px;color:#253750}
.inv-import-preview table th,.inv-import-preview table td{padding:9px 10px;font-size:12px}
.inv-preview-issue{color:#a63434;font-weight:650}
@media(max-width:760px){.inv-product-search-grid{grid-template-columns:1fr}.inv-calendar-popover{max-width:calc(100vw - 20px)}}

.inv-saved-time{color:#6c7d9a;font-size:12px;font-weight:550}

/* Varevix 0.7.3.3 Beta — separate Add products and Import products pages */
.inv-products-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.inv-product-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.inv-product-actions button{min-height:42px;font-size:13px}
.inv-product-empty{margin:15px 0 2px;padding:16px;border:1px dashed #d7e2f1;border-radius:10px;background:#fbfcff}
.inv-picker-filters{margin-bottom:20px}
.inv-picker-table{min-width:650px}
.inv-picker-table td,.inv-picker-table th{padding:13px 12px;vertical-align:middle}
.inv-picker-table td:first-child,.inv-picker-table th:first-child{width:70px;text-align:center}
.inv-picker-table input[type=checkbox]{width:18px;height:18px;accent-color:#2458ef;cursor:pointer}
.inv-picker-table .inv-picker-qty{max-width:108px;min-height:39px}
.inv-picker-existing{opacity:.65;background:#f7f9fc}
.inv-picker-selection{color:#526582;font-size:13px;font-weight:650}
.inv-import-page{margin:0;padding:20px;background:#fbfcff;border-style:solid}
.inv-import-page .inv-import-options{margin:0 0 18px}
.inv-import-page input[type=file]{min-height:44px}
.inv-date-row #inv-date-toggle{display:grid;place-items:center}
.inv-date-row #inv-date-toggle svg{display:block}
@media(max-width:720px){.inv-product-actions{width:100%}.inv-product-actions button{flex:1}.inv-picker-table{min-width:620px}.inv-import-page{padding:13px}}

/* Inventory catalog picker: visible, recoverable read errors (0.7.3.4). */
.inv-search-error { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; margin-top:20px; padding:14px 16px; border:1px solid #edbac4; border-radius:12px; background:#fff7f8; color:#9d2541; font-size:14px; }
.inv-search-error .secondary { background:#fff; }

/* Varevix 0.7.3.5 Beta — grouped inventory picker, matching Products grid. */
.inv-picker-stats{color:#647793;font-size:13px;font-weight:600;margin:0 0 12px}
.inv-group-table,.inv-picker-variants{width:100%;border-collapse:separate;border-spacing:0;border:1px solid #dce5f2;border-radius:10px;overflow:hidden;table-layout:auto}
.inv-group-table th,.inv-group-table td,.inv-picker-variants th,.inv-picker-variants td{border-right:1px solid #e2eaf5;border-bottom:1px solid #e2eaf5;padding:13px 15px;vertical-align:middle}
.inv-group-table th:last-child,.inv-group-table td:last-child,.inv-picker-variants th:last-child,.inv-picker-variants td:last-child{border-right:0}
.inv-group-table tbody tr:last-child td,.inv-picker-variants tbody tr:last-child td{border-bottom:0}
.inv-group-table thead th,.inv-picker-variants thead th{background:#f7f9fd;color:#8394ae;letter-spacing:.075em;text-transform:uppercase;font-size:11px;font-weight:750;text-align:left}
.inv-group-table td:first-child,.inv-group-table th:first-child{width:auto;text-align:left}
.inv-group-table th:nth-child(2),.inv-group-table th:nth-child(3){width:145px}
.inv-group-table th:last-child{width:160px}
.inv-group-parent td{background:#fff}
.inv-group-parent:hover td{background:#fafdff}
.inv-group-open{display:flex;align-items:center;gap:12px;background:transparent;border:0;color:#243755;text-align:left;width:100%;padding:4px 0;cursor:pointer}
.inv-group-open strong{display:block;font-size:14px}
.inv-group-open .subtext{display:block;margin-top:4px}
.inv-group-chevron{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;color:#4266a2;font-size:18px;flex-shrink:0}
.inv-expand-action{font-size:12px;min-height:36px;white-space:nowrap}
.inv-group-table .inv-group-detail td{border-right:0;padding:0;background:#f9fbff}
.inv-group-detail .inv-variant-grid-wrap{padding:15px 20px 18px}
.inv-group-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;color:#697a93;font-size:12px;font-weight:650;margin:0 0 12px}
.inv-select-all{min-height:34px;padding:7px 11px;font-size:12px}
.inv-picker-variants{background:#fff}
.inv-picker-variants th:first-child,.inv-picker-variants td:first-child{width:78px;text-align:center}
.inv-picker-variants th:nth-child(2){min-width:190px}
.inv-picker-variants th:nth-child(3){min-width:190px}
.inv-picker-variants th:last-child{width:200px;text-align:center}
.inv-picker-variants td:last-child{text-align:center}
.inv-picker-variants input[type=checkbox]{height:18px;width:18px;cursor:pointer;accent-color:#2458ef}
.inv-picker-variants strong{font-size:13px;color:#293c5a}
.inv-picker-variants .inv-sku{color:#687d9c;font-size:12px;overflow-wrap:anywhere}
.inv-picker-count{font-size:12px;color:#7a89a4;margin:11px 0 0;text-align:right}
.inv-picker-more{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:14px 0 0;color:#7484a0;font-size:12px;font-weight:550}
.inv-picker-more button{min-height:37px;font-size:12px}
.inv-already{font-size:12px;color:#7486a2}
.inv-stepper{display:flex;align-items:center;justify-content:space-between;gap:0;border:1px solid #d4def0;border-radius:999px;background:#fff;min-height:39px;width:154px;max-width:100%;margin:auto;overflow:hidden}
.inv-stepper:focus-within{border-color:#2458ef;box-shadow:0 0 0 2px #2458ef22}
.inv-stepper button{width:40px;flex:0 0 40px;height:39px;display:grid;place-items:center;border:0;background:transparent;color:#4f5e81;font-size:24px;font-weight:600;cursor:pointer;padding:0}
.inv-stepper button:hover:not(:disabled){background:#ecf2ff;color:#2458ef}
.inv-stepper button:disabled{opacity:.25;cursor:not-allowed}
.inv-stepper .inv-picker-qty{border:0;border-radius:0;box-shadow:none;outline:0;min-width:0;max-width:none;width:64px;flex:1;height:39px;min-height:39px;text-align:center;color:inherit;font-size:14px;font-weight:600;font-family:inherit;color:#283955;background:transparent;padding:0 2px;appearance:textfield;-moz-appearance:textfield}
.inv-stepper .inv-picker-qty::-webkit-outer-spin-button,.inv-stepper .inv-picker-qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.inv-stepper .inv-picker-qty:focus{outline:0;box-shadow:none}
@media(max-width:720px){.inv-group-table{min-width:600px}.inv-picker-variants{min-width:600px}.inv-group-detail .inv-variant-grid-wrap{padding:10px}.inv-stepper{width:145px}}

/* Checkbox on each grouped product, without affecting the nested variant grid. */
.inv-group-table th:first-child,.inv-group-table .inv-group-parent td:first-child{width:68px;text-align:center}
.inv-group-table th:nth-child(2){width:auto}
.inv-group-table th:nth-child(3){width:145px}
.inv-group-table th:nth-child(4){width:105px}
.inv-group-table th:nth-child(5){width:160px}
.inv-group-parent input[type=checkbox]{width:18px;height:18px;accent-color:#2458ef;cursor:pointer}

/* Varevix 0.7.3.7: two filters below a full-width search and consistent Lucide-style hierarchy */
.inv-picker-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}
.inv-picker-filters .inv-filter-search{grid-column:1/-1}
.inv-picker-filters label{min-width:0}
.inv-picker-filters select{width:100%;min-height:49px}
.nav .nav-symbol svg{width:19px;height:19px;stroke-width:1.8}
.nav .subnav-icon{width:17px;height:18px}
.nav .subnav-icon svg{width:16px;height:16px;stroke-width:1.7}
@media(max-width:620px){.inv-picker-filters{grid-template-columns:1fr}.inv-picker-filters .inv-filter-search{grid-column:1}}


/* v0.7.3.7 — Product-catalog-style popover and matching quantity controls. */
.inv-picker-panel{overflow:visible}
.inv-picker-toolbar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.inv-picker-search-label{display:grid;gap:8px;flex:1 1 340px;min-width:200px;margin:0}
.inv-picker-search-wrap{display:flex;align-items:center;position:relative}
.inv-picker-search-wrap svg{position:absolute;left:15px;color:#8190a8;pointer-events:none}
.inv-picker-search-wrap #inv-variant-search{width:100%;padding-left:44px;min-height:48px;background:#f8faff}
.inv-picker-filter-menu{flex:0 0 auto;position:relative;align-self:flex-end}
.inv-picker-filter-menu>summary{min-height:48px;display:flex;align-items:center;justify-content:center;padding:0 18px;border:1px solid #dde5f2;border-radius:9px;background:#fff;color:#31415b;font-size:13px;font-weight:600}
.inv-picker-filter-menu[open]>summary{border-color:#8eabff;color:#2458ef;background:#f7f9ff}
.inv-picker-filter-fields{z-index:60;min-width:255px;max-width:min(320px,calc(100vw - 32px));gap:12px}
.inv-picker-filter-fields label{min-width:0}
.inv-picker-filter-fields select{width:100%;min-height:44px}
.inv-picker-filter-fields .vx-select-trigger{min-height:44px}
.inv-picker-filter-fields button{width:100%}
.inv-document-stepper{width:166px;min-width:146px;margin-left:auto;margin-right:auto}
.inv-doc-stepper-input{font-variant-numeric:tabular-nums}
@media(max-width:620px){.inv-picker-toolbar{align-items:stretch}.inv-picker-search-label{flex-basis:100%}.inv-picker-filter-menu{align-self:flex-start}.inv-picker-filter-fields{left:0;right:auto;position:absolute;top:calc(100% + 8px)}}


/* v0.7.3.8 — Keep the Add products filter inside the visible viewport.
   The inventory popover is right-aligned (unlike the catalog's left-aligned one).
   JavaScript uses fixed coordinates on open to avoid horizontal AND vertical clipping. */
.inv-picker-filter-menu{z-index:61}
.inv-picker-filter-menu .inv-picker-filter-fields{
  box-sizing:border-box;
  left:auto;
  right:0;
  width:286px;
  min-width:0;
  max-width:calc(100vw - 24px);
  max-height:calc(100dvh - 24px);
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
}
@media(max-width:760px){
  .inv-picker-filter-menu .inv-picker-filter-fields{
    position:fixed;
    left:12px;
    right:12px;
    top:clamp(12px,24vh,140px);
    width:auto;
    max-width:none;
    max-height:calc(100dvh - 24px);
  }
}

/* v0.7.3.9 — consistent structured tables, aligned quantities and comfortable notes. */
.table-scroll > table:not(.inv-group-table):not(.inv-picker-variants),
.vx-grid-table{border-collapse:separate;border-spacing:0;width:100%}
.table-scroll > table th,.table-scroll > table td{border-right:1px solid #e2eaf5;border-bottom:1px solid #e2eaf5}
.table-scroll > table th:last-child,.table-scroll > table td:last-child{border-right:0}
.table-scroll > table tbody tr:last-child td{border-bottom:0}
.table-scroll > table th.num,.table-scroll > table td.num{font-variant-numeric:tabular-nums}
.inv-doc-panel .table-scroll th.num,.inv-doc-panel .table-scroll td.num,
.inv-history-filters + .table-scroll th.num,.vx-grid-table th.num,.vx-grid-table td.num,
.inv-mini th.num,.inv-mini td.num{ text-align:center }
.inv-doc-panel .table-scroll td.num .inv-stepper{margin-inline:auto}
.panel > .hint,.panel > .audit-note,.panel > .inv-picker-count,.panel > .inv-history-footer,
.table-scroll + .hint,.table-scroll + .audit-note{margin:0;padding:15px 22px;line-height:1.6;color:#71809b}
.audit-note{padding:6px 22px;margin:14px 0;line-height:1.65}
.vx-table-note{padding:14px 22px!important;margin:0!important;border-top:1px solid #e6ecf4}
.inv-history-filters{display:grid;grid-template-columns:minmax(180px,2fr) repeat(2,minmax(130px,1fr));gap:12px;align-items:end}
.inv-history-filters label{min-width:0;display:flex;flex-direction:column;gap:7px;color:#4a5872;font-size:12px;font-weight:650}
.inv-history-filters input,.inv-history-filters select{width:100%;min-height:43px;min-width:0;padding:10px 12px;border-radius:9px;border:1px solid #d7e0f0;background:#fff;color:#273854;font-size:13px}
.inv-history-filters button,.inv-history-filters .inv-history-export{min-height:43px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;white-space:nowrap}
.inv-history-export{text-decoration:none}
.inv-history-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;padding:15px 22px;border-top:1px solid #e3eaf5;font-size:12px;color:#667895}
.inv-history-footer > div{display:flex;align-items:center;gap:10px}
.inv-history-footer button{min-height:36px;padding:7px 12px}
.inv-confirm-dialog{border:1px solid #dbe3f1;border-radius:17px;background:#fff;color:#273750;width:min(450px,calc(100vw - 32px));padding:0;box-shadow:0 24px 75px #12244255;max-height:calc(100dvh - 40px);overflow:auto}
.inv-confirm-dialog::backdrop{background:#101f37aa;backdrop-filter:blur(2px)}
.inv-confirm-content{padding:26px 28px 24px}
.inv-confirm-icon{display:grid;place-items:center;background:#fff2df;color:#99641c;font-size:19px;font-weight:800;width:42px;height:42px;border-radius:50%;margin-bottom:15px}
.inv-confirm-content h2{font-size:20px;color:#17243c;margin:0 0 10px}
.inv-confirm-content p{font-size:13px;line-height:1.65;margin:0 0 14px;color:#586985}
.inv-confirm-details{background:#f5f8fd;border-radius:10px;padding:12px 14px;font-size:12px;font-weight:600;color:#405571;margin:13px 0;overflow-wrap:anywhere}
.inv-confirm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;flex-wrap:wrap}
.inv-confirm-actions button{min-height:42px;padding:9px 16px;border-radius:9px;cursor:pointer;font-weight:650}
.inv-danger-button{border:1px solid #2358ea;background:#2458ef;color:#fff}
.inv-danger-button:hover{background:#1644cb}
@media(max-width:850px){.inv-history-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:500px){.inv-history-filters{grid-template-columns:1fr}.inv-confirm-content{padding:22px 18px}}

/* 0.7.3.11: shared report branding and location exports */
.vx-brand-logo-row{display:grid;grid-template-columns:140px minmax(0,1fr);gap:20px;align-items:center;margin-bottom:18px}
.vx-report-logo-preview{width:140px;height:100px;border:1px dashed #c7d1e2;border-radius:12px;display:grid;place-items:center;background:#f6f8fc;color:#8090a4;overflow:hidden}
.vx-report-logo-preview img{display:block;width:100%;height:100%;object-fit:contain;padding:8px}
.vx-brand-logo-info{min-width:0;display:grid;gap:8px;justify-items:start}
.vx-brand-logo-info label{width:100%}
.vx-report-dialog{width:min(520px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:auto}
.vx-report-dialog .inv-confirm-content{display:grid;gap:14px}
.vx-report-dialog .inv-confirm-actions{flex-wrap:wrap;justify-content:flex-end}
.vx-center-num{text-align:center!important;font-variant-numeric:tabular-nums}
@media(max-width:580px){.vx-brand-logo-row{grid-template-columns:1fr}.vx-report-dialog .inv-confirm-actions>button{flex:1}}

/* v0.7.3.13 — two-column partner agreement with stable field order. */
.location-agreement-fields{display:flex;flex-direction:column;gap:24px;min-width:0}
.location-agreement-core{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 28px;align-items:start}
.location-agreement-core>label,.location-agreement-core>div{min-width:0;width:100%;box-sizing:border-box}
.location-agreement-core>div>label{display:flex;flex-direction:column;min-width:0}
.location-agreement-core input,.location-agreement-core select{width:100%;box-sizing:border-box}
.location-agreement-core .field-help{margin-top:7px}
.location-external-agreement{display:flex;flex-direction:column;gap:25px;min-width:0}
.location-external-agreement>.location-scope-group{min-width:0}
.location-external-agreement [data-scope-picker]{max-width:100%}
.location-agreement-fields>.hint{margin:0!important}
.location-agreement-warning,.location-agreement-hint{margin:0;line-height:1.55;border-left:3px solid #69758a;background:#f7f8fa;padding:12px 14px;border-radius:4px;color:#263244;font-size:13px}
.location-agreement-warning{border-left-color:#ad6c30}
@media(max-width:700px){.location-agreement-core{grid-template-columns:1fr;gap:19px}}


/* v0.7.3.14 — Partner agreement fills the available editor width. */
.location-page-form #location-panel-agreement .location-agreement-fields,
.location-page-form #location-panel-agreement .location-agreement-core,
.location-page-form #location-panel-agreement .location-external-agreement,
.location-page-form #location-panel-agreement .location-scope-group,
.location-page-form #location-panel-agreement .location-notes-section,
.location-page-form #location-panel-agreement .location-bonus-section {
  width:100%;max-width:none;min-width:0;box-sizing:border-box;align-self:stretch;
}
.location-page-form #location-panel-agreement .location-agreement-core {
  grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 28px;
}
.location-page-form #location-panel-agreement .location-agreement-core > *,
.location-page-form #location-panel-agreement .location-external-agreement > * {min-width:0;max-width:none;width:100%;box-sizing:border-box;}
.location-page-form #location-panel-agreement .location-scope-group > label {width:100%;max-width:none;}
.location-page-form #location-panel-agreement .location-scope-group select {width:100%;}
.location-page-form #location-panel-agreement .location-notes-section textarea {width:100%;max-width:none;min-height:136px;}
.location-page-form #location-panel-agreement .location-bonus-section > label {width:100%;max-width:none;}
.location-page-form #location-panel-agreement .location-bonus-fields {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 28px;max-width:none;width:100%;}
.location-page-form #location-panel-agreement .location-bonus-fields > * {width:100%;min-width:0;max-width:none;}
@media(max-width:700px){
  .location-page-form #location-panel-agreement .location-agreement-core,
  .location-page-form #location-panel-agreement .location-bonus-fields {grid-template-columns:1fr;gap:16px;}
}
/* 0.7.3.21 — actual acquisition cost inputs in Stock receipts. */
.inv-receipt-cost-input {width: 138px;min-width: 112px;max-width: 100%;text-align: right;font-variant-numeric: tabular-nums;}
.inv-receipt-cost-summary {display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 10px 4px;color:var(--text-muted,#56677e);font-size:.89rem;}
.inv-receipt-cost-summary strong {color:var(--text,#17283f);font-size:1rem;font-variant-numeric:tabular-nums;}
@media(max-width:700px){.inv-receipt-cost-summary{flex-wrap:wrap;}}

/* Varevix 0.7.3.22 — compact tenant FX and receipt invoice reconciliation. */
.inv-purchase-fx-note { display:block;color:#62748e;font-size:12px;font-weight:400;line-height:1.5;margin-top:1px; }
.inv-expenses-table {width:100%;min-width:690px;table-layout:fixed;}
.inv-expenses-table th:nth-child(1) {width:18%;}.inv-expenses-table th:nth-child(2){width:34%;}.inv-expenses-table th:nth-child(3){width:21%;}.inv-expenses-table th:nth-child(4){width:20%;}
.inv-expenses-table input:not([type=checkbox]),.inv-expenses-table select{width:100%;min-width:0;max-width:100%;border:1px solid #d7e0f0;background:white;border-radius:8px;padding:9px;color:#1e2f4b;}
.inv-expenses-table input[type=checkbox]{width:18px;height:18px;accent-color:#2256ea;}
.inv-invoice-grid{margin-top:16px;}.inv-receipt-cost-summary{border-top:1px solid #edf0f6;}

/* v0.7.3.23 — receipt purchase comparison and shared in-app calendar */
.inv-discount-input{width:90px;max-width:100%;min-width:65px;text-align:right;box-sizing:border-box;border:1px solid #d7e2f2;border-radius:9px;padding:11px 8px;background:#fff;color:#293a59}
.inv-discount-input:focus{outline:2px solid #abc4ff;border-color:#2760ef}
.inv-cal-period{display:flex;min-width:0;gap:5px;align-items:center}
.inv-cal-period select{min-width:0;max-width:145px;border:1px solid #e4eaf5;border-radius:8px;background:#fff;color:#263955;padding:7px;font-size:12px}
.inv-cal-period select:last-child{width:80px}
.inv-date-row #inv-invoice-date-toggle{cursor:pointer;border:1px solid #d8e2f1;background:#f9fbff;color:#37547a;border-radius:8px;min-width:40px}
.inv-doc-panel table th.num{white-space:normal;min-width:95px}
.inv-doc-panel table .num input.inv-receipt-cost-input{max-width:130px}
@media(max-width:680px){.inv-cal-period select{max-width:112px}.inv-cal-period select:last-child{width:77px}}

/* v0.7.3.24 Beta — Stock receipts: compact, complete borders and icon actions.
   Only the receipt editor is affected; other inventory tables keep their styling. */
.inv-doc-panel .inv-receipt-table-scroll,
.inv-doc-panel .inv-expenses-table-scroll{
  border:1px solid #dbe4f0;
  border-radius:10px;
  overflow-x:auto;
  overflow-y:hidden;
}
.inv-doc-panel .inv-receipt-products-table{
  min-width:965px;
  table-layout:fixed;
  border-collapse:separate;
  border-spacing:0;
}
.inv-receipt-products-table th:first-child{width:27%;}
.inv-receipt-products-table th.inv-qty-col{width:12%;}
.inv-receipt-products-table th.inv-catalog-col{width:16%;}
.inv-receipt-products-table th.inv-unit-col{width:18%;}
.inv-receipt-products-table th.inv-discount-col{width:9%;}
.inv-receipt-products-table th.inv-line-col{width:14%;}
.inv-receipt-products-table.is-editable th:last-child{width:4%;}
.inv-doc-panel .inv-receipt-products-table th,
.inv-doc-panel .inv-receipt-products-table td,
.inv-doc-panel .inv-expenses-table th,
.inv-doc-panel .inv-expenses-table td{padding:12px 10px;box-sizing:border-box;}
.inv-doc-panel .inv-receipt-products-table th,
.inv-doc-panel .inv-expenses-table th{font-size:10px;line-height:1.45;white-space:normal;}
.inv-doc-panel .inv-receipt-products-table td:first-child{white-space:normal;overflow-wrap:anywhere;}
.inv-doc-panel .inv-receipt-products-table th.inv-discount-col,
.inv-doc-panel .inv-receipt-products-table td.inv-discount-col{text-align:center;}
.inv-doc-panel .inv-receipt-products-table td.inv-discount-col input{text-align:center;}
.inv-doc-panel .inv-receipt-products-table td.inv-money-cell{text-align:right;}
.inv-doc-panel .inv-receipt-products-table td.inv-catalog-col{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;}
.inv-doc-panel .inv-receipt-products-table .inv-document-stepper{width:112px;min-width:0;max-width:100%;}
.inv-doc-panel .inv-receipt-products-table .inv-document-stepper button{width:31px;flex:0 0 31px;font-size:21px;}
.inv-doc-panel .inv-receipt-products-table .inv-document-stepper input{width:35px;}
.inv-doc-panel .inv-receipt-products-table .inv-receipt-cost-input{width:100%;max-width:135px;min-width:0;}
.inv-doc-panel .inv-receipt-products-table .inv-discount-input{width:100%;min-width:0;max-width:80px;}
.inv-catalog-price{display:inline-flex;align-items:center;justify-content:flex-end;gap:7px;white-space:nowrap;font-variant-numeric:tabular-nums;}
.inv-cost-dot{width:8px;height:8px;border-radius:50%;flex:0 0 8px;background:#98a6b8;}
.inv-cost-dot.is-lower{background:#287d72;}
.inv-cost-dot.is-higher{background:#b88b3c;}
.inv-cost-dot.is-same{background:#98a6b8;}
.inv-catalog-price[title]{cursor:help;}
.inv-unknown-price{color:#8291aa;}
.inv-doc-panel .inv-expenses-table{min-width:760px;table-layout:fixed;}
.inv-doc-panel .inv-expenses-table th:nth-child(1){width:19%;}
.inv-doc-panel .inv-expenses-table th:nth-child(2){width:40%;}
.inv-doc-panel .inv-expenses-table th:nth-child(3){width:20%;}
.inv-doc-panel .inv-expenses-table th.inv-cost-allocate-col{width:14%;text-align:center;}
.inv-doc-panel .inv-expenses-table th:last-child{width:7%;}
.inv-doc-panel .inv-expenses-table td.inv-cost-allocate-col{text-align:center;vertical-align:middle;}
.inv-doc-panel .inv-expenses-table td.inv-cost-allocate-col input[type=checkbox]{
  display:block;width:18px;height:18px;margin:0 auto;accent-color:#265ff2;cursor:pointer;
}
.inv-doc-panel .inv-expenses-table td.inv-cost-allocate-col input[type=checkbox]:disabled{cursor:not-allowed;}
.inv-doc-panel .inv-row-action{text-align:center;white-space:nowrap;}
.inv-doc-panel .inv-row-trash{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:34px;min-height:34px;border:1px solid transparent;border-radius:8px;
  background:transparent;color:#62748e;padding:7px;cursor:pointer;
}
.inv-doc-panel .inv-row-trash:hover{border-color:#d8e2f0;background:#f1f5fb;color:#254a83;}
.inv-doc-panel .inv-row-trash:focus-visible{outline:2px solid #315ef2;outline-offset:2px;}
@media(max-width:700px){
  .inv-doc-panel .inv-receipt-products-table{min-width:965px;}
  .inv-doc-panel .inv-expenses-table{min-width:760px;}
}

/* 0.7.3.25: DNS sender configuration should not overflow cards. */
.vx-dns-table code{font-size:12px;white-space:normal;overflow-wrap:anywhere}.vx-dns-table th,.vx-dns-table td{vertical-align:top;padding:10px}.vx-dns-value{display:block;max-width:390px}
/* 0.7.3.26 — compact company tabs and consistent save action widths. */
.company-page-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 20px;min-width:0}
.company-page-tabs button{white-space:nowrap}
.company-page-tabs+section.panel{margin-top:0}
#company-report-settings > button[type="submit"]{display:inline-flex;width:auto;min-width:0;align-self:flex-start;justify-content:center}
#company-report-settings{align-items:stretch}
@media(max-width:640px){.company-page-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}}


/* 0.7.3.27 — Branding & Reports: full card width, compact save action. */
.vx-report-branding #company-report-settings {
  width: 100%;
  max-width: none;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr);
  gap: 22px;
}
.vx-report-branding #company-report-settings > *,
.vx-report-branding .vx-brand-logo-row,
.vx-report-branding .vx-brand-logo-info,
.vx-report-branding .vx-brand-logo-info label {
  min-width: 0;
  max-width: none;
  width: 100%;
}
.vx-report-branding .vx-brand-logo-row {
  grid-template-columns: 140px minmax(0, 1fr);
  gap: 22px;
  align-items: start;
  margin-bottom: 0;
}
.vx-report-branding .vx-brand-logo-info input[type="file"] {
  width: 100%;
  max-width: none;
  min-width: 0;
}
.vx-report-branding #company-report-settings > .vx-report-save-actions {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.vx-report-branding .vx-report-save-actions > button[type="submit"] {
  display: inline-flex;
  flex: 0 0 auto;
  width: auto;
  max-width: 100%;
  min-width: 0;
  justify-content: center;
  align-self: center;
  white-space: nowrap;
}
@media (max-width: 580px) {
  .vx-report-branding .vx-brand-logo-row {
    grid-template-columns: minmax(0, 1fr);
  }
  .vx-report-branding .vx-report-save-actions > button[type="submit"] {
    white-space: normal;
  }
}

/* 0.7.3.27: compact Team invitation actions and branded delete confirmation. */
.vx-invite-actions{width:150px;text-align:right}
.vx-invite-action-group{display:flex;justify-content:flex-end;align-items:center;gap:10px}
.vx-invite-trash{display:inline-flex;justify-content:center;align-items:center;width:35px;height:35px;border-radius:8px;border:1px solid transparent;background:transparent;color:#63758e;cursor:pointer;flex:0 0 auto}
.vx-invite-trash:hover{background:#f1f5fb;border-color:#d8e2f0;color:#254a83}
.vx-invite-trash:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.vx-delete-confirm{background:#a43848!important;color:#fff!important}
.vx-delete-confirm:hover{background:#902c3e!important}


/* Varevix 0.7.3.28 — global table design and DNS utility controls. */
.table-scroll { border: 1px solid #dfe7f2; border-radius: 11px; }
.table-scroll > table { border-collapse: separate; border-spacing: 0; width: 100%; }
.table-scroll > table th, .table-scroll > table td { border-right: 1px solid #e2eaf5; border-bottom: 1px solid #e2eaf5; }
.table-scroll > table th:last-child, .table-scroll > table td:last-child { border-right: 0; }
.table-scroll > table thead tr:first-child th { border-top: 0; }
.table-scroll > table tbody tr:last-child td { border-bottom: 0; }
.table-scroll > table th { background:#f7f9fd; }
/* Preserve earlier receipt editor-specific scroll containers. */
.table-scroll.inv-receipt-table-scroll, .table-scroll.inv-expenses-table-scroll { border-color:#dbe4f0; }
.admin-bordered-table { border:1px solid #dfe7f2; border-radius: 10px; border-collapse:separate; border-spacing:0; overflow:hidden; }
.vx-grid-table:not(.table-scroll > table) { border:1px solid #dfe7f2; border-radius:10px; }
.vx-dns-table { margin-top:10px; overflow-x:auto; }
.vx-dns-table table { min-width:740px; white-space:normal; }
.vx-dns-table th,.vx-dns-table td { padding:12px 10px;vertical-align:middle; }
.vx-dns-table th:nth-child(2) { min-width:150px; }
.vx-dns-table th:nth-child(3) { min-width:285px; }
.vx-dns-cell { display:flex; align-items:flex-start; justify-content:space-between; gap:8px; min-width:0; }
.vx-dns-cell code { overflow-wrap:anywhere; font-size:11.5px; line-height:1.65; white-space:normal; }
.vx-dns-value { max-width:none; }
.vx-dns-copy { display:inline-flex;flex:0 0 28px;justify-content:center;align-items:center;min-height:28px;
  border:1px solid #dfe7f2;border-radius:7px;background:#fff;color:#506583;font-size:16px;cursor:pointer; }
.vx-dns-copy:hover { background:#eef3ff;color:#2559e8; }
.vx-dns-copy:focus-visible { outline:2px solid #2458ef;outline-offset:2px; }
.vx-dns-status { display:inline-block;padding:4px 9px;border-radius:12px;font-size:11px;font-weight:600;white-space:nowrap;background:#f2f4f8;color:#5f6c82; }
.vx-dns-status.is-verified { background:#e7f5ed;color:#267754; }
.vx-dns-status.is-pending { background:#fff5e4;color:#95661d; }
.vx-dns-status.is-neutral { background:#f2f4f8;color:#67778f; }
.vx-confirmation p {line-height:1.65;margin:0 0 10px;overflow-wrap:anywhere;}
.vx-confirmation .hint {font-size:12px;color:#68788e;margin:6px 0 14px;}
.vx-workspace-settings fieldset {margin:0;}
.vx-workspace-settings label {max-width:610px;}
.vx-workspace-settings .field-help {margin:2px 0 6px;}
.vx-workspace-settings button {width:auto;display:inline-flex;}
.vx-preferences-divider {border-top:1px solid #e4eaf2;margin:24px 0;}
.vx-preferences-title {font-size:16px;margin:0 0 20px;color:#1b2b46;}


/* Varevix v0.7.3.29 — Consistent cards and tables across modules.
   A card can remain full width, but its table must always have interior spacing. */
#page .panel > .table-scroll {
  margin: 0 23px 22px;
  width: auto;
  max-width: calc(100% - 46px);
  border: 1px solid #dce5f2;
  border-radius: 11px;
  overflow: auto;
}
#page .panel > .table-scroll > table {
  width:100%; border-spacing:0; border-collapse:separate;
}
#page .panel > .table-scroll > table thead th {
  background:#f5f8fc; font-size:11px; line-height:1.4;
  letter-spacing:.055em; padding:12px 13px; height:39px;
  vertical-align:middle; border-top:0;
}
#page .panel > .table-scroll > table tbody td{padding:13px;vertical-align:middle}
#page .panel > .table-scroll > table th,
#page .panel > .table-scroll > table td{border-right:1px solid #e3eaf4;border-bottom:1px solid #e3eaf4}
#page .panel > .table-scroll > table th:last-child,
#page .panel > .table-scroll > table td:last-child{border-right:0}
#page .panel > .table-scroll > table tbody tr:last-child td{border-bottom:0}
#page .panel > .table-scroll > table th.vx-center-num,
#page .panel > .table-scroll > table td.vx-center-num{text-align:center}
#page .panel > .table-scroll > table .num{text-align:right}
#page .panel > .table-scroll > table td.num .inv-stepper{margin-inline:auto}
#page .vx-documents-table th,#page .vx-documents-table td{white-space:normal;text-align:center}
.vx-document-actions,.vx-invite-action-group{display:flex;gap:16px;align-items:center;justify-content:center;white-space:nowrap}
.vx-icon-trash{border:1px solid transparent;border-radius:9px;background:transparent;color:#71809a;
  display:inline-flex;align-items:center;justify-content:center;padding:9px;min-width:36px;min-height:36px;cursor:pointer}
.vx-icon-trash:hover{background:#f2f5fb;border-color:#d9e2ef;color:#345889}
.vx-icon-trash:focus-visible{outline:2px solid #2658f5;outline-offset:2px}
.vx-location-protected{margin-left:auto!important;font-size:11px!important;color:#8e9ab0!important}
.location-card{display:flex;flex-direction:column;min-height:310px}
.location-card-top{min-height:22px;margin-bottom:8px;justify-content:flex-end}
.location-card .location-actions{margin-top:auto;min-height:66px}
.location-card .location-actions .secondary{min-height:39px;padding:9px 17px}
.location-card .location-meta{margin-bottom:18px}
/* Summary cards on Overview remain information-rich without making the page excessively long. */
.vx-overview-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.vx-overview-card{display:flex;flex-direction:column}
.vx-overview-card-body{padding:0 23px 20px;flex:1}
.vx-overview-card-body>.hint{margin:0 0 8px;line-height:1.5}
.vx-overview-location{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:13px 0;
  border-bottom:1px solid #e7edf5;font-size:12px}
.vx-overview-location:last-child{border-bottom:none}
.vx-overview-location>strong{min-width:0;overflow-wrap:anywhere}
.vx-overview-location>.mono{color:#526785;text-align:right;white-space:nowrap;font-size:11px}
.vx-overview-documents .table-scroll{margin-top:2px}
.vx-overview-documents td:first-child strong{overflow-wrap:anywhere}
/* A common hierarchy for large settings: independently saved cards, normal-sized buttons. */
.vx-company-contact-card .panel-body,
.vx-company-details-card .panel-body,
.vx-company-preference-card .panel-body{padding-top:0}
.vx-company-preference-card .company-form fieldset{border:none;margin:0;padding:0}
.vx-company-preference-card .company-form>div:last-child{margin-top:14px}
.vx-company-preference-card .company-form button.primary,
.vx-company-contact-card .company-form button.primary{width:auto;display:inline-flex}
.vx-company-preference-card .company-form>.fields{margin-top:10px}
/* Stock overview: generous product title, narrow numeric columns, clear actions. */
.vx-stock-main-table{table-layout:fixed;min-width:680px}
.vx-stock-main-table th:first-child{width:auto}
.vx-stock-main-table th:nth-child(2),.vx-stock-main-table th:nth-child(3){width:96px}
.vx-stock-main-table th:nth-child(4){width:180px}
.vx-stock-main-table th:last-child{width:140px}
.vx-stock-main-table td:first-child{white-space:normal;overflow-wrap:anywhere}
.vx-stock-main-table td:first-child .subtext{display:block;margin-top:3px}
/* Movement history uses three core filters, an optional date row and a compact toolbar. */
.inv-history-filter-main{display:grid;grid-template-columns:minmax(240px,2fr) repeat(2,minmax(150px,1fr)) auto;gap:12px;align-items:end;padding:22px 23px 12px}
.inv-history-filter-main>label{min-width:0}
.inv-history-filter-main .secondary{width:auto;white-space:nowrap}
.vx-history-more{padding:0 23px 18px;color:#4e6280;font-size:12px}
.vx-history-more summary{width:max-content;cursor:pointer;font-weight:600;padding:8px 0}
.vx-history-date-row{display:grid;grid-template-columns:repeat(2,minmax(0,260px));gap:12px;padding:8px 0}
.vx-movement-toolbar{display:flex;justify-content:space-between;align-items:end;gap:14px;padding:17px 23px}
.vx-movement-toolbar label{max-width:270px;width:100%}
.vx-movement-toolbar .secondary{width:auto;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center}
.vx-movement-panel>.table-scroll{margin-top:0}
.vx-movement-panel>.inv-history-footer{padding:15px 23px}
.vx-movement-panel>.vx-table-note{padding:0 23px 18px!important;border-top:0}
/* Table headings must not visually dominate variants, pricing or identifiers. */
#product-editor .variant-table thead th{font-size:11px!important;line-height:1.35!important;letter-spacing:.04em!important;
  padding:11px 12px!important;height:40px!important;background:#f5f8fc}
#product-editor .variant-table thead th:last-child{text-align:center}
#product-editor .variant-table tbody td:last-child{text-align:center}
#product-editor .variant-table tbody td:first-child{text-align:center}
@media(max-width:900px){.vx-overview-pair{grid-template-columns:1fr}.inv-history-filter-main{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){#page .panel>.table-scroll{margin:0 14px 16px;max-width:calc(100% - 28px)}
  .inv-history-filter-main{grid-template-columns:1fr;padding:16px}
  .vx-history-more{padding:0 16px 16px}.vx-movement-toolbar{flex-wrap:wrap;padding:16px}
  .vx-history-date-row{grid-template-columns:1fr}}

/* Varevix v0.7.3.30 — balanced Preferences and compact, consistent page blocks. */
#page .vx-company-preference-card .company-form,
#page .vx-company-preference-card .vx-workspace-settings {width:100%;max-width:none;min-width:0;gap:18px}
#page .vx-company-preference-card .vx-preference-two-col{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px;align-items:start;margin-top:4px
}
#page .vx-company-preference-card .vx-preference-field{min-width:0;display:flex;flex-direction:column;gap:8px}
#page .vx-company-preference-card .vx-preference-field>label{min-width:0}
#page .vx-company-preference-card .vx-preference-field input,
#page .vx-company-preference-card .vx-preference-field select{width:100%;min-width:0}
#page .vx-company-preference-card .vx-preference-label{display:block;font-size:12px;font-weight:650;line-height:1.5;color:#4a5872}
#page .vx-company-preference-card .vx-preference-preview{
  display:flex;align-items:center;min-height:46px;width:100%;padding:12px 14px;
  border:1px solid #dde6f3;border-radius:9px;background:#f8faff;color:#283a56;
  font-size:13px;line-height:1.5;overflow-wrap:anywhere;word-break:break-word
}
#page .vx-company-preference-card .vx-preference-field .field-help{margin:0;color:#687c99;font-size:11px;line-height:1.55}
#page .vx-company-preference-card .vx-preference-actions{margin:4px 0 0}
#page .vx-company-preference-card .vx-preference-actions .primary{width:auto;max-width:100%;min-height:43px}
#page .vx-company-preference-card .vx-regional-controls{display:grid;grid-template-columns:1fr;gap:15px;min-width:0}
#page .vx-company-preference-card .vx-regional-layout>.regional-preview{min-width:0;padding:15px}
#page .vx-company-preference-card .vx-regional-layout .regional-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
/* One card contains both stock filters and their matching table, without nested cards. */
#page .vx-stock-combined>.inv-filters{padding:21px 23px 22px;margin:0}
#page .vx-stock-combined>.table-scroll{margin:0 23px 22px;max-width:calc(100% - 46px)}
#page .vx-stock-combined>.inv-history-footer{padding:0 23px 18px}
#page .vx-stock-combined>.empty{margin:0 23px 20px}
/* Team: the Member/Role table is its own container. Only Invitations needs a titled card. */
#page>.vx-team-members-table{margin:0 0 23px;width:100%;max-width:100%;background:#fff;border:1px solid #dce5f2;border-radius:12px;overflow:auto}
#page>.vx-team-members-table>table{width:100%;border-spacing:0;border-collapse:separate}
#page>.vx-team-members-table th{background:#f5f8fc;line-height:1.4;font-size:11px;letter-spacing:.055em;padding:12px 15px}
#page>.vx-team-members-table td{padding:14px 15px;vertical-align:middle}
#page>.vx-team-members-table th,#page>.vx-team-members-table td{border-right:1px solid #e3eaf4;border-bottom:1px solid #e3eaf4}
#page>.vx-team-members-table th:last-child,#page>.vx-team-members-table td:last-child{border-right:0}
#page>.vx-team-members-table tbody tr:last-child td{border-bottom:0}
#page>.vx-team-members-table th:nth-child(2),#page>.vx-team-members-table td:nth-child(2){text-align:center}
#page>.vx-team-members-table th:nth-child(3),#page>.vx-team-members-table td:nth-child(3){text-align:center;width:190px}
/* Action links should be clear without a permanent underline. */
#page a.text-button{text-decoration:none}
#page a.text-button:hover{text-decoration:none;color:#183bba}
#page a.text-button:focus-visible{outline:2px solid #2458ef;outline-offset:3px;border-radius:3px}
@media(max-width:800px){
 #page .vx-company-preference-card .vx-preference-two-col{grid-template-columns:1fr}
 #page .vx-company-preference-card .vx-regional-layout .regional-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:580px){
 #page .vx-stock-combined>.inv-filters{padding:16px 14px 19px}
 #page .vx-stock-combined>.table-scroll{margin:0 14px 16px;max-width:calc(100% - 28px)}
 #page .vx-stock-combined>.inv-history-footer{padding:0 14px 16px}
 #page .vx-company-preference-card .vx-regional-layout .regional-preview-grid{grid-template-columns:1fr}
}
