html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body { min-height:100vh; }
.page-wrapper > main { width:100%;max-width:1920px;margin:0 auto;padding-left:1rem;padding-right:1rem; }
.vvt-topbar { min-height:4.25rem;box-shadow:0 1px 0 rgba(4,32,69,.08); }
.vvt-navline { border-bottom:1px solid var(--tblr-border-color);background:var(--tblr-bg-surface); }
.vvt-mark { min-width:2.85rem;height:2.15rem;padding:0 .5rem;border-radius:.55rem;display:inline-flex;align-items:center;justify-content:center;background:#2fc456;color:#fff;font-size:.78rem;font-weight:800;letter-spacing:.04em; }
.page-wrapper > main > .container,.page-wrapper > main > .container-fluid { margin-top:1.25rem; }
.master-grid thead th { background:var(--tblr-bg-surface-secondary); }
.master-grid .sticky-action { position:sticky;right:0;z-index:2;background:var(--tblr-bg-surface);box-shadow:-5px 0 8px rgba(0,0,0,.06); }
.master-grid thead .sticky-action { z-index:4;background:var(--tblr-bg-surface-secondary); }
.workflow-tools .card-body { padding:.75rem; }
.workflow-tools .form-label { margin-bottom:.25rem; }
.workflow-tools .form-control,.workflow-tools .form-select { min-height:2.25rem; }
.workflow-grid-wrap { height:calc(100vh - 18.5rem);min-height:26rem;max-height:none!important;overflow-x:scroll;overflow-y:auto;scrollbar-gutter:stable; }
.table-striped > tbody > tr:nth-of-type(odd) > .sticky-action { background:var(--tblr-bg-surface-secondary); }

/* Pull-ticket selection and hover states */
.pull-ticket-grid tbody tr.is-selected > td {
  background-color:#dceeff!important;
  color:#132238;
}
.pull-ticket-grid tbody tr.is-selected > td:first-child {
  box-shadow:inset .25rem 0 0 #1677d2;
}
.pull-ticket-grid tbody tr.is-selected .pull-actions {
  background-color:#dceeff!important;
}
.pull-ticket-grid tbody tr.is-selected .pull-ticket-select {
  border-color:#1677d2;
  background-color:#1677d2;
}
[data-bs-theme="dark"] .pull-ticket-grid tbody tr:hover > td {
  background-color:#203852!important;
  color:#f4f8fc;
}
[data-bs-theme="dark"] .pull-ticket-grid tbody tr:hover .pull-actions {
  background-color:#203852!important;
}
[data-bs-theme="dark"] .pull-ticket-grid tbody tr.is-selected > td,
[data-bs-theme="dark"] .pull-ticket-grid tbody tr.is-selected:hover > td {
  background-color:#19466f!important;
  color:#fff;
  border-color:#3d668b;
}
[data-bs-theme="dark"] .pull-ticket-grid tbody tr.is-selected > td:first-child {
  box-shadow:inset .28rem 0 0 #5bb4ff;
}
[data-bs-theme="dark"] .pull-ticket-grid tbody tr.is-selected .pull-actions,
[data-bs-theme="dark"] .pull-ticket-grid tbody tr.is-selected:hover .pull-actions {
  background-color:#19466f!important;
}
[data-bs-theme="dark"] .pull-ticket-grid tbody tr.is-selected .pull-ticket-select {
  border-color:#79c3ff;
  background-color:#258cfb;
  box-shadow:0 0 0 .15rem rgba(91,180,255,.22);
}

/* Keep hovered workflow rows readable in dark mode, including sticky action cells. */
[data-bs-theme="dark"] .workflow-grid-wrap .table-hover > tbody > tr:hover > * {
  --tblr-table-bg-state:#203852;
  background-color:#203852!important;
  color:#f4f8fc!important;
}
[data-bs-theme="dark"] .ack-grid tbody td:last-child,
[data-bs-theme="dark"] .delivery-grid tbody td:last-child,
[data-bs-theme="dark"] .buyer-grid tbody td:last-child {
  background-color:var(--tblr-bg-surface)!important;
}
[data-bs-theme="dark"] .ack-grid.table-striped tbody tr:nth-of-type(odd) > td:last-child,
[data-bs-theme="dark"] .delivery-grid.table-striped tbody tr:nth-of-type(odd) > td:last-child,
[data-bs-theme="dark"] .buyer-grid.table-striped tbody tr:nth-of-type(odd) > td:last-child {
  background-color:var(--tblr-bg-surface-secondary)!important;
}
[data-bs-theme="dark"] .workflow-grid-wrap .ack-grid.table-hover > tbody > tr:hover > td:last-child,
[data-bs-theme="dark"] .workflow-grid-wrap .delivery-grid.table-hover > tbody > tr:hover > td:last-child,
[data-bs-theme="dark"] .workflow-grid-wrap .buyer-grid.table-hover > tbody > tr:hover > td:last-child {
  background-color:#203852!important;
}

/* Corporate branding */
.vvt-customer-logo-wrap {
  display:inline-block;
  width:8.25rem;
  height:2.5rem;
}
.vvt-customer-logo-wrap img {
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
.vvt-app-footer {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:.35rem .55rem;
  color:var(--tblr-secondary-color);
  font-size:.875rem;
}
.vvt-footer-prosys-logo,
.vvt-prosys-logo-crop {
  position:relative;
  display:inline-block;
  overflow:hidden;
  background:#fff;
}
.vvt-footer-prosys-logo { width:6.5rem;height:1.7rem; }
.vvt-footer-prosys-logo img,
.vvt-prosys-logo-crop img {
  position:absolute;
  max-width:none;
  height:auto;
}
.vvt-footer-prosys-logo img { width:7.25rem;left:-.35rem;top:-2.72rem; }

/* Approved corporate split login */
.vvt-login-page .vvt-topbar,
.vvt-login-page .vvt-navline,
.vvt-login-page .page-wrapper > footer { display:none; }
.vvt-login-page .page-wrapper > main {
  max-width:none;
  min-height:100vh;
  padding:0;
}
.vvt-login-page .page-wrapper { background:#eef2f6; }
.vvt-login-shell {
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:2rem;
}
.vvt-login-card {
  display:grid;
  grid-template-columns:minmax(19rem, 1.05fr) minmax(22rem, .95fr);
  width:min(68rem, 100%);
  min-height:38rem;
  overflow:hidden;
  border:1px solid rgba(4,32,69,.1);
  border-radius:1.1rem;
  background:#fff;
  box-shadow:0 1.5rem 4rem rgba(4,32,69,.15);
}
.vvt-login-brand-panel {
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:3rem;
  background:#2fc456;
  color:#fff;
}
.vvt-login-customer-logo {
  width:15rem;
  max-width:75%;
  height:auto;
}
.vvt-login-intro { max-width:28rem; }
.vvt-login-intro h1 { margin:.65rem 0 1rem;font-size:2.4rem;color:#fff; }
.vvt-login-intro p { margin:0;font-size:1.08rem;line-height:1.65;color:rgba(255,255,255,.92); }
.vvt-login-version {
  display:inline-flex;
  padding:.35rem .7rem;
  border:1px solid rgba(255,255,255,.45);
  border-radius:999px;
  background:rgba(255,255,255,.12);
  font-weight:600;
}
.vvt-login-customer-label { color:rgba(255,255,255,.82);font-size:.875rem; }
.vvt-login-form-panel { position:relative;display:flex;align-items:center;padding:3rem; }
.vvt-login-form-wrap { width:100%;max-width:28rem;margin:auto; }
.vvt-login-form-wrap .vvt-mark { min-width:3.6rem;height:3rem;padding:0 .65rem;font-size:.95rem; }
.vvt-login-theme-toggle { position:absolute;top:1.25rem;right:1.25rem;z-index:2; }
.vvt-login-partner {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:.45rem .7rem;
  margin-top:2.25rem;
  padding-top:1.25rem;
  border-top:1px solid #e6e9ee;
  color:#667085;
  font-size:.8rem;
}
.vvt-prosys-logo-crop { width:8.6rem;height:2.6rem; }
.vvt-prosys-logo-crop img { width:10rem;left:-.45rem;top:-3.95rem; }

[data-bs-theme="dark"] .vvt-login-page .page-wrapper { background:#0f1724; }
[data-bs-theme="dark"] .vvt-login-card {
  border-color:#314158;
  background:#182433;
  box-shadow:0 1.5rem 4rem rgba(0,0,0,.38);
}
[data-bs-theme="dark"] .vvt-login-form-panel { background:#182433; }
[data-bs-theme="dark"] .vvt-login-form-wrap h2,
[data-bs-theme="dark"] .vvt-login-form-wrap .form-label,
[data-bs-theme="dark"] .vvt-login-form-wrap .form-check-label { color:#f4f7fb; }
[data-bs-theme="dark"] .vvt-login-form-wrap .text-secondary { color:#a9b6c7!important; }
[data-bs-theme="dark"] .vvt-login-form-wrap .form-control {
  border-color:#526078;
  background:#101827;
  color:#f8fafc;
}
[data-bs-theme="dark"] .vvt-login-form-wrap .form-control:focus {
  border-color:#4299e1;
  background:#101827;
  color:#fff;
}
[data-bs-theme="dark"] .vvt-login-form-wrap .form-check-input {
  border-color:#6b7890;
  background-color:#101827;
}
[data-bs-theme="dark"] .vvt-login-partner {
  border-top-color:#344258;
  color:#b7c2d0;
}
[data-bs-theme="dark"] .vvt-login-partner a { color:#67aef7; }

@media (max-width: 767.98px) {
  .vvt-customer-logo-wrap { display:none; }
  .vvt-login-shell { padding:1rem; }
  .vvt-login-card { grid-template-columns:1fr;min-height:0; }
  .vvt-login-brand-panel { gap:1.5rem;padding:2rem; }
  .vvt-login-customer-logo { width:11rem; }
  .vvt-login-intro h1 { font-size:1.8rem; }
  .vvt-login-form-panel { padding:2rem; }
}
