:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172033;background:#f5f7fb}*{box-sizing:border-box}body{margin:0}.topbar{background:#172033;color:white;padding:14px 22px;display:flex;gap:24px;align-items:center}.brand{font-weight:800}.topbar a{color:#dce5f5;text-decoration:none}.topbar nav{display:flex;gap:14px;flex:1}.container{max-width:1200px;margin:28px auto;padding:0 18px}.card{background:white;border:1px solid #e2e7ef;border-radius:12px;padding:18px;box-shadow:0 2px 8px rgba(20,30,50,.04);margin-bottom:18px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.metric{font-size:28px;font-weight:800}.muted{color:#687386}.btn{display:inline-block;border:0;border-radius:8px;padding:9px 13px;background:#203a68;color:white;text-decoration:none;cursor:pointer}.btn.secondary{background:#e9eef7;color:#172033}.btn.danger{background:#a92c2c}.actions{display:flex;gap:8px;flex-wrap:wrap}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px;border-bottom:1px solid #e8ecf3;white-space:nowrap}th{font-size:13px;color:#5d687b}input,select,textarea{width:100%;padding:10px;border:1px solid #ccd3df;border-radius:8px;background:white}label{display:block;font-weight:650;margin-bottom:6px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.flash{padding:11px 14px;border-radius:8px;margin:0 0 12px}.flash.success{background:#e8f7ed}.flash.error{background:#fdebec}.badge{display:inline-block;padding:3px 8px;border-radius:999px;background:#e8edf5;font-size:12px}.badge.low{background:#ffe5e5;color:#8b1f1f}.login{max-width:420px;margin:70px auto}.right{margin-left:auto}.small{font-size:12px}.warn{color:#9c2020;font-weight:700}h1,h2,h3{margin-top:0}

.btn.danger { background:#b42318; color:#fff; border-color:#b42318; min-width:44px; padding-left:10px; padding-right:10px; }
.btn.danger:disabled { opacity:.45; cursor:not-allowed; }
.narrow{max-width:760px}.card-stat{background:white;border:1px solid #e2e7ef;border-radius:10px;padding:10px 14px}.sale-preview{font-size:18px}.btn{white-space:nowrap}.actions{align-items:center}

@media (max-width: 760px){
  .topbar{padding:12px 14px;gap:10px;align-items:flex-start;flex-wrap:wrap}
  .topbar .brand{width:100%;font-size:18px}
  .topbar nav{order:3;width:100%;flex:none;display:flex;gap:7px;overflow-x:auto;padding-bottom:3px;-webkit-overflow-scrolling:touch}
  .topbar nav a{flex:0 0 auto;background:rgba(255,255,255,.08);padding:7px 9px;border-radius:7px;font-size:13px}
  .topbar>span{margin-left:auto;font-size:13px}
  .topbar>a:last-child{font-size:13px;padding:4px 0}
  .container{margin:16px auto;padding:0 10px}
  .card{padding:14px;border-radius:10px;margin-bottom:12px}
  .actions{gap:7px}
  .actions h1{width:100%;margin-bottom:3px}
  .actions .btn,.actions form{max-width:100%}
  .actions form .btn{width:100%}
  .form-grid,.grid{grid-template-columns:1fr;gap:10px}
  .metric{font-size:24px}
  .small-metric{font-size:18px}
  .table-wrap{margin-left:-4px;margin-right:-4px;overflow-x:auto}
  table{min-width:650px}
  th,td{padding:8px;font-size:13px}
  .btn{padding:9px 11px;font-size:14px}
  input,select,textarea{font-size:16px;min-height:44px}
  .card .actions{align-items:stretch}
  .card .actions strong{width:100%}
}
@media (max-width: 480px){
  .topbar>span{display:none}
  .container{padding:0 8px}
  .card{padding:12px}
  h1{font-size:24px}
  h2{font-size:19px}
  .btn{padding:10px 12px}
}

@media (max-width:760px){
  .topbar{display:grid;grid-template-columns:1fr auto;grid-template-areas:"brand user" "nav nav" "nav nav";gap:9px 10px;align-items:center;overflow:hidden}
  .topbar .brand{grid-area:brand;width:auto;min-width:0}
  .topbar nav{grid-area:nav;width:calc(100% + 28px);margin-left:-14px;padding:2px 14px 5px;min-width:0;max-width:none;overflow-x:auto;overflow-y:hidden;flex:none;display:flex;flex-wrap:nowrap;gap:7px}
  .topbar nav a{display:block;flex:0 0 auto;white-space:nowrap}
  .topbar>span{grid-area:user;margin:0;font-size:13px;white-space:nowrap}
  .topbar>a:last-child{position:absolute;right:14px;top:47px;font-size:12px;z-index:2}
}
@media (max-width:480px){
  .topbar{padding:10px 10px;grid-template-columns:1fr;grid-template-areas:"brand" "nav";}
  .topbar>span,.topbar>a:last-child{display:none}
  .topbar nav{width:calc(100% + 20px);margin-left:-10px;padding-left:10px;padding-right:10px}
}

.card > .actions,
.card > .actions + *,
.actions{margin-bottom:4px}
.actions .btn{height:auto;min-height:38px;line-height:1.2;padding:8px 12px}
.card > .actions{margin-bottom:12px}
@media (max-width:760px){
  .card > .actions{margin-bottom:12px;gap:8px}
  .actions .btn{min-height:38px;padding:8px 11px}
  .card .actions{align-items:center}
  .card .actions .btn{width:auto}
  .card .actions form{width:auto}
}

.actions {
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:18px;
}
.actions .btn, .actions form .btn {
  height:34px;
  min-height:34px;
  line-height:18px;
  padding:8px 12px;
  font-size:14px;
  box-sizing:border-box;
}
.actions form { margin:0; padding:0; }

@media (max-width:760px){
  .actions {
    gap:8px;
    margin-bottom:18px;
    align-items:center;
  }
  .actions .btn, .actions form .btn {
    width:auto;
    min-height:34px;
    height:34px;
    padding:8px 11px;
  }
  .actions form { width:auto; }
}

@media (max-width:760px){
  .topbar{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:"brand user" "nav nav";
    width:100%;
    max-width:100%;
    overflow:visible;
  }
  .topbar .brand{grid-area:brand;min-width:0;width:auto;}
  .topbar nav{
    grid-area:nav;
    display:flex;
    flex-wrap:nowrap;
    width:100%;
    min-width:0;
    max-width:100%;
    margin:0;
    padding:2px 2px 6px;
    gap:7px;
    overflow-x:auto;
    overflow-y:hidden;
    white-space:nowrap;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-x;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
  }
  .topbar nav::-webkit-scrollbar{display:none}
  .topbar nav a{flex:0 0 auto;display:block;white-space:nowrap}
}
@media (max-width:480px){
  .topbar{
    grid-template-columns:1fr;
    grid-template-areas:"brand" "nav";
    overflow:visible;
  }
  .topbar nav{
    width:100%;
    margin:0;
    padding-left:2px;
    padding-right:2px;
  }
}

.primary-nav { display:flex; align-items:center; gap:6px; min-width:0; }
.nav-more { position:relative; }
.nav-more > summary { list-style:none; cursor:pointer; padding:8px 10px; border-radius:8px; white-space:nowrap; }
.nav-more > summary::-webkit-details-marker { display:none; }
.nav-more > summary::after { content:' ▾'; font-size:.75em; }
.nav-more[open] > summary { background:rgba(255,255,255,.12); }
.nav-more-menu { position:absolute; top:calc(100% + 6px); right:0; z-index:1000; min-width:170px; padding:6px; background:#fff; border:1px solid #ddd; border-radius:10px; box-shadow:0 8px 24px rgba(0,0,0,.12); }
.nav-more-menu a { display:block; padding:9px 10px; border-radius:7px; white-space:nowrap; }
.nav-more-menu a:hover { background:#f3f4f6; }
@media (max-width:760px) { .topbar { overflow:visible; } .primary-nav { flex:1 1 100%; width:100%; overflow:visible; justify-content:flex-start; } .primary-nav > a, .nav-more > summary { padding:8px 10px; } .nav-more-menu { left:0; right:auto; max-width:calc(100vw - 24px); } }

.nav-more-menu a,
.topbar .nav-more-menu a {
  color: #172033 !important;
  background: #fff;
  text-decoration: none;
}
.nav-more-menu a:hover,
.nav-more-menu a:focus,
.nav-more-menu a:active {
  color: #172033 !important;
  background: #e9eef7;
}

.nav-more-menu a,
.nav-more-menu a:visited {
  color:#172033 !important;
  background:#fff !important;
  text-decoration:none !important;
}
.nav-more-menu a:hover,
.nav-more-menu a:focus,
.nav-more-menu a:active {
  color:#172033 !important;
  background:#e9eef7 !important;
}

@media (max-width:760px){
  .topbar nav.primary-nav{
    overflow:visible !important;
    flex-wrap:wrap !important;
    white-space:normal !important;
    height:auto;
  }
  .topbar nav.primary-nav > a,
  .topbar nav.primary-nav > .nav-more > summary{
    flex:0 0 auto;
    display:block;
  }
  .nav-more{position:relative !important;}
  .nav-more-menu{
    position:absolute !important;
    top:calc(100% + 6px) !important;
    left:0 !important;
    right:auto !important;
    z-index:99999 !important;
    min-width:180px !important;
    max-width:calc(100vw - 24px) !important;
    overflow:visible !important;
    background:#fff !important;
    color:#172033 !important;
  }
}

.public-shop { max-width: 1000px; margin: 0 auto; }
.public-shop-header { margin-bottom: 20px; }
.public-shop-header h1 { margin-bottom: 4px; }
.public-items { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:16px; }
.public-item h2 { margin:0 0 12px; }
.public-item-details { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:18px; }
.public-item-bottom { display:flex; align-items:baseline; gap:8px; }
.public-price { font-size:1.35rem; }
.public-toggle { display:inline-flex; align-items:center; gap:5px; white-space:nowrap; cursor:pointer; }
@media (max-width:700px){ .public-items{grid-template-columns:1fr;} }

.batches-table { width:100%; table-layout:fixed; }
.batches-table th,
.batches-table td { white-space:normal; vertical-align:top; overflow-wrap:anywhere; }
.batches-table th:nth-child(1), .batches-table td:nth-child(1) { width:18%; }
.batches-table th:nth-child(2), .batches-table td:nth-child(2) { width:11%; }
.batches-table th:nth-child(3), .batches-table td:nth-child(3) { width:10%; }
.batches-table th:nth-child(4), .batches-table td:nth-child(4) { width:10%; }
.batches-table th:nth-child(5), .batches-table td:nth-child(5) { width:8%; }
.batches-table th:nth-child(6), .batches-table td:nth-child(6) { width:9%; }
.batches-table th:nth-child(7), .batches-table td:nth-child(7) { width:9%; }
.batches-table th:nth-child(8), .batches-table td:nth-child(8) { width:17%; }
.batches-table th:nth-child(9), .batches-table td:nth-child(9) { width:8%; }
.batches-table .coa-cell { min-width:0; }
.batches-table .coa-form { min-width:0; width:100%; }
.batches-table .coa-form input[type="url"] { display:block; width:100%; min-width:0; margin:0 0 6px; padding:8px; }
.batches-table .coa-actions { display:flex; gap:5px; align-items:center; flex-wrap:wrap; }
.batches-table .coa-actions .btn { padding:7px 9px; }
.batches-table .status-cell { white-space:nowrap; min-width:0; }

@media (max-width:760px){
  .batches-table { table-layout:auto; min-width:760px; }
  .batches-table th, .batches-table td { white-space:nowrap; }
  .batches-table .coa-cell { min-width:220px; }
}

.impersonation-bar { background:#fff3cd; border-bottom:1px solid #e3cf80; padding:8px 18px; display:flex; align-items:center; justify-content:center; gap:10px; flex-wrap:wrap; }
.impersonation-bar form { margin:0; }
.impersonation-bar .btn { margin:0; }

@media (max-width:760px) {
  .inventory-table {
    min-width:0 !important;
  }
}

.inventory-table {
  width:100%;
  min-width:0 !important;
  table-layout:fixed;
}
.inventory-table th,
.inventory-table td {
  min-width:0 !important;
  overflow-wrap:anywhere;
  word-break:normal;
  vertical-align:middle;
}
.inventory-table th:nth-child(1), .inventory-table td:nth-child(1) { width:17%; }
.inventory-table th:nth-child(2), .inventory-table td:nth-child(2) { width:11%; }
.inventory-table th:nth-child(3), .inventory-table td:nth-child(3) { width:7%; }
.inventory-table th:nth-child(4), .inventory-table td:nth-child(4) { width:8%; }
.inventory-table th:nth-child(5), .inventory-table td:nth-child(5) { width:7%; }
.inventory-table th:nth-child(6), .inventory-table td:nth-child(6) { width:8%; }
.inventory-table th:nth-child(7), .inventory-table td:nth-child(7) { width:8%; }
.inventory-table th:nth-child(8), .inventory-table td:nth-child(8) { width:8%; text-align:center; }
.inventory-table th:nth-child(9), .inventory-table td:nth-child(9) { width:14%; }
.inventory-table th:nth-child(10), .inventory-table td:nth-child(10) { width:12%; }

.inventory-table .btn,
.inventory-table button { white-space:nowrap; max-width:100%; }
.inventory-table form { max-width:100%; }
.inventory-table td:last-child { text-align:right; }

.public-toggle {
  position:relative;
  display:inline-block;
  width:42px;
  height:24px;
  vertical-align:middle;
  cursor:pointer;
}
.public-toggle input {
  position:absolute;
  opacity:0;
  width:1px;
  height:1px;
  pointer-events:none;
}
.public-toggle-slider {
  position:absolute;
  inset:0;
  border-radius:999px;
  background:#c7c7c7;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.12);
  transition:.15s ease;
}
.public-toggle-slider::after {
  content:"";
  position:absolute;
  width:18px;
  height:18px;
  left:3px;
  top:3px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 1px 3px rgba(0,0,0,.25);
  transition:.15s ease;
}
.public-toggle input:checked + .public-toggle-slider { background:#2f7d32; }
.public-toggle input:checked + .public-toggle-slider::after { transform:translateX(18px); }
.public-toggle input:focus-visible + .public-toggle-slider { outline:2px solid currentColor; outline-offset:2px; }

.batch-selector-form { display:grid; gap:6px; max-width:520px; margin-bottom:18px; }
.batch-selector-form select { width:100%; }
.selected-batch-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin:14px 0 18px; }
.selected-batch-grid > div { padding:10px 12px; background:#f6f7f8; border-radius:8px; display:grid; gap:3px; }
.batch-edit-panel { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(220px,.7fr); gap:18px; align-items:start; }
.tests-form { display:grid; gap:8px; max-width:520px; }
.tests-form label { display:grid; gap:4px; }
.tests-form input { width:100%; box-sizing:border-box; }
.batch-delete-zone { margin-top:20px; padding-top:16px; border-top:1px solid #e4e4e4; }
.public-tests { margin:12px 0 16px; padding:10px 12px; border-radius:8px; background:#f6f7f8; display:grid; gap:4px; }
@media (max-width:760px){
 .selected-batch-grid { grid-template-columns:1fr 1fr; }
 .batch-edit-panel { grid-template-columns:1fr; }
}

.batch-public-card { margin-top:16px; padding-top:12px; border-top:1px solid #e5e5e5; }
.batch-public-card h3 { margin:0 0 8px; }

.inventory-table th:nth-child(3),
.inventory-table td:nth-child(3),
.inventory-table th:nth-child(4),
.inventory-table td:nth-child(4),
.inventory-table th:nth-child(5),
.inventory-table td:nth-child(5),
.inventory-table th:nth-child(6),
.inventory-table td:nth-child(6),
.inventory-table th:nth-child(7),
.inventory-table td:nth-child(7) {
  white-space:nowrap;
  width:1%;
}

.inventory-table th:nth-child(1),
.inventory-table td:nth-child(1) { width:24%; }
.inventory-table th:nth-child(2),
.inventory-table td:nth-child(2) { width:16%; }

.inventory-quick {
  width:118px;
  min-width:118px !important;
}
.inventory-quick form {
  display:inline-block !important;
  margin:2px 2px 2px 0 !important;
  vertical-align:middle;
}
.inventory-quick .btn,
.inventory-quick button {
  min-width:42px;
  width:auto;
  padding-left:9px;
  padding-right:9px;
  white-space:nowrap;
}

.inventory-actions {
  width:150px;
  min-width:150px !important;
  white-space:normal !important;
}
.inventory-actions > a,
.inventory-actions > form {
  display:inline-block !important;
  vertical-align:middle;
  margin:2px 3px 2px 0 !important;
}
.inventory-actions .btn,
.inventory-actions button {
  width:auto !important;
  min-width:0;
  white-space:nowrap;
  padding-left:9px;
  padding-right:9px;
}

.inventory-table form {
  max-width:100%;
}
.inventory-table input,
.inventory-table select,
.inventory-table button,
.inventory-table .btn {
  max-width:100%;
  box-sizing:border-box;
}

@media (max-width:1100px) {
  .inventory-table {
    font-size:.92rem;
  }
  .inventory-table th,
  .inventory-table td {
    padding-left:5px;
    padding-right:5px;
  }
  .inventory-quick {
    width:96px;
    min-width:96px !important;
  }
  .inventory-actions {
    width:122px;
    min-width:122px !important;
  }
  .inventory-actions > a,
  .inventory-actions > form,
  .inventory-quick form {
    display:block !important;
    margin:3px 0 !important;
  }
  .inventory-actions .btn,
  .inventory-actions button,
  .inventory-quick .btn,
  .inventory-quick button {
    width:100% !important;
  }
}

.inventory-quick {
  width:150px;
  min-width:150px !important;
  white-space:nowrap !important;
}

.inventory-quick-group {
  display:flex;
  align-items:center;
  gap:5px;
  flex-wrap:nowrap;
  white-space:nowrap;
}

.inventory-quick-group form,
.inventory-quick-group a {
  display:inline-flex !important;
  margin:0 !important;
  flex:0 0 auto;
}

.inventory-quick-group .btn,
.inventory-quick-group button {
  width:auto !important;
  min-width:38px;
  padding-left:8px;
  padding-right:8px;
  white-space:nowrap;
}

.inventory-actions {
  width:210px;
  min-width:210px !important;
  white-space:nowrap !important;
}

.inventory-action-group {
  display:flex;
  align-items:center;
  gap:5px;
  flex-wrap:nowrap;
  white-space:nowrap;
  justify-content:flex-end;
}

.inventory-action-group > a,
.inventory-action-group > form {
  display:inline-flex !important;
  margin:0 !important;
  flex:0 0 auto;
}

.inventory-action-group .btn,
.inventory-action-group button {
  width:auto !important;
  min-width:0;
  padding-left:8px;
  padding-right:8px;
  white-space:nowrap;
}

@media (max-width:1100px) {
  .inventory-table {
    font-size:.9rem;
  }
  .inventory-table th,
  .inventory-table td {
    padding-left:4px;
    padding-right:4px;
  }
  .inventory-quick {
    width:138px;
    min-width:138px !important;
  }
  .inventory-actions {
    width:190px;
    min-width:190px !important;
  }
  .inventory-quick-group,
  .inventory-action-group {
    gap:3px;
  }
  .inventory-quick-group .btn,
  .inventory-quick-group button,
  .inventory-action-group .btn,
  .inventory-action-group button {
    padding-left:6px;
    padding-right:6px;
  }
}

.inventory-table {
  width:100%;
  max-width:100%;
  table-layout:fixed !important;
  border-collapse:collapse;
}
.inventory-table th,
.inventory-table td {
  min-width:0 !important;
  overflow:hidden;
  text-overflow:ellipsis;
  vertical-align:middle;
  padding:6px;
}

.inventory-table th:nth-child(1),
.inventory-table td:nth-child(1) { width:18%; }
.inventory-table th:nth-child(2),
.inventory-table td:nth-child(2) { width:12%; }
.inventory-table th:nth-child(3),
.inventory-table td:nth-child(3) { width:7%; }
.inventory-table th:nth-child(4),
.inventory-table td:nth-child(4) { width:8%; }
.inventory-table th:nth-child(5),
.inventory-table td:nth-child(5) { width:7%; }
.inventory-table th:nth-child(6),
.inventory-table td:nth-child(6) { width:8%; }
.inventory-table th:nth-child(7),
.inventory-table td:nth-child(7) { width:8%; }
.inventory-table th:nth-child(8),
.inventory-table td:nth-child(8) { width:16%; }
.inventory-table th:nth-child(9),
.inventory-table td:nth-child(9) { width:16%; }
.inventory-table th:nth-child(10),
.inventory-table td:nth-child(10) { width:0%; }

.inventory-quick {
  overflow:visible !important;
}
.inventory-quick-group {
  display:grid !important;
  grid-template-columns:repeat(3,max-content);
  align-items:center;
  justify-content:start;
  gap:4px;
  white-space:nowrap;
}
.inventory-quick-group > * {
  margin:0 !important;
  display:inline-flex !important;
}
.inventory-quick-group .btn,
.inventory-quick-group button {
  width:auto !important;
  min-width:36px;
  padding:6px 8px;
  white-space:nowrap;
}

.inventory-actions {
  overflow:visible !important;
}
.inventory-action-group {
  display:grid !important;
  grid-template-columns:repeat(3,max-content);
  align-items:center;
  justify-content:end;
  gap:4px;
  white-space:nowrap;
}
.inventory-action-group > * {
  margin:0 !important;
  display:inline-flex !important;
}
.inventory-action-group .btn,
.inventory-action-group button {
  width:auto !important;
  padding:6px 8px;
  white-space:nowrap;
}

.product-strength-heading {
  margin-top:-6px;
  margin-bottom:14px;
  font-size:1.05rem;
  font-weight:700;
}

@media (max-width:1100px) {
  .inventory-table { font-size:.88rem; }
  .inventory-table th,
  .inventory-table td { padding:5px 4px; }
  .inventory-quick-group,
  .inventory-action-group { gap:3px; }
  .inventory-quick-group .btn,
  .inventory-quick-group button,
  .inventory-action-group .btn,
  .inventory-action-group button { padding:5px 6px; }
}

.product-title-strength {
  font-weight:600;
}

.batch-public-toggle {
  display:inline-flex;
  align-items:center;
  gap:10px;
  cursor:pointer;
  font-weight:600;
  user-select:none;
}
.batch-public-toggle input {
  position:absolute;
  opacity:0;
  width:1px;
  height:1px;
  pointer-events:none;
}
.batch-public-slider {
  position:relative;
  display:inline-block;
  width:46px;
  height:26px;
  flex:0 0 auto;
  border-radius:999px;
  background:#c9c9c9;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.12);
  transition:.18s ease;
}
.batch-public-slider::after {
  content:"";
  position:absolute;
  width:20px;
  height:20px;
  left:3px;
  top:3px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 1px 3px rgba(0,0,0,.25);
  transition:.18s ease;
}
.batch-public-toggle input:checked + .batch-public-slider {
  background:#2f7d32;
}
.batch-public-toggle input:checked + .batch-public-slider::after {
  transform:translateX(20px);
}
.batch-public-toggle input:focus-visible + .batch-public-slider {
  outline:2px solid currentColor;
  outline-offset:2px;
}
.batch-public-label {
  line-height:1.2;
}

.batch-rename { margin:12px 0 16px; }
.batch-rename-form {
  display:flex;
  align-items:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.batch-rename-form label {
  display:grid;
  gap:4px;
  min-width:220px;
  flex:1 1 260px;
}
.batch-rename-form input[type="text"] {
  width:100%;
  box-sizing:border-box;
}

@media (max-width:760px) {
  .table-wrap {
    width:100%;
    max-width:100%;
    overflow-x:auto !important;
    overflow-y:visible;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
  }

  .inventory-table {
    width:max-content !important;
    min-width:920px !important;
    table-layout:auto !important;
  }

  .inventory-table th,
  .inventory-table td {
    min-width:auto !important;
    max-width:none !important;
    white-space:nowrap !important;
    overflow:visible !important;
    text-overflow:clip !important;
  }

  .inventory-table th:nth-child(1),
  .inventory-table td:nth-child(1) { min-width:150px !important; }

  .inventory-table th:nth-child(2),
  .inventory-table td:nth-child(2) { min-width:110px !important; }

  .inventory-quick {
    min-width:145px !important;
    width:145px !important;
  }

  .inventory-actions {
    min-width:200px !important;
    width:200px !important;
  }

  .inventory-quick-group,
  .inventory-action-group {
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:4px !important;
  }

  .inventory-quick-group > *,
  .inventory-action-group > * {
    flex:0 0 auto !important;
  }

  .inventory-quick-group .btn,
  .inventory-quick-group button,
  .inventory-action-group .btn,
  .inventory-action-group button {
    width:auto !important;
    min-width:auto !important;
    white-space:nowrap !important;
  }
}

@media (max-width:480px){
  .topbar{
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:"brand logout" "nav nav";
  }
  .topbar>a.logout-link,
  .topbar>a:last-child.logout-link{
    display:block !important;
    grid-area:logout;
    position:static !important;
    margin:0;
    padding:7px 9px;
    border-radius:7px;
    background:rgba(255,255,255,.08);
    font-size:13px;
    white-space:nowrap;
  }
}

.topbar-user-link{
  color:#fff !important;
  text-decoration:none !important;
  font-weight:650;
  white-space:nowrap;
}
.topbar-user-link:hover,
.topbar-user-link:focus{
  text-decoration:underline !important;
}

@media (max-width:760px){
  .topbar{
    grid-template-columns:minmax(0,1fr) auto auto;
    grid-template-areas:"brand user logout" "nav nav nav";
  }
  .topbar>.topbar-user-link{
    grid-area:user;
    display:block !important;
    margin:0;
    padding:7px 4px;
    font-size:13px;
    max-width:38vw;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .topbar>a.logout-link{
    grid-area:logout;
    display:block !important;
    position:static !important;
    margin:0;
    padding:7px 9px;
    border-radius:7px;
    background:rgba(255,255,255,.08);
    font-size:13px;
    white-space:nowrap;
  }
}

@media (max-width:480px){
  .topbar{
    grid-template-columns:minmax(0,1fr) auto auto;
    grid-template-areas:"brand user logout" "nav nav nav";
  }
  .topbar>.topbar-user-link{
    display:block !important;
    max-width:30vw;
    padding:7px 2px;
  }
  .topbar>a.logout-link,
  .topbar>a:last-child.logout-link{
    display:block !important;
    grid-area:logout;
  }
}

:root{
  --bg:#f4f6fa;
  --surface:#ffffff;
  --surface-soft:#f8fafc;
  --text:#18212f;
  --text-soft:#667085;
  --line:#e7ebf1;
  --line-strong:#d8dee8;
  --nav:#0f1726;
  --nav-soft:#182235;
  --primary:#253b63;
  --primary-hover:#1e3152;
  --primary-soft:#eef3fb;
  --danger:#b42318;
  --danger-soft:#fff1f0;
  --success:#16794a;
  --success-soft:#edf9f2;
  --shadow-sm:0 1px 2px rgba(16,24,40,.04),0 1px 3px rgba(16,24,40,.06);
  --shadow-md:0 10px 30px rgba(15,23,38,.08);
  --shadow-lg:0 18px 50px rgba(15,23,38,.12);
  --radius-sm:9px;
  --radius-md:14px;
  --radius-lg:18px;
}

html{
  background:var(--bg);
}

body{
  background:
    radial-gradient(circle at top right, rgba(37,59,99,.055), transparent 28rem),
    linear-gradient(180deg,#f7f9fc 0%,var(--bg) 220px);
  color:var(--text);
  min-height:100vh;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

.topbar{
  position:sticky;
  top:0;
  z-index:1100;
  background:rgba(15,23,38,.97);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(255,255,255,.07);
  box-shadow:0 8px 24px rgba(15,23,38,.12);
  padding:13px 24px;
}

.brand{
  font-size:17px;
  letter-spacing:-.02em;
  font-weight:800;
  color:#fff;
  display:flex;
  align-items:center;
  gap:9px;
}

.brand::before{
  content:"";
  width:11px;
  height:11px;
  border-radius:999px;
  background:linear-gradient(135deg,#ffffff 0%,#9fb4d6 100%);
  box-shadow:0 0 0 5px rgba(255,255,255,.07);
  flex:0 0 auto;
}

.primary-nav{
  gap:4px;
}

.topbar nav>a,
.nav-more>summary{
  color:#d9e2ef !important;
  font-weight:650;
  font-size:14px;
  padding:8px 11px;
  border-radius:9px;
  transition:background .16s ease,color .16s ease,transform .16s ease;
}

.topbar nav>a:hover,
.nav-more>summary:hover,
.nav-more[open]>summary{
  background:rgba(255,255,255,.09);
  color:#fff !important;
}

.nav-more-menu{
  min-width:210px;
  padding:8px;
  margin-top:2px;
  border:1px solid var(--line);
  border-radius:14px;
  box-shadow:var(--shadow-lg);
  background:rgba(255,255,255,.99);
}

.nav-more-menu a,
.topbar .nav-more-menu a{
  color:var(--text) !important;
  border-radius:9px;
  font-weight:600;
  padding:10px 11px;
}

.nav-more-menu a:hover,
.nav-more-menu a:focus{
  background:var(--primary-soft) !important;
  color:var(--primary) !important;
}

.topbar-user-link{
  display:inline-flex !important;
  align-items:center;
  gap:7px;
  color:#fff !important;
  font-weight:700;
  padding:7px 8px;
  border-radius:9px;
  transition:background .16s ease;
}

.topbar-user-link::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:999px;
  background:#5dd59d;
  box-shadow:0 0 0 4px rgba(93,213,157,.1);
}

.topbar-user-link:hover{
  text-decoration:none !important;
  background:rgba(255,255,255,.08);
}

.logout-link{
  color:#cdd7e6 !important;
  font-weight:650;
  padding:7px 9px !important;
  border-radius:9px;
}

.logout-link:hover{
  color:#fff !important;
  background:rgba(255,255,255,.08);
}

.container{
  max-width:1240px;
  margin:34px auto 44px;
  padding:0 22px;
}

h1,h2,h3{
  color:var(--text);
  letter-spacing:-.025em;
}

h1{
  font-size:31px;
  line-height:1.15;
  margin-bottom:20px;
}

h2{
  font-size:20px;
  margin-bottom:15px;
}

h3{
  font-size:16px;
}

.muted{
  color:var(--text-soft);
}

.card{
  background:rgba(255,255,255,.96);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:20px;
  box-shadow:var(--shadow-sm);
  transition:box-shadow .18s ease,border-color .18s ease,transform .18s ease;
}

.card:hover{
  border-color:#dbe2eb;
  box-shadow:0 8px 28px rgba(15,23,38,.07);
}

.grid{
  gap:18px;
}

.grid>.card{
  position:relative;
  overflow:hidden;
}

.grid>.card::after{
  content:"";
  position:absolute;
  inset:auto -35px -45px auto;
  width:105px;
  height:105px;
  border-radius:999px;
  background:radial-gradient(circle,rgba(37,59,99,.055),transparent 68%);
  pointer-events:none;
}

.metric{
  font-size:30px;
  line-height:1.1;
  color:var(--text);
  letter-spacing:-.035em;
}

.small-metric{
  font-size:21px;
}

.card-stat{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:11px;
  box-shadow:var(--shadow-sm);
  padding:9px 13px;
}

.btn{
  border-radius:10px;
  min-height:38px;
  padding:9px 14px;
  background:var(--primary);
  color:#fff;
  font-weight:700;
  font-size:14px;
  box-shadow:0 1px 2px rgba(16,24,40,.08);
  transition:transform .14s ease,background .14s ease,box-shadow .14s ease,border-color .14s ease;
}

.btn:hover{
  background:var(--primary-hover);
  transform:translateY(-1px);
  box-shadow:0 5px 14px rgba(37,59,99,.17);
}

.btn.secondary{
  background:#fff;
  color:var(--text);
  border:1px solid var(--line-strong);
  box-shadow:0 1px 2px rgba(16,24,40,.035);
}

.btn.secondary:hover{
  background:var(--surface-soft);
  border-color:#cdd5e1;
  color:var(--text);
}

.btn.danger{
  background:var(--danger);
  color:#fff;
  border:1px solid var(--danger);
}

.btn.danger:hover{
  background:#912018;
}

.actions{
  gap:9px;
}

input,
select,
textarea{
  border:1px solid var(--line-strong);
  border-radius:10px;
  background:#fff;
  color:var(--text);
  box-shadow:0 1px 2px rgba(16,24,40,.025);
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}

input:hover,
select:hover,
textarea:hover{
  border-color:#c3ccd8;
}

input:focus,
select:focus,
textarea:focus{
  outline:none;
  border-color:#7183a2;
  box-shadow:0 0 0 4px rgba(37,59,99,.09);
}

label{
  color:#344054;
  font-size:13px;
  font-weight:750;
}

.small{
  color:var(--text-soft);
}

.table-wrap{
  border:1px solid var(--line);
  border-radius:14px;
  overflow:auto;
  background:#fff;
}

table{
  background:#fff;
}

th{
  background:#f8fafc;
  color:#667085;
  font-size:12px;
  letter-spacing:.02em;
  text-transform:uppercase;
  font-weight:800;
}

th,td{
  border-bottom:1px solid #edf0f4;
  padding:12px 13px;
}

tr:last-child td{
  border-bottom:0;
}

tbody tr{
  transition:background .12s ease;
}

tbody tr:hover{
  background:#fafbfd;
}

td a:not(.btn){
  color:#294b7a;
  font-weight:700;
  text-decoration:none;
}

td a:not(.btn):hover{
  text-decoration:underline;
}

.badge{
  background:#eef2f7;
  color:#475467;
  border:1px solid #e0e6ee;
  font-weight:750;
  padding:4px 8px;
}

.badge.low{
  background:var(--danger-soft);
  color:#a22b22;
  border-color:#ffd5d2;
}

.flash{
  border:1px solid transparent;
  box-shadow:var(--shadow-sm);
  border-radius:11px;
  font-weight:650;
}

.flash.success{
  background:var(--success-soft);
  color:#11603c;
  border-color:#ccefdc;
}

.flash.error{
  background:var(--danger-soft);
  color:#8f2018;
  border-color:#ffd3cf;
}

.login.card{
  max-width:460px;
  margin:78px auto;
  padding:26px;
  box-shadow:var(--shadow-md);
}

.login.card h1{
  margin-bottom:18px;
}

.login.card p{
  margin:0 0 16px;
}

.login.card .btn{
  margin-right:6px;
}

.impersonation-bar{
  background:#fff8e7;
  color:#73510b;
  border-bottom:1px solid #f0dfad;
  padding:9px 20px;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:12px;
}

.selected-batch-grid{
  gap:10px;
}

.selected-batch-grid>div{
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:11px;
  padding:11px 12px;
}

.batch-edit-panel{
  background:#fbfcfe;
  border:1px solid var(--line);
  border-radius:14px;
  padding:16px;
}

.batch-public-card{
  background:#f7faff;
  border:1px solid #dce6f4;
  border-radius:14px;
  padding:16px;
}

.batch-delete-zone{
  border-top:1px solid var(--line);
  margin-top:18px;
  padding-top:18px;
}

.public-shop-header{
  padding:2px 2px 6px;
}

.public-item{
  border-radius:16px;
  overflow:hidden;
}

.public-item-bottom{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid var(--line);
}

.public-price{
  font-size:1.5rem;
  letter-spacing:-.025em;
}

.form-grid{
  gap:16px;
}

.narrow{
  max-width:800px;
}

.card > h1:first-child,
.card > h2:first-child{
  margin-bottom:16px;
}

.actions > h1{
  margin-bottom:0;
}

.actions{
  align-items:center;
}

.product-title-strength{
  color:var(--text-soft);
  font-weight:650;
}

.warn{
  color:#a72d24;
}

@media (max-width:760px){
  body{
    background:linear-gradient(180deg,#f7f9fc 0%,var(--bg) 180px);
  }

  .topbar{
    padding:10px 12px;
    box-shadow:0 5px 18px rgba(15,23,38,.14);
  }

  .brand{
    font-size:16px;
  }

  .container{
    margin:18px auto 28px;
    padding:0 10px;
  }

  h1{
    font-size:25px;
    margin-bottom:16px;
  }

  h2{
    font-size:18px;
  }

  .card{
    padding:15px;
    border-radius:14px;
    margin-bottom:12px;
  }

  .grid{
    gap:11px;
  }

  .metric{
    font-size:25px;
  }

  .table-wrap{
    border-radius:12px;
    margin-left:0;
    margin-right:0;
  }

  th,td{
    padding:10px 11px;
  }

  .btn{
    min-height:38px;
    border-radius:9px;
  }

  .actions{
    gap:7px;
  }

  .topbar nav>a,
  .nav-more>summary{
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.05);
    padding:7px 9px;
  }

  .nav-more-menu{
    min-width:195px !important;
  }

  .login.card{
    margin:24px auto;
    padding:20px;
  }
}

@media (max-width:480px){
  .container{
    padding:0 8px;
  }

  .topbar{
    gap:7px;
  }

  .topbar>.topbar-user-link{
    max-width:27vw;
  }

  .card{
    padding:14px;
  }

  .form-grid{
    gap:11px;
  }
}

:root,
html[data-theme="light"]{
  --bg:#f4f6fa;
  --bg-elevated:#f8fafc;
  --surface:#ffffff;
  --surface-soft:#f8fafc;
  --surface-muted:#f1f4f8;
  --text:#18212f;
  --text-soft:#667085;
  --heading:#172033;
  --line:#e4e9f0;
  --line-strong:#d4dce7;
  --nav:#0f1726;
  --nav-text:#d9e2ef;
  --primary:#1f456e;
  --primary-hover:#173858;
  --primary-soft:#edf4fb;
  --table-head:#f7f9fc;
  --danger:#b42318;
  --danger-soft:#fff1f0;
  --success:#16794a;
  --success-soft:#edf9f2;
  --warning-bg:#fff8e7;
  --warning-text:#73510b;
  --input:#ffffff;
  --shadow-sm:0 1px 2px rgba(16,24,40,.04),0 1px 3px rgba(16,24,40,.06);
  --shadow-md:0 12px 34px rgba(15,23,38,.09);
  --auth-panel:#f7fbfd;
  --auth-accent:#0797af;
}

html[data-theme="dark"]{
  --bg:#0d1420;
  --bg-elevated:#111a28;
  --surface:#151f2e;
  --surface-soft:#192536;
  --surface-muted:#1d2a3d;
  --text:#e8eef7;
  --text-soft:#9dabbc;
  --heading:#f4f7fb;
  --line:#27354a;
  --line-strong:#34455e;
  --nav:#090f18;
  --nav-text:#d7e1ef;
  --primary:#2e7599;
  --primary-hover:#3988ae;
  --primary-soft:#172d3c;
  --table-head:#182435;
  --danger:#d94b42;
  --danger-soft:#351b1c;
  --success:#53bf88;
  --success-soft:#173126;
  --warning-bg:#332b17;
  --warning-text:#f0d58c;
  --input:#101927;
  --shadow-sm:0 1px 3px rgba(0,0,0,.22);
  --shadow-md:0 16px 42px rgba(0,0,0,.3);
  --auth-panel:#101925;
  --auth-accent:#35bfd0;
}

html{
  color-scheme:light;
  background:var(--bg);
}

html[data-theme="dark"]{
  color-scheme:dark;
}

body{
  background:
    radial-gradient(circle at top right, color-mix(in srgb,var(--primary) 8%,transparent), transparent 28rem),
    linear-gradient(180deg,var(--bg-elevated) 0%,var(--bg) 230px);
  color:var(--text);
}

h1,h2,h3,
.metric,
.product-title-strength{
  color:var(--heading);
}

.muted,
.small{
  color:var(--text-soft);
}

.card,
.card-stat,
table,
.table-wrap{
  background:var(--surface);
  border-color:var(--line);
  color:var(--text);
}

.card:hover{
  border-color:var(--line-strong);
}

th{
  background:var(--table-head);
  color:var(--text-soft);
}

th,td{
  border-color:var(--line);
}

tbody tr:hover{
  background:var(--surface-soft);
}

input,
select,
textarea{
  background:var(--input);
  color:var(--text);
  border-color:var(--line-strong);
}

input::placeholder,
textarea::placeholder{
  color:color-mix(in srgb,var(--text-soft) 75%,transparent);
}

input:focus,
select:focus,
textarea:focus{
  border-color:color-mix(in srgb,var(--primary) 75%,#ffffff 10%);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 16%,transparent);
}

label{
  color:color-mix(in srgb,var(--text) 88%,var(--text-soft));
}

.btn{
  background:var(--primary);
}

.btn:hover{
  background:var(--primary-hover);
}

.btn.secondary{
  background:var(--surface);
  color:var(--text);
  border-color:var(--line-strong);
}

.btn.secondary:hover{
  background:var(--surface-soft);
  color:var(--text);
}

.badge{
  background:var(--surface-muted);
  color:var(--text-soft);
  border-color:var(--line);
}

.flash.success{
  background:var(--success-soft);
  color:var(--success);
  border-color:color-mix(in srgb,var(--success) 30%,transparent);
}

.flash.error{
  background:var(--danger-soft);
  color:color-mix(in srgb,var(--danger) 90%,var(--text));
  border-color:color-mix(in srgb,var(--danger) 28%,transparent);
}

.impersonation-bar{
  background:var(--warning-bg);
  color:var(--warning-text);
  border-color:color-mix(in srgb,var(--warning-text) 25%,transparent);
}

.selected-batch-grid>div,
.batch-edit-panel{
  background:var(--surface-soft);
  border-color:var(--line);
}

.batch-public-card{
  background:var(--primary-soft);
  border-color:color-mix(in srgb,var(--primary) 25%,var(--line));
}

.nav-more-menu{
  background:var(--surface);
  border-color:var(--line);
}

.nav-more-menu a,
.topbar .nav-more-menu a,
.nav-more-menu a:visited{
  color:var(--text) !important;
  background:var(--surface) !important;
}

.nav-more-menu a:hover,
.nav-more-menu a:focus,
.nav-more-menu a:active{
  color:var(--heading) !important;
  background:var(--surface-soft) !important;
}

.brand-link{
  color:#fff !important;
  text-decoration:none;
}

.brand-link::before{
  display:none !important;
}

.brand-link img{
  width:30px;
  height:30px;
  object-fit:contain;
}

.theme-icon-button{
  width:38px;
  height:38px;
  flex:0 0 38px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:10px;
  background:rgba(255,255,255,.07);
  color:#fff;
  cursor:pointer;
  font-size:17px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:background .15s ease,transform .15s ease;
}

.theme-icon-button:hover{
  background:rgba(255,255,255,.13);
  transform:translateY(-1px);
}

.guest-theme-switch{
  position:fixed;
  top:16px;
  right:16px;
  z-index:1200;
}

.guest-theme-switch button{
  border:1px solid var(--line);
  background:var(--surface);
  color:var(--text);
  border-radius:999px;
  padding:9px 13px;
  box-shadow:var(--shadow-sm);
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:7px;
  font-weight:700;
}

body.auth-page{
  min-height:100vh;
  overflow-x:hidden;
  background:var(--auth-panel);
}

body.auth-page .container{
  max-width:none;
  margin:0;
  padding:0;
  min-height:100vh;
}

.auth-shell{
  min-height:100vh;
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(480px,.88fr);
}

.auth-brand-panel{
  position:relative;
  overflow:hidden;
  min-height:100vh;
  padding:48px clamp(38px,6vw,86px);
  display:flex;
  align-items:center;
  background:
    radial-gradient(circle at 78% 78%,rgba(46,156,178,.18),transparent 22rem),
    linear-gradient(145deg,#fbfeff 0%,#edf7fa 53%,#dceef4 100%);
}

html[data-theme="dark"] .auth-brand-panel{
  background:
    radial-gradient(circle at 78% 78%,rgba(53,191,208,.13),transparent 22rem),
    linear-gradient(145deg,#0b1521 0%,#102232 54%,#123044 100%);
}

.auth-brand-panel::after{
  content:"";
  position:absolute;
  right:-170px;
  bottom:-210px;
  width:520px;
  height:520px;
  border-radius:72px;
  transform:rotate(42deg);
  background:linear-gradient(145deg,rgba(12,37,64,.92),rgba(7,138,165,.65));
  opacity:.92;
}

.auth-brand-inner{
  width:min(680px,100%);
  position:relative;
  z-index:2;
}

.auth-logo{
  display:block;
  width:min(520px,82%);
  height:auto;
  margin:0 0 clamp(48px,8vh,86px);
}

html[data-theme="dark"] .auth-logo,
html[data-theme="dark"] .auth-mobile-brand img{
  filter:brightness(1.4) saturate(.85);
}

.auth-eyebrow{
  color:var(--auth-accent);
  font-size:12px;
  letter-spacing:.18em;
  font-weight:800;
  margin:0 0 14px;
}

.auth-copy h1{
  color:#0b1f37;
  font-size:clamp(38px,4.2vw,64px);
  line-height:1.04;
  letter-spacing:-.045em;
  margin:0 0 24px;
}

html[data-theme="dark"] .auth-copy h1{
  color:#f4f8fb;
}

.auth-copy h1 span{
  color:#078fa9;
}

html[data-theme="dark"] .auth-copy h1 span{
  color:#46c7d5;
}

.auth-lead{
  max-width:590px;
  font-size:18px;
  line-height:1.7;
  color:#52667c;
  margin:0;
}

html[data-theme="dark"] .auth-lead{
  color:#a7b9c9;
}

.auth-features{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:13px;
  margin-top:42px;
  max-width:600px;
}

.auth-feature{
  display:flex;
  align-items:center;
  gap:13px;
  padding:13px 14px;
  border:1px solid rgba(21,62,92,.09);
  background:rgba(255,255,255,.5);
  backdrop-filter:blur(10px);
  border-radius:15px;
}

html[data-theme="dark"] .auth-feature{
  border-color:rgba(255,255,255,.08);
  background:rgba(255,255,255,.045);
}

.auth-feature-icon{
  width:39px;
  height:39px;
  border-radius:11px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 39px;
  background:rgba(7,151,175,.11);
  color:#087e97;
  font-size:19px;
  font-weight:800;
}

html[data-theme="dark"] .auth-feature-icon{
  color:#55cad7;
  background:rgba(53,191,208,.13);
}

.auth-feature strong{
  display:block;
  color:#18314c;
  font-size:14px;
}

html[data-theme="dark"] .auth-feature strong{
  color:#eef6fa;
}

.auth-feature small{
  display:block;
  color:#718194;
  font-size:12px;
  margin-top:2px;
}

.auth-brand-footer{
  margin-top:52px;
  display:flex;
  align-items:center;
  gap:16px;
  color:#65788d;
  font-size:10px;
  font-weight:800;
  letter-spacing:.25em;
}

.auth-brand-line{
  width:42px;
  height:2px;
  background:#159bb3;
}

.auth-orb{
  position:absolute;
  border-radius:999px;
  border:1px solid rgba(8,142,169,.12);
  pointer-events:none;
}

.auth-orb-one{
  width:330px;
  height:330px;
  right:7%;
  top:-190px;
}

.auth-orb-two{
  width:220px;
  height:220px;
  left:-110px;
  bottom:4%;
}

.auth-form-panel{
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:42px clamp(26px,5vw,76px);
  background:var(--surface);
}

.auth-form-wrap{
  width:min(520px,100%);
  position:relative;
}

.theme-segmented{
  display:flex;
  justify-content:flex-end;
  margin-bottom:18px;
}

.theme-segmented{
  width:max-content;
  margin-left:auto;
  padding:4px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--surface-soft);
}

.theme-segmented button{
  border:0;
  background:transparent;
  color:var(--text-soft);
  border-radius:999px;
  padding:8px 13px;
  font-weight:750;
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:7px;
}

.theme-segmented button.is-active{
  background:var(--surface);
  color:var(--primary);
  box-shadow:var(--shadow-sm);
}

.auth-card{
  padding:38px 40px 34px;
  border:1px solid var(--line);
  border-radius:24px;
  background:var(--surface);
  box-shadow:var(--shadow-md);
}

.auth-mobile-brand{
  display:none;
}

.auth-heading{
  text-align:center;
  margin-bottom:28px;
}

.auth-heading-kicker{
  display:block;
  color:var(--auth-accent);
  font-size:11px;
  font-weight:850;
  letter-spacing:.18em;
  margin-bottom:9px;
}

.auth-heading h2{
  font-size:29px;
  margin:0 0 8px;
  color:var(--heading);
}

.auth-heading p{
  color:var(--text-soft);
  margin:0;
  line-height:1.55;
}

.premium-login-form{
  display:block;
}

.auth-field{
  margin-bottom:17px;
}

.auth-field label{
  margin-bottom:7px;
}

.auth-input-wrap{
  position:relative;
}

.auth-input-wrap input{
  min-height:52px;
  padding-left:43px;
  padding-right:62px;
  border-radius:12px;
}

.auth-input-icon{
  position:absolute;
  left:15px;
  top:50%;
  transform:translateY(-50%);
  color:var(--text-soft);
  pointer-events:none;
  font-size:17px;
}

.password-toggle{
  position:absolute;
  right:12px;
  top:50%;
  transform:translateY(-50%);
  border:0;
  background:transparent;
  color:var(--primary);
  font-weight:750;
  cursor:pointer;
  padding:5px;
}

.auth-submit,
.auth-register{
  width:100%;
  min-height:50px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border-radius:12px;
  font-size:15px;
}

.auth-submit{
  margin-top:6px;
  background:linear-gradient(100deg,#25acc0,#087f98);
  box-shadow:0 8px 22px rgba(8,127,152,.2);
}

.auth-submit:hover{
  background:linear-gradient(100deg,#1f9fb3,#076f86);
}

.auth-divider{
  display:flex;
  align-items:center;
  gap:13px;
  color:var(--text-soft);
  font-size:12px;
  margin:20px 0;
}

.auth-divider::before,
.auth-divider::after{
  content:"";
  height:1px;
  flex:1;
  background:var(--line);
}

.auth-register{
  background:transparent !important;
  color:var(--primary) !important;
  border:1px solid color-mix(in srgb,var(--auth-accent) 75%,var(--line)) !important;
}

.auth-register:hover{
  background:var(--primary-soft) !important;
}

.auth-secure-note{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:7px;
  margin-top:25px;
  color:var(--text-soft);
  font-size:12px;
}

@media (max-width:1050px){
  .auth-shell{
    grid-template-columns:minmax(0,1fr) minmax(430px,.9fr);
  }

  .auth-brand-panel{
    padding-left:38px;
    padding-right:38px;
  }

  .auth-copy h1{
    font-size:44px;
  }
}

@media (max-width:820px){
  .auth-shell{
    display:block;
  }

  .auth-brand-panel{
    display:none;
  }

  .auth-form-panel{
    min-height:100vh;
    padding:22px 14px 32px;
    background:
      radial-gradient(circle at top right,color-mix(in srgb,var(--auth-accent) 12%,transparent),transparent 18rem),
      var(--auth-panel);
  }

  .auth-form-wrap{
    width:min(500px,100%);
  }

  .theme-segmented{
    margin-bottom:14px;
  }

  .auth-card{
    padding:28px 22px 24px;
    border-radius:20px;
  }

  .auth-mobile-brand{
    display:block;
    margin:0 auto 24px;
    text-align:center;
  }

  .auth-mobile-brand img{
    width:min(340px,90%);
    height:auto;
  }

  .auth-heading h2{
    font-size:25px;
  }
}

@media (max-width:760px){
  .topbar{
    grid-template-columns:minmax(0,1fr) auto auto auto;
    grid-template-areas:"brand theme user logout" "nav nav nav nav";
  }

  .theme-icon-button{
    grid-area:theme;
    width:35px;
    height:35px;
    min-width:35px;
  }

  .topbar>.topbar-user-link{
    grid-area:user;
  }

  .topbar>a.logout-link{
    grid-area:logout;
  }

  .brand-link img{
    width:27px;
    height:27px;
  }
}

@media (max-width:520px){
  .topbar{
    grid-template-columns:minmax(0,1fr) auto auto;
    grid-template-areas:"brand theme logout" "nav nav nav";
  }

  .topbar>.topbar-user-link{
    display:none !important;
  }

  .auth-card{
    padding:24px 17px 22px;
  }

  .theme-segmented button{
    padding:7px 11px;
  }
}

.inventory-table .btn,
.inventory-table form .btn,
.table-wrap table .btn,
.table-wrap table form .btn{
  min-height:34px !important;
  height:34px !important;
  padding:6px 10px !important;
  border-radius:9px !important;
  font-size:13px !important;
  line-height:20px !important;
  box-shadow:0 1px 2px rgba(16,24,40,.06) !important;
  transform:none !important;
  vertical-align:middle;
}

.inventory-table .btn:hover,
.inventory-table form .btn:hover,
.table-wrap table .btn:hover,
.table-wrap table form .btn:hover{
  transform:none !important;
}

.inventory-quick-group{
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
  flex-wrap:nowrap !important;
}

.inventory-quick-group form{
  display:inline-flex !important;
  margin:0 !important;
}

.inventory-quick-group .btn{
  min-width:42px !important;
  width:auto !important;
  padding-left:10px !important;
  padding-right:10px !important;
}

.inventory-action-group{
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
  flex-wrap:nowrap !important;
}

.inventory-action-group form{
  display:inline-flex !important;
  margin:0 !important;
}

.inventory-action-group .btn{
  width:auto !important;
}

.inventory-table th,
.inventory-table td{
  padding-top:10px !important;
  padding-bottom:10px !important;
  vertical-align:middle !important;
}

.inventory-table .inventory-quick,
.inventory-table .inventory-actions{
  width:1%;
  white-space:nowrap;
}

@media (max-width:760px){
  .inventory-table .btn,
  .inventory-table form .btn,
  .table-wrap table .btn,
  .table-wrap table form .btn{
    min-height:32px !important;
    height:32px !important;
    padding:5px 9px !important;
    font-size:12px !important;
    border-radius:8px !important;
  }

  .inventory-quick-group,
  .inventory-action-group{
    gap:5px !important;
  }

  .inventory-quick-group .btn{
    min-width:38px !important;
  }
}

.auth-input-wrap input{
  padding-right:88px !important;
}

#identifier{
  padding-right:112px !important;
}

#password{
  padding-right:118px !important;
}

.password-toggle{
  right:12px !important;
  z-index:3;
}

.auth-input-wrap input::-webkit-credentials-auto-fill-button,
.auth-input-wrap input::-webkit-contacts-auto-fill-button{
  position:absolute;
  right:12px;
}

.auth-input-wrap:has(#password) .password-toggle{
  right:12px !important;
}

html,
html[data-theme="light"],
html[data-theme="dark"]{
  background:var(--bg) !important;
}

body{
  min-height:100vh;
  display:flow-root;
}

body:not(.auth-page){
  background-color:var(--bg) !important;
}

body:not(.auth-page) > .container{
  margin-top:0 !important;
  padding-top:34px;
}

@media (max-width:760px){
  body:not(.auth-page) > .container{
    padding-top:18px;
  }
}

.users-table-wrap{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
}

.users-table{
  width:100%;
  min-width:1040px;
  table-layout:auto;
}

.users-table th,
.users-table td{
  white-space:nowrap;
  vertical-align:middle;
}

.users-table th:nth-child(1),
.users-table td:nth-child(1){
  min-width:150px;
}

.users-table th:nth-child(2),
.users-table td:nth-child(2){
  min-width:235px;
}

.users-table th:nth-child(4),
.users-table td:nth-child(4){
  min-width:150px;
}

.users-table th:nth-child(6),
.users-table td:nth-child(6){
  min-width:175px;
}

.users-table .btn,
.users-table form .btn{
  min-height:34px !important;
  height:34px !important;
  padding:6px 10px !important;
  font-size:13px !important;
  border-radius:9px !important;
  transform:none !important;
}

.users-table form{
  margin:0;
}

.card{
  min-width:0;
}

.container{
  min-width:0;
  overflow-x:hidden;
}

@media (max-width:760px){
  .users-table{
    min-width:980px;
  }

  .users-table th,
  .users-table td{
    padding:9px 10px !important;
    font-size:12px;
  }

  .users-table .btn,
  .users-table form .btn{
    min-height:32px !important;
    height:32px !important;
    padding:5px 9px !important;
    font-size:12px !important;
  }
}

.users-table-wrap{
  overflow:visible !important;
  width:100% !important;
  max-width:100% !important;
}

.users-table{
  width:100% !important;
  min-width:0 !important;
  table-layout:auto !important;
}

.users-table th,
.users-table td{
  min-width:0 !important;
  white-space:nowrap;
}

.users-table th:nth-child(2),
.users-table td:nth-child(2){
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
}

.users-table th:nth-child(3),
.users-table td:nth-child(3),
.users-table th:nth-child(4),
.users-table td:nth-child(4){
  width:1%;
}

.users-table th,
.users-table td{
  padding-left:11px !important;
  padding-right:11px !important;
}

@media (max-width:900px){
  .users-table th,
  .users-table td{
    padding-left:8px !important;
    padding-right:8px !important;
    font-size:12px;
  }

  .users-table .btn,
  .users-table form .btn{
    padding-left:8px !important;
    padding-right:8px !important;
  }
}

.users-heading-row{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:16px;
}

.users-heading-row h2{
  margin-bottom:3px;
}

.users-count{
  margin:0;
}

.users-filter-form{
  display:flex;
  align-items:center;
  gap:7px;
  margin:0;
}

.users-filter-form input[type="search"]{
  width:230px;
  min-height:38px;
}

.users-filter-form .btn{
  height:38px;
  min-height:38px;
  padding-top:7px;
  padding-bottom:7px;
}

.pagination{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  flex-wrap:wrap;
  margin-top:18px;
}

.pagination-link{
  min-width:36px;
  height:36px;
  padding:0 10px;
  border:1px solid var(--line-strong);
  border-radius:9px;
  background:var(--surface);
  color:var(--text);
  text-decoration:none;
  font-weight:750;
  font-size:13px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:background .14s ease,border-color .14s ease,color .14s ease;
}

.pagination-link:hover{
  background:var(--surface-soft);
  border-color:color-mix(in srgb,var(--primary) 35%,var(--line-strong));
}

.pagination-link.is-current{
  background:var(--primary);
  border-color:var(--primary);
  color:#fff;
}

.pagination-arrow{
  font-size:20px;
  line-height:1;
}

.pagination-ellipsis{
  color:var(--text-soft);
  padding:0 3px;
}

.sr-only{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

@media (max-width:700px){
  .users-heading-row{
    align-items:stretch;
    flex-direction:column;
    gap:12px;
  }

  .users-filter-form{
    width:100%;
    flex-wrap:wrap;
  }

  .users-filter-form input[type="search"]{
    width:auto;
    flex:1 1 180px;
  }
}

.users-table .user-delete-form{
  margin:0;
  display:inline-flex;
}

.users-table .user-delete-form .btn{
  min-width:66px;
}

@media (max-width:760px){
  
  .nav-more-menu a, .nav-more-menu button,
  .more-menu a, .more-menu button,
  .dropdown-menu a, .dropdown-menu button,
  .topbar-more-menu a, .topbar-more-menu button{
    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
  }

  .users-table-wrap{
    width:100% !important;
    max-width:100% !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    -webkit-overflow-scrolling:touch;
  }
  .users-table{
    width:max-content !important;
    min-width:900px !important;
    table-layout:auto !important;
  }
  .users-table th,
  .users-table td{
    white-space:nowrap !important;
  }
}

@media (max-width:760px){
  
  .nav-more .more-menu,
  .nav-more .dropdown-menu,
  .more-menu,
  .topbar-more-menu,
  .nav-dropdown-menu{
    border:0 !important;
    outline:0 !important;
    box-shadow:0 12px 28px rgba(0,0,0,.28) !important;
  }

  .nav-more .more-menu::before,
  .nav-more .more-menu::after,
  .more-menu::before,
  .more-menu::after,
  .dropdown-menu::before,
  .dropdown-menu::after{
    border:0 !important;
    box-shadow:none !important;
  }
}

@media (max-width:520px){
  .topbar{
    grid-template-columns:minmax(0,1fr) auto auto auto !important;
    grid-template-areas:"brand theme user logout" "nav nav nav nav" !important;
  }
  .topbar > .topbar-user-link{
    display:flex !important;
    align-items:center !important;
    max-width:92px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
}

@media (max-width:760px){
  details.nav-more > .nav-more-menu{
    border:none !important;
    outline:none !important;
    box-shadow:0 12px 28px rgba(0,0,0,.30) !important;
    background:var(--surface) !important;
    padding:8px !important;
  }

  details.nav-more > .nav-more-menu > a,
  details.nav-more > .nav-more-menu > button{
    border:none !important;
    outline:none !important;
    box-shadow:none !important;
    margin:0 !important;
  }
}

@media (max-width:760px){
  header,
  .site-header,
  .topbar,
  body > header{
    border-top:0 !important;
  }
  .topbar::before,
  .site-header::before,
  body > header::before{
    border-top:0 !important;
    height:0 !important;
    box-shadow:none !important;
  }
}

.quick-remove-dialog{
  width:min(92vw,420px);
  border:0;
  border-radius:16px;
  padding:0;
  background:var(--surface);
  color:var(--text);
  box-shadow:0 22px 60px rgba(0,0,0,.35);
}
.quick-remove-dialog::backdrop{
  background:rgba(0,0,0,.55);
}
.quick-remove-dialog form{
  padding:22px;
}
.quick-remove-dialog h2{
  margin:0 0 8px;
}
.quick-remove-dialog p{
  margin:0 0 18px;
  color:var(--muted);
}
.quick-remove-dialog select{
  width:100%;
  margin-top:7px;
}
.quick-remove-dialog-actions{
  display:flex;
  gap:10px;
  justify-content:flex-end;
  margin-top:20px;
}
@media(max-width:520px){
  .quick-remove-dialog{
    width:calc(100vw - 28px);
  }
  .quick-remove-dialog-actions{
    flex-direction:column;
  }
  .quick-remove-dialog-actions .btn{
    width:100%;
  }
}

[hidden]{display:none !important;}

.batches-table{
  width:100%;
  min-width:0;
  table-layout:auto;
}
.batches-table th,
.batches-table td{
  white-space:normal;
  word-break:normal;
}
.batches-table th:last-child,
.batches-table td:last-child{
  white-space:nowrap;
  width:1%;
}
.batches-table .coa-cell{
  min-width:220px;
}
.batches-table .status-cell{
  white-space:nowrap;
  width:1%;
}
@media (min-width:761px){
  .batches-table{
    min-width:0 !important;
    width:100% !important;
  }
  .batches-table-wrap,
  .batches-table{
    overflow:visible !important;
  }
}
@media (max-width:760px){
  .batches-table{
    width:max-content !important;
    min-width:1100px !important;
    table-layout:auto !important;
  }
  .batches-table th,
  .batches-table td{
    white-space:nowrap !important;
  }
}

.inventory-filter-spacer{
  flex:1 1 auto;
}
@media(max-width:760px){
  .inventory-filter-actions{
    align-items:center;
  }
  .inventory-filter-spacer{
    flex-basis:100%;
    height:0;
  }
}



.strength-edit-button{
  appearance:none;
  border:0;
  background:transparent;
  color:var(--muted);
  cursor:pointer;
  font-size:.72em;
  line-height:1;
  padding:4px 6px;
  vertical-align:middle;
  border-radius:8px;
}
.strength-edit-button:hover,
.strength-edit-button:focus-visible{
  color:var(--text);
  background:var(--surface-2);
  outline:none;
}
.strength-edit-dialog{
  width:min(92vw,420px);
  border:0;
  border-radius:16px;
  padding:0;
  background:var(--surface);
  color:var(--text);
  box-shadow:0 22px 60px rgba(0,0,0,.35);
}
.strength-edit-dialog::backdrop{
  background:rgba(0,0,0,.55);
}
.strength-edit-dialog form{
  padding:22px;
}
.strength-edit-dialog h2{
  margin:0 0 18px;
}
.strength-edit-dialog input{
  width:100%;
  margin-top:7px;
}
.strength-edit-dialog-actions{
  display:flex;
  gap:10px;
  justify-content:flex-end;
  margin-top:20px;
}
@media(max-width:520px){
  .strength-edit-dialog{
    width:calc(100vw - 28px);
  }
  .strength-edit-dialog-actions{
    flex-direction:column;
  }
  .strength-edit-dialog-actions .btn{
    width:100%;
  }
}

.inventory-group-row{
  background:var(--surface-2);
}
.inventory-group-row td{
  vertical-align:middle;
}
.inventory-group-toggle{
  appearance:none;
  border:1px solid var(--line);
  background:var(--surface);
  color:var(--text);
  width:28px;
  height:28px;
  border-radius:8px;
  margin-right:10px;
  font-size:18px;
  line-height:24px;
  font-weight:700;
  cursor:pointer;
  padding:0;
}
.inventory-group-toggle:hover,
.inventory-group-toggle:focus-visible{
  border-color:var(--accent);
  outline:none;
}
.inventory-child-indent{
  display:inline-block;
  width:38px;
}
@media(max-width:760px){
  .inventory-group-toggle{
    width:30px;
    height:30px;
    min-width:30px;
  }
}

.inventory-group-row{
  background:transparent !important;
}
.inventory-group-row td{
  padding:10px 12px !important;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.inventory-group-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:42px;
  padding:4px 2px;
}
.inventory-group-main{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.inventory-group-main strong{
  font-size:1.02rem;
}
.inventory-group-meta{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.inventory-group-badge{
  display:inline-flex;
  align-items:center;
  gap:4px;
  border:1px solid var(--line);
  background:var(--surface-2);
  border-radius:999px;
  padding:5px 10px;
  color:var(--muted);
  font-size:.84rem;
  white-space:nowrap;
}
.inventory-group-badge strong{
  color:var(--text);
}
.inventory-group-toggle{
  margin-right:0 !important;
  flex:0 0 auto;
}
.inventory-group-child{
  background:rgba(255,255,255,.012);
}
.inventory-group-child td{
  border-top-color:rgba(128,145,170,.14);
}
.inventory-child-indent{
  display:inline-block;
  width:12px !important;
}
.inventory-child-link{
  display:inline-flex;
  align-items:center;
  gap:7px;
  text-decoration:none;
}
.inventory-child-dot{
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--muted);
  opacity:.65;
}
@media(max-width:760px){
  .inventory-group-summary{
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
  }
  .inventory-group-meta{
    padding-left:40px;
    justify-content:flex-start;
  }
}
