: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(--primary);
  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;
  }
}

.inventory-group-row,.inventory-group-child{background:transparent!important}
.inventory-group-row td{padding:14px 12px!important}
.inventory-group-summary{display:flex;align-items:center;min-height:36px}
.inventory-group-main{display:flex;align-items:center;gap:10px}
.inventory-group-copy{display:flex;align-items:baseline;gap:10px;min-width:0;flex-wrap:wrap}
.inventory-group-copy strong{font-size:1rem}
.inventory-group-detail{color:var(--muted);font-size:.84rem;font-weight:500}
.inventory-group-toggle{width:24px!important;height:24px!important;min-width:24px!important;border-radius:50%!important;font-size:16px!important;line-height:20px!important;border:1px solid var(--line)!important;background:transparent!important;color:var(--text)!important;margin:0!important}
.inventory-group-toggle:hover,.inventory-group-toggle:focus-visible{background:var(--surface-2)!important}
.inventory-group-child{background:rgba(255,255,255,.018)!important}
html[data-theme="light"] .inventory-group-child{background:rgba(15,35,55,.025)!important}
.inventory-group-child td{border-top-color:rgba(128,145,170,.12)!important}
.inventory-child-indent{display:inline-block;width:10px!important}
.inventory-child-link{display:inline-flex;align-items:center;gap:7px;text-decoration:none;font-weight:600}
.inventory-child-dot{width:5px;height:5px;border-radius:50%;background:var(--muted);opacity:.55}
.inventory-action-group{display:flex;align-items:center;gap:8px;justify-content:flex-end}
.inventory-row-menu{position:relative;display:inline-block}
.inventory-row-menu>summary{list-style:none;width:38px;height:38px;border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text);background:transparent;font-weight:700;letter-spacing:1px;user-select:none}
.inventory-row-menu>summary::-webkit-details-marker{display:none}
.inventory-row-menu[open]>summary,.inventory-row-menu>summary:hover{background:var(--surface-2)}
.inventory-row-menu-panel{position:absolute;right:0;top:calc(100% + 6px);min-width:130px;padding:6px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:0 14px 34px rgba(0,0,0,.28);z-index:40}
.inventory-row-menu-panel a,.inventory-row-menu-panel button{display:block;width:100%;border:0;background:transparent;color:var(--text);text-decoration:none;text-align:left;padding:9px 10px;border-radius:8px;font:inherit;cursor:pointer}
.inventory-row-menu-panel a:hover,.inventory-row-menu-panel button:hover{background:var(--surface-2)}
.inventory-row-menu-panel form{margin:0}.inventory-row-menu-panel .inventory-menu-delete{color:#e74c3c}
@media(max-width:760px){.inventory-group-copy{display:block}.inventory-group-detail{display:block;margin-top:2px}}

.inventory-table td:first-child > a:not(.inventory-child-link){
  color:var(--text) !important;
  text-decoration:none;
}
.inventory-table td:first-child > a:not(.inventory-child-link):hover{
  color:var(--text) !important;
  text-decoration:underline;
}

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

  .inventory-group-row{
    display:block !important;
    width:calc(100vw - 56px) !important;
    max-width:calc(100vw - 56px) !important;
  }

  .inventory-group-row > td{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
    padding:14px 12px !important;
  }

  .inventory-group-summary{
    width:100% !important;
    min-width:0 !important;
  }

  .inventory-group-main{
    width:100% !important;
    min-width:0 !important;
    align-items:flex-start !important;
  }

  .inventory-group-copy{
    min-width:0 !important;
    max-width:calc(100% - 36px) !important;
  }

  .inventory-group-copy strong,
  .inventory-group-detail{
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
  }

  .inventory-group-detail{
    margin-top:3px !important;
  }

  .inventory-group-toggle{
    flex:0 0 24px !important;
  }
}

.inventory-mobile-layout{display:none}
.currency-select{
  color:var(--text)!important;
  background:var(--surface)!important;
  -webkit-text-fill-color:var(--text)!important;
}
.currency-select option{
  color:#111!important;
  background:#fff!important;
}
.inventory-row-menu-panel{
  display:flex!important;
  flex-direction:column!important;
  gap:2px!important;
}
.inventory-row-menu-panel a,
.inventory-row-menu-panel form,
.inventory-row-menu-panel button{
  box-sizing:border-box!important;
  width:100%!important;
  margin:0!important;
}
.inventory-row-menu-panel a,
.inventory-row-menu-panel button{
  display:flex!important;
  align-items:center!important;
  min-height:38px!important;
  padding:9px 10px!important;
  line-height:1.2!important;
}
.inventory-row-menu-panel form{display:block!important}

@media(max-width:760px){
  .inventory-desktop-layout{display:none!important}
  .inventory-mobile-layout{
    display:flex!important;
    flex-direction:column;
    gap:10px;
    width:100%;
  }
  .inventory-mobile-layout [hidden]{display:none!important}
  .mobile-inventory-group,
  .mobile-inventory-item{
    width:100%;
    box-sizing:border-box;
    border:1px solid var(--line);
    border-radius:14px;
    background:var(--surface);
    overflow:visible;
  }
  .mobile-inventory-group-header{
    width:100%;
    border:0;
    background:transparent;
    color:var(--text);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:14px 15px;
    text-align:left;
    font:inherit;
    cursor:pointer;
  }
  .mobile-group-left{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
  }
  .mobile-group-toggle{
    width:24px;
    height:24px;
    min-width:24px;
    border:1px solid var(--line);
    border-radius:50%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-weight:700;
    line-height:1;
  }
  .mobile-group-name{
    font-weight:700;
    white-space:normal;
  }
  .mobile-group-meta{
    color:var(--muted);
    font-size:.78rem;
    white-space:nowrap;
  }
  .mobile-inventory-group-items{
    border-top:1px solid var(--line);
    padding:8px;
  }
  .mobile-inventory-group-items .mobile-inventory-item{
    border-radius:10px;
    margin:8px 0;
    background:var(--surface-2);
  }
  .mobile-inventory-group-items .mobile-inventory-item:first-child{margin-top:0}
  .mobile-inventory-group-items .mobile-inventory-item:last-child{margin-bottom:0}
  .mobile-inventory-item{
    padding:14px;
    overflow:visible;
  }
  .mobile-item-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:12px;
  }
  .mobile-item-name{
    color:var(--text)!important;
    text-decoration:none!important;
    font-weight:700;
    font-size:1rem;
  }
  .mobile-item-details{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px 14px;
  }
  .mobile-item-details>div{
    min-width:0;
  }
  .mobile-item-details span{
    display:block;
    color:var(--muted);
    font-size:.72rem;
    text-transform:uppercase;
    letter-spacing:.04em;
    margin-bottom:2px;
  }
  .mobile-item-details strong{
    display:block;
    color:var(--text);
    font-size:.92rem;
    overflow-wrap:anywhere;
  }
  .mobile-low{
    color:#e75a4f;
    font-style:normal;
    font-size:.78rem;
    margin-left:3px;
  }
  .mobile-item-actions{
    position:relative;
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
    margin-top:14px;
  }
  .mobile-item-actions .btn{
    min-height:38px;
  }
  .mobile-row-menu{
    margin-left:auto;
  }
  .mobile-row-menu .inventory-row-menu-panel{
    right:0!important;
    left:auto!important;
    top:calc(100% + 6px)!important;
    min-width:150px!important;
    z-index:100!important;
  }
}

.currency-choice{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:10px;
}
.currency-option{
  position:relative;
  cursor:pointer;
}
.currency-option input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.currency-option span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:110px;
  min-height:42px;
  padding:8px 14px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--surface);
  color:var(--text);
  font-weight:600;
}
.currency-option input:checked + span{
  background:var(--primary);
  color:#fff;
  border-color:var(--primary);
}
.currency-option input:focus-visible + span{
  outline:2px solid var(--primary);
  outline-offset:2px;
}
@media(max-width:520px){
  .currency-choice{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .currency-option span{
    width:100%;
    min-width:0;
    box-sizing:border-box;
  }
}

.currency-dropdown-wrap{
  max-width:320px;
  margin-top:10px;
}
.currency-dropdown-wrap>label{
  display:block;
  margin-bottom:7px;
}
.currency-dropdown{
  position:relative;
  width:100%;
}
.currency-dropdown>summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:44px;
  width:100%;
  box-sizing:border-box;
  padding:10px 42px 10px 13px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--surface);
  color:var(--text);
  cursor:pointer;
  font-weight:600;
  position:relative;
}
.currency-dropdown>summary::-webkit-details-marker{
  display:none;
}
.currency-dropdown>summary::after{
  content:"▾";
  position:absolute;
  right:14px;
  top:50%;
  transform:translateY(-50%);
  color:var(--muted);
  font-size:14px;
}
.currency-dropdown[open]>summary::after{
  transform:translateY(-50%) rotate(180deg);
}
.currency-dropdown-menu{
  position:absolute;
  left:0;
  right:0;
  top:calc(100% + 6px);
  z-index:100;
  padding:6px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--surface);
  box-shadow:0 14px 34px rgba(0,0,0,.28);
}
.currency-dropdown-menu button{
  display:block;
  width:100%;
  border:0;
  background:transparent;
  color:var(--text);
  text-align:left;
  padding:10px 11px;
  border-radius:8px;
  font:inherit;
  cursor:pointer;
}
.currency-dropdown-menu button:hover,
.currency-dropdown-menu button:focus-visible{
  background:var(--surface-2);
  outline:none;
}

.currency-settings-form{
  display:block!important;
  margin-top:16px!important;
}
.currency-settings-form label{
  display:block!important;
  margin-bottom:7px!important;
  color:var(--text)!important;
}
.currency-native-wrap{
  display:block!important;
  width:100%!important;
  max-width:320px!important;
}
.currency-native-wrap select{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  position:static!important;
  width:100%!important;
  min-height:44px!important;
  padding:10px 40px 10px 12px!important;
  border:1px solid var(--line)!important;
  border-radius:10px!important;
  background-color:var(--surface)!important;
  color:var(--text)!important;
  -webkit-text-fill-color:var(--text)!important;
  font:inherit!important;
  font-weight:600!important;
  appearance:auto!important;
  -webkit-appearance:menulist!important;
}
.currency-native-wrap select option{
  color:#111!important;
  background:#fff!important;
}

#settings-currency{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}
#settings-currency option{
  color:#111111 !important;
  background:#ffffff !important;
  -webkit-text-fill-color:#111111 !important;
}

@media(max-width:760px){
  .mobile-inventory-item{
    padding-bottom:14px;
  }
  .mobile-item-actions{
    display:flex;
    align-items:stretch;
    justify-content:flex-start;
    flex-wrap:nowrap;
    gap:8px;
    margin-top:12px;
    padding-top:12px;
    border-top:1px solid var(--line);
  }
  .mobile-item-actions .btn,
  .mobile-item-actions .inventory-row-menu > summary{
    min-height:42px!important;
    height:42px;
    box-sizing:border-box;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin:0;
  }
  .mobile-item-actions .mobile-remove-btn{
    width:62px;
    min-width:62px;
    padding-left:12px;
    padding-right:12px;
    font-size:1rem;
  }
  .mobile-item-actions .mobile-adjust-btn{
    min-width:96px;
    padding-left:18px;
    padding-right:18px;
  }
  .mobile-item-actions .mobile-sell-btn{
    min-width:74px;
    padding-left:14px;
    padding-right:14px;
  }
  .mobile-item-actions .mobile-row-menu{
    margin-left:0!important;
    flex:0 0 48px;
    width:48px;
  }
  .mobile-item-actions .mobile-row-menu > summary{
    width:48px!important;
    min-width:48px!important;
    padding:0!important;
    border-radius:10px;
  }
  .mobile-item-actions .mobile-row-menu .inventory-row-menu-panel{
    left:0!important;
    right:auto!important;
  }
  .mobile-item-details{
    margin-bottom:0;
  }
}

.adjust-stock-section{
  margin-top:18px;
}
.adjust-stock-subsection{
  margin-top:16px;
}
.adjust-note-section{
  margin-top:18px;
}
#stockAdjustForm .form-grid{
  row-gap:16px;
}
#stockAdjustForm label{
  margin-bottom:7px;
}
#stockAdjustForm > p:last-of-type{
  margin-top:22px;
}
@media(max-width:760px){
  .adjust-stock-section{
    margin-top:20px;
  }
  .adjust-stock-subsection{
    margin-top:18px;
  }
  .adjust-note-section{
    margin-top:20px;
  }
  #stockAdjustForm .form-grid{
    gap:17px;
  }
  #stockAdjustForm label{
    display:block;
    margin-bottom:8px;
  }
}

.inventory-action-modal{
  width:min(760px,calc(100vw - 32px));
  height:min(820px,calc(100vh - 40px));
  max-width:760px;
  max-height:820px;
  padding:0;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--surface);
  color:var(--text);
  overflow:hidden;
}
.inventory-action-modal::backdrop{
  background:rgba(0,0,0,.62);
  backdrop-filter:blur(3px);
}
.inventory-action-modal-shell{
  display:flex;
  flex-direction:column;
  height:100%;
}
.inventory-action-modal-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:58px;
  padding:0 14px 0 18px;
  border-bottom:1px solid var(--line);
  background:var(--surface);
}
.inventory-action-modal-close{
  width:38px;
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--line);
  border-radius:10px;
  background:transparent;
  color:var(--text);
  font-size:26px;
  line-height:1;
  cursor:pointer;
}
.inventory-action-modal-body{
  flex:1;
  min-height:0;
}
#inventoryActionFrame{
  display:block;
  width:100%;
  height:100%;
  border:0;
  background:var(--bg);
}
body.embedded-action-page .topbar,
body.embedded-action-page .impersonation-bar{
  display:none!important;
}
body.embedded-action-page .container{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:14px!important;
}
body.embedded-action-page .card{
  margin:0!important;
  max-width:none!important;
}
@media(max-width:760px){
  .inventory-action-modal{
    width:calc(100vw - 16px);
    height:calc(100vh - 22px);
    max-width:none;
    max-height:none;
    border-radius:14px;
  }
  .inventory-action-modal-header{
    min-height:52px;
    padding:0 10px 0 14px;
  }
  body.embedded-action-page .container{
    padding:10px!important;
  }
}

body.embedded-action-page{
  min-height:0!important;
  background:var(--bg)!important;
}
body.embedded-action-page .embedded-action-container{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:14px!important;
}
body.embedded-action-page .embedded-action-container > .card{
  margin:0!important;
  max-width:none!important;
  border-radius:12px!important;
}
@media(max-width:760px){
  body.embedded-action-page .embedded-action-container{
    padding:10px!important;
  }
}

.coa-preview-modal{width:min(1000px,calc(100vw - 32px));height:min(820px,calc(100vh - 40px));max-width:1000px;max-height:820px;padding:0;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--text);overflow:hidden}.coa-preview-modal::backdrop{background:rgba(0,0,0,.65);backdrop-filter:blur(3px)}.coa-preview-shell{display:flex;flex-direction:column;height:100%}.coa-preview-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px;padding:10px 14px 10px 18px;border-bottom:1px solid var(--line)}.coa-preview-header-actions{display:flex;align-items:center;gap:8px}.coa-preview-close{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:10px;background:transparent;color:var(--text);font-size:26px;line-height:1;cursor:pointer}.coa-preview-body{flex:1;min-height:0;background:#fff}#coaPreviewFrame{display:block;width:100%;height:100%;border:0;background:#fff}@media(max-width:760px){.coa-preview-modal{width:calc(100vw - 14px);height:calc(100vh - 20px);max-width:none;max-height:none;border-radius:14px}.coa-preview-header{align-items:flex-start;flex-direction:column;padding:10px 12px}.coa-preview-header-actions{width:100%;justify-content:space-between}}

.inventory-floating-menu{
  position:fixed;
  z-index:10000;
  min-width:140px;
  padding:6px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface);
  box-shadow:0 14px 34px rgba(0,0,0,.28);
}
.inventory-floating-menu[hidden]{
  display:none!important;
}
.inventory-floating-menu a,
.inventory-floating-menu button{
  display:block;
  width:100%;
  box-sizing:border-box;
  padding:9px 10px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:var(--text);
  text-align:left;
  font:inherit;
  cursor:pointer;
  text-decoration:none;
}
.inventory-floating-menu a:hover,
.inventory-floating-menu button:hover{
  background:var(--surface-2);
}
.inventory-floating-menu form{
  margin:0;
}

.coa-preview-body{
  position:relative;
  overflow:auto;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  background:#fff!important;
}
.coa-preview-loading,
.coa-preview-error{
  padding:28px;
  color:#222;
  font:600 15px/1.4 system-ui,-apple-system,sans-serif;
  text-align:center;
}
.coa-preview-image{
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  margin:0 auto;
  object-fit:contain;
  background:#fff;
}

.coa-preview-body{
  align-items:flex-start!important;
  justify-content:flex-start!important;
  overflow:auto!important;
}
.coa-preview-image{
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  max-height:none!important;
  object-fit:initial!important;
}

.coa-preview-pdf{
  display:block;
  width:100%;
  height:72vh;
  min-height:520px;
  border:0;
  background:#fff;
}
.coa-preview-pdf[hidden]{
  display:none!important;
}
@media(max-width:760px){
  .coa-preview-pdf{
    height:70vh;
    min-height:430px;
  }
}

.coa-preview-body{
  justify-content:center!important;
  background:#f3f5f7!important;
}
.coa-preview-image{
  width:auto!important;
  max-width:min(100%, 1100px)!important;
  height:auto!important;
  max-height:none!important;
  margin:18px auto!important;
  box-shadow:0 2px 12px rgba(0,0,0,.12);
}
@media(max-width:760px){
  .coa-preview-image{
    width:100%!important;
    max-width:100%!important;
    margin:0 auto!important;
    box-shadow:none;
  }
}


.coa-report-column{
  min-width:0;
}

.coa-report-row{
  display:flex;
  align-items:flex-end;
  gap:8px;
  flex-wrap:wrap;
}

@media (min-width:761px){
  .coa-report-column h3{
    margin-bottom:12px;
  }

  .coa-report-row{
    padding-top:28px;
  }

  .coa-report-row .btn{
    width:auto;
    margin:0;
  }
}

@media (max-width:760px){
  .coa-report-row{
    padding-top:0;
  }
}

@media (min-width:761px){
  .coa-report-row{
    transform:translateY(6px);
  }
}

.page-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.page-heading-row.compact{align-items:center;margin-bottom:12px}.page-heading-row h1,.page-heading-row h2{margin-bottom:4px}.back-link{display:inline-block;margin-bottom:8px;color:var(--muted);text-decoration:none}.back-link:hover{color:var(--text)}.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.checkbox-row{display:flex;align-items:center;gap:9px;margin:12px 0}.checkbox-row input{width:auto;margin:0}.inline-form{display:inline}.danger-soft{color:#c33}.text-danger-button{border:0;background:transparent;color:#c33;padding:0;cursor:pointer;font:inherit;text-decoration:underline;text-underline-offset:2px}
.protocol-layout{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:18px;align-items:start}.protocol-create-card{position:sticky;top:88px}.protocol-card-list{display:grid;gap:14px}.protocol-summary-card{margin:0}.protocol-summary-head,.protocol-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.protocol-status{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:700;margin-bottom:8px}.protocol-status.active{background:rgba(47,158,68,.13);color:#2f9e44}.protocol-status.inactive{background:var(--surface-2);color:var(--muted)}.protocol-notes{margin:14px 0 10px}.protocol-detail-grid{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:18px;align-items:start}.protocol-dose-grid{grid-template-columns:minmax(130px,1fr) minmax(100px,.65fr) minmax(180px,1fr)}.protocol-schedule-option{margin:12px 0}.interval-input{display:flex;align-items:center;gap:10px;max-width:220px}.weekday-picker{display:flex;flex-wrap:wrap;gap:8px}.weekday-picker label{margin:0}.weekday-picker input{position:absolute;opacity:0;pointer-events:none}.weekday-picker span{display:inline-flex;align-items:center;justify-content:center;min-width:48px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);cursor:pointer}.weekday-picker input:checked+span{background:var(--primary);border-color:var(--primary);color:#fff}.protocol-items-section{margin-top:22px}.protocol-item-list{display:grid;gap:14px}.protocol-item-card{margin:0}.protocol-dose-line{font-weight:700;margin:3px 0}.protocol-next-dose{display:flex;flex-direction:column;align-items:flex-end;text-align:right;gap:3px;min-width:185px}.protocol-next-dose span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.protocol-next-dose.overdue strong{color:#c33}.protocol-next-dose.today strong{color:#d28b00}.protocol-links-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:12px;font-size:14px}.protocol-log-actions{display:flex;align-items:flex-start;gap:10px;margin-top:14px}.protocol-log-details{flex:1}.protocol-log-details>summary{display:inline-flex;list-style:none;cursor:pointer}.protocol-log-details>summary::-webkit-details-marker{display:none}.protocol-log-form{margin-top:12px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.protocol-log-grid{grid-template-columns:1.3fr .7fr .6fr}.protocol-delete-item{margin-top:14px}.protocol-history-card{margin-top:22px}.dashboard-protocol-card{margin-top:18px}.dashboard-dose-list{display:grid;gap:0}.dashboard-dose-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0;border-top:1px solid var(--line);color:var(--text);text-decoration:none}.dashboard-dose-row:first-child{border-top:0}.dashboard-dose-row>div:first-child{display:flex;flex-direction:column;gap:3px}.dashboard-dose-row>div:first-child span{color:var(--muted);font-size:13px}
.knowledge-filter-card{margin-bottom:18px}.knowledge-filter-form{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,.55fr) auto auto;gap:10px;align-items:end}.knowledge-filter-form label{margin-top:0}.knowledge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.knowledge-card{display:block;margin:0;color:var(--text);text-decoration:none;transition:transform .15s ease,border-color .15s ease}.knowledge-card:hover{transform:translateY(-2px);border-color:var(--primary)}.knowledge-card h2{margin:8px 0}.knowledge-category{display:inline-flex;border-radius:999px;padding:4px 8px;background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:700}.knowledge-read-more{font-weight:700;color:var(--primary)}.knowledge-article-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px;align-items:start}.knowledge-article{margin:0}.knowledge-disclaimer{position:sticky;top:88px;margin:0}.knowledge-hero-image{display:block;width:100%;max-height:420px;object-fit:cover;border-radius:12px;margin-bottom:18px}.knowledge-meta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding-bottom:16px;border-bottom:1px solid var(--line);color:var(--muted);font-size:13px}.knowledge-section{padding:18px 0;border-bottom:1px solid var(--line)}.knowledge-section:last-child{border-bottom:0}.knowledge-section h2{margin:0 0 9px}.knowledge-copy{white-space:normal;line-height:1.65}.knowledge-editor textarea{width:100%}.knowledge-admin-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center}
@media(max-width:980px){.knowledge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.protocol-layout,.protocol-detail-grid,.knowledge-article-layout{grid-template-columns:1fr}.protocol-create-card,.knowledge-disclaimer{position:static}.knowledge-disclaimer{order:-1}}
@media(max-width:760px){.page-heading-row{flex-direction:column;align-items:stretch}.page-heading-row .actions{width:100%}.page-heading-row .actions .btn{flex:1}.protocol-layout{display:block}.protocol-create-card{margin-bottom:14px}.two-col,.protocol-dose-grid,.protocol-log-grid,.knowledge-filter-form,.knowledge-grid{grid-template-columns:1fr}.protocol-summary-head,.protocol-item-head,.dashboard-dose-row{align-items:stretch;flex-direction:column}.protocol-next-dose{align-items:flex-start;text-align:left;min-width:0}.protocol-log-actions{flex-direction:column}.protocol-log-actions>*{width:100%}.protocol-log-details>summary{width:100%;justify-content:center}.knowledge-admin-actions{justify-content:flex-start;flex-wrap:wrap}.weekday-picker span{min-width:42px;padding:8px}.dashboard-dose-row .protocol-next-dose{padding-top:2px}}
.knowledge-reference{margin:7px 0;overflow-wrap:anywhere}

.recon-card{max-width:900px}
.recon-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.recon-grid label>span{display:block;font-weight:700;margin-bottom:7px}
.input-with-unit,.recon-dose-input{display:flex;align-items:stretch}
.input-with-unit input,.recon-dose-input input{min-width:0;flex:1;border-top-right-radius:0;border-bottom-right-radius:0}
.input-with-unit>span{display:flex;align-items:center;padding:0 14px;border:1px solid var(--border);border-left:0;border-radius:0 8px 8px 0;background:var(--surface-2);font-weight:700}
.recon-dose-input select{width:95px;border-left:0;border-radius:0 8px 8px 0}
.recon-results{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:22px}
.recon-results>div{padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}
.recon-results span{display:block;font-size:.82rem;color:var(--muted);margin-bottom:6px}
.recon-results strong{font-size:1.05rem}
.recon-notice{margin-top:18px}
@media(max-width:760px){
  .recon-grid{grid-template-columns:1fr}
  .recon-results{grid-template-columns:1fr 1fr}
  .recon-results>div:last-child{grid-column:1/-1}
}


/* Protocol detail page */
.protocol-detail-page .protocol-top-grid{
  align-items:start;
  gap:24px;
  grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr);
}

.protocol-detail-page .protocol-settings-card,
.protocol-detail-page .protocol-schedule-card{
  padding:28px;
  border-radius:18px;
}

.protocol-detail-page .protocol-settings-card h2,
.protocol-detail-page .protocol-schedule-card h2{
  margin:0;
}

.protocol-detail-page .protocol-section-intro{
  margin:6px 0 22px;
  font-size:.95rem;
}

.protocol-detail-page .protocol-settings-card form,
.protocol-detail-page .protocol-schedule-card form{
  display:grid;
  gap:18px;
}

.protocol-detail-page .protocol-settings-card label,
.protocol-detail-page .protocol-schedule-card label{
  display:block;
  margin:0;
  font-weight:700;
}

.protocol-detail-page .protocol-settings-card input,
.protocol-detail-page .protocol-settings-card select,
.protocol-detail-page .protocol-settings-card textarea,
.protocol-detail-page .protocol-schedule-card input,
.protocol-detail-page .protocol-schedule-card select,
.protocol-detail-page .protocol-schedule-card textarea{
  margin-top:7px;
}

.protocol-detail-page .protocol-settings-card textarea,
.protocol-detail-page .protocol-schedule-card textarea{
  min-height:96px;
  resize:vertical;
}

.protocol-detail-page .protocol-settings-card .grid,
.protocol-detail-page .protocol-schedule-card .grid{
  gap:16px;
}

.protocol-detail-page .protocol-settings-card .btn,
.protocol-detail-page .protocol-schedule-card .btn{
  justify-self:start;
  min-height:46px;
  padding:0 18px;
}

.protocol-detail-page .protocol-settings-card input[type="checkbox"],
.protocol-detail-page .protocol-schedule-card input[type="checkbox"]{
  margin-top:0;
}

.protocol-detail-page .protocol-settings-card label:has(input[type="checkbox"]),
.protocol-detail-page .protocol-schedule-card label:has(input[type="checkbox"]){
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:700;
}

@media (max-width:980px){
  .protocol-detail-page .protocol-top-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:760px){
  .protocol-detail-page .protocol-settings-card,
  .protocol-detail-page .protocol-schedule-card{
    padding:20px;
    border-radius:14px;
  }

  .protocol-detail-page .protocol-settings-card form,
  .protocol-detail-page .protocol-schedule-card form{
    gap:15px;
  }

  .protocol-detail-page .protocol-settings-card .btn,
  .protocol-detail-page .protocol-schedule-card .btn{
    width:100%;
  }
}


/* Protocol schedule cards and history */
.protocol-detail-page .protocol-items-section{
  margin-top:30px;
}

.protocol-detail-page .protocol-section-heading{
  margin-bottom:14px;
}

.protocol-detail-page .protocol-section-heading h2{
  margin:0;
}

.protocol-detail-page .protocol-section-heading p{
  margin:5px 0 0;
}

.protocol-detail-page .protocol-item-list{
  display:grid;
  gap:16px;
}

.protocol-detail-page .protocol-item-card{
  padding:24px 28px;
  border-radius:18px;
}

.protocol-detail-page .protocol-item-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:start;
}

.protocol-detail-page .protocol-status{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:3px 10px;
  border-radius:999px;
  font-size:.82rem;
  font-weight:800;
  line-height:1;
  margin-bottom:10px;
}

.protocol-detail-page .protocol-item-card h3{
  margin:0 0 14px;
  font-size:1.2rem;
}

.protocol-detail-page .protocol-item-meta{
  display:grid;
  gap:4px;
}

.protocol-detail-page .protocol-dose-line{
  font-size:1.05rem;
  font-weight:800;
}

.protocol-detail-page .protocol-next-dose{
  min-width:190px;
  padding:12px 14px;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--surface-2);
  text-align:right;
}

.protocol-detail-page .protocol-next-dose span{
  display:block;
  margin-bottom:4px;
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--muted);
}

.protocol-detail-page .protocol-next-dose strong{
  font-size:1rem;
}

.protocol-detail-page .protocol-links-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:18px 0 0;
}

.protocol-detail-page .protocol-links-row a{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:6px 10px;
  border:1px solid var(--border);
  border-radius:9px;
  background:var(--surface-2);
  text-decoration:none;
  font-size:.88rem;
  font-weight:700;
}

.protocol-detail-page .protocol-log-actions{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid var(--border);
}

.protocol-detail-page .protocol-log-actions > form{
  margin-left:auto;
}

.protocol-detail-page .protocol-log-details{
  flex:1;
}

.protocol-detail-page .protocol-log-details summary{
  width:max-content;
  list-style:none;
  cursor:pointer;
}

.protocol-detail-page .protocol-log-details summary::-webkit-details-marker{
  display:none;
}

.protocol-detail-page .protocol-log-form{
  display:grid;
  gap:14px;
  margin-top:14px;
  padding:16px;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--surface-2);
}

.protocol-detail-page .protocol-delete-item{
  margin-top:14px;
  padding-top:14px;
  border-top:1px dashed var(--border);
}

.protocol-detail-page .protocol-delete-item .text-danger-button{
  font-size:.9rem;
}

.protocol-detail-page .protocol-history-card{
  margin-top:18px;
  padding:26px 28px;
  border-radius:18px;
}

.protocol-detail-page .protocol-history-head{
  margin-bottom:16px;
}

.protocol-detail-page .protocol-history-head h2{
  margin:0;
}

.protocol-detail-page .protocol-history-head p{
  margin:5px 0 0;
}

.protocol-detail-page .protocol-history-card > .muted{
  margin:0;
}

.protocol-detail-page .protocol-history-card .table-wrap{
  margin-top:6px;
}

@media (max-width:760px){
  .protocol-detail-page .protocol-item-card{
    padding:20px;
  }

  .protocol-detail-page .protocol-item-head{
    grid-template-columns:1fr;
    gap:14px;
  }

  .protocol-detail-page .protocol-next-dose{
    min-width:0;
    width:100%;
    text-align:left;
  }

  .protocol-detail-page .protocol-links-row{
    gap:7px;
  }

  .protocol-detail-page .protocol-links-row a{
    flex:1 1 auto;
    justify-content:center;
  }

  .protocol-detail-page .protocol-log-actions{
    flex-direction:column;
  }

  .protocol-detail-page .protocol-log-actions > form,
  .protocol-detail-page .protocol-log-details,
  .protocol-detail-page .protocol-log-details summary{
    width:100%;
    margin-left:0;
  }

  .protocol-detail-page .protocol-log-actions .btn{
    width:100%;
  }

  .protocol-detail-page .protocol-history-card{
    padding:20px;
  }
}


/* Protocol page layout correction */
.protocol-detail-page .page-heading-row{
  margin-bottom:24px;
}

.protocol-detail-page .page-heading-row h1{
  margin:8px 0 5px;
}

.protocol-detail-page .protocol-top-grid{
  display:grid;
  grid-template-columns:minmax(320px,.72fr) minmax(620px,1.28fr);
  gap:24px;
  align-items:start;
}

.protocol-detail-page .protocol-settings-card,
.protocol-detail-page .protocol-schedule-card{
  margin:0;
  padding:26px 28px 28px;
  border-radius:18px;
}

.protocol-detail-page .protocol-card-head{
  margin-bottom:22px;
  padding-bottom:16px;
  border-bottom:1px solid var(--line);
}

.protocol-detail-page .protocol-card-head h2{
  margin:0;
  line-height:1.2;
}

.protocol-detail-page .protocol-card-head p{
  margin:6px 0 0;
  line-height:1.4;
}

.protocol-detail-page .protocol-form{
  display:grid;
  gap:18px;
}

.protocol-detail-page .protocol-form .field{
  display:grid;
  gap:7px;
  min-width:0;
}

.protocol-detail-page .protocol-form .field > label{
  margin:0;
  line-height:1.25;
  font-weight:700;
}

.protocol-detail-page .protocol-form .field input,
.protocol-detail-page .protocol-form .field select,
.protocol-detail-page .protocol-form .field textarea{
  width:100%;
  margin:0;
}

.protocol-detail-page .protocol-form .form-grid{
  margin:0;
  gap:16px;
  align-items:start;
}

.protocol-detail-page .protocol-form .two-col{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.protocol-detail-page .protocol-dose-grid{
  grid-template-columns:minmax(180px,1fr) minmax(110px,.55fr) minmax(210px,1fr);
}

.protocol-detail-page .protocol-form textarea{
  min-height:104px;
  resize:vertical;
}

.protocol-detail-page .protocol-checkbox{
  display:flex;
  align-items:center;
  gap:10px;
  width:max-content;
  margin:0;
  padding:2px 0;
  font-weight:700;
}

.protocol-detail-page .protocol-checkbox input{
  width:auto;
  margin:0;
}

.protocol-detail-page .protocol-form-actions{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:0;
  padding-top:2px;
}

.protocol-detail-page .protocol-form-actions .btn{
  margin:0;
}

.protocol-detail-page .protocol-schedule-option{
  margin:0;
}

.protocol-detail-page .interval-input{
  margin:0;
}

.protocol-detail-page .weekday-picker{
  margin-top:2px;
}

@media (max-width:1180px){
  .protocol-detail-page .protocol-top-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:760px){
  .protocol-detail-page .page-heading-row{
    margin-bottom:16px;
  }

  .protocol-detail-page .protocol-settings-card,
  .protocol-detail-page .protocol-schedule-card{
    padding:20px;
  }

  .protocol-detail-page .protocol-card-head{
    margin-bottom:18px;
    padding-bottom:14px;
  }

  .protocol-detail-page .protocol-form{
    gap:15px;
  }

  .protocol-detail-page .protocol-form .two-col,
  .protocol-detail-page .protocol-dose-grid{
    grid-template-columns:1fr;
  }

  .protocol-detail-page .protocol-form-actions{
    flex-direction:column;
    align-items:stretch;
  }

  .protocol-detail-page .protocol-form-actions .btn{
    width:100%;
    justify-content:center;
  }
}


/* Protocol action button alignment fix */
.protocol-detail-page .protocol-form-actions .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 18px;
  line-height:1;
  vertical-align:middle;
}

.protocol-detail-page .protocol-form-actions a.btn{
  text-decoration:none;
}

/* v142: keep future protocol actions visible but unavailable until their scheduled day. */
.btn:disabled{opacity:.45;cursor:not-allowed;filter:saturate(.45)}
.protocol-disabled-action{display:inline-block;cursor:help}
.protocol-disabled-action .btn:disabled{pointer-events:none}


/* Protocol future-dose disabled state */
.protocol-detail-page .protocol-log-actions-disabled .btn:disabled,
.protocol-detail-page .protocol-log-actions-disabled .btn.secondary:disabled{
  background:#d7dce5 !important;
  border-color:#c8ced8 !important;
  color:#7a8494 !important;
  box-shadow:none !important;
  opacity:1 !important;
  cursor:not-allowed !important;
  transform:none !important;
}
.protocol-detail-page .protocol-disabled-action{
  display:inline-block;
}
.protocol-detail-page .protocol-availability-note{
  margin-top:8px;
  color:var(--muted, #687386);
  font-size:12px;
  line-height:1.4;
}
@media(max-width:760px){
  .protocol-detail-page .protocol-disabled-action{width:100%;}
}


/* v144: tidy protocol card actions and unmistakable future-dose disabled state */
.protocol-detail-page .protocol-links-row{
  margin-top:18px;
}
.protocol-detail-page .protocol-links-row .protocol-edit-button{
  min-height:38px;
  padding:9px 14px;
  font-size:14px;
}
.protocol-detail-page .protocol-log-actions{
  justify-content:flex-start;
  align-items:center;
}
.protocol-detail-page .protocol-log-actions > form{
  margin-left:0;
}
.protocol-detail-page .protocol-log-actions-disabled{
  justify-content:flex-start;
}
.protocol-detail-page .protocol-log-actions-disabled .protocol-disabled-action{
  display:inline-flex;
}
.protocol-detail-page .protocol-log-actions-disabled .protocol-future-disabled,
.protocol-detail-page .protocol-log-actions-disabled .protocol-future-disabled:hover,
html[data-theme="dark"] .protocol-detail-page .protocol-log-actions-disabled .protocol-future-disabled,
html[data-theme="dark"] .protocol-detail-page .protocol-log-actions-disabled .protocol-future-disabled:hover{
  background:#596270 !important;
  border:1px solid #687281 !important;
  color:#c4cad2 !important;
  box-shadow:none !important;
  opacity:.62 !important;
  filter:none !important;
  transform:none !important;
  cursor:not-allowed !important;
}
.protocol-detail-page .protocol-availability-note{
  margin-top:7px;
  padding-left:2px;
  color:var(--text-soft);
  font-size:.78rem;
}
.protocol-detail-page .protocol-delete-item{
  display:flex;
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid var(--line);
}
.protocol-detail-page .protocol-delete-item .protocol-delete-button{
  width:auto;
  font-size:14px;
  text-decoration:none;
}
@media(max-width:760px){
  .protocol-detail-page .protocol-links-row .protocol-edit-button,
  .protocol-detail-page .protocol-delete-item .protocol-delete-button{
    width:100%;
    justify-content:center;
  }
  .protocol-detail-page .protocol-log-actions-disabled .protocol-disabled-action{
    width:100%;
  }
  .protocol-detail-page .protocol-log-actions-disabled .protocol-future-disabled{
    width:100%;
  }
}

/* v145: unified schedule action row */
.protocol-detail-page .protocol-card-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:20px;
  padding-top:16px;
  border-top:1px solid var(--line);
}
.protocol-detail-page .protocol-card-actions .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 16px;
  border-radius:10px;
  font-size:14px;
  font-weight:700;
  line-height:1;
  text-decoration:none;
}
.protocol-detail-page .protocol-card-actions .protocol-edit-button{
  background:var(--surface-2) !important;
  border:1px solid var(--line) !important;
  color:var(--text) !important;
}
.protocol-detail-page .protocol-card-actions .protocol-edit-button:hover{
  border-color:var(--primary) !important;
  color:var(--primary) !important;
}
.protocol-detail-page .protocol-card-actions .protocol-delete-item,
.protocol-detail-page .protocol-card-actions .protocol-inline-action{
  display:inline-flex;
  margin:0;
  padding:0;
  border:0;
}
.protocol-detail-page .protocol-card-actions .protocol-log-details{
  flex:0 0 auto;
}
.protocol-detail-page .protocol-card-actions .protocol-disabled-action{
  display:inline-flex;
  cursor:help;
}
.protocol-detail-page .protocol-card-actions .protocol-future-disabled,
.protocol-detail-page .protocol-card-actions .protocol-future-disabled:hover,
html[data-theme="dark"] .protocol-detail-page .protocol-card-actions .protocol-future-disabled,
html[data-theme="dark"] .protocol-detail-page .protocol-card-actions .protocol-future-disabled:hover{
  background:#3f4650 !important;
  border:1px solid #505866 !important;
  color:#8f99a8 !important;
  opacity:1 !important;
  filter:none !important;
  box-shadow:none !important;
  cursor:not-allowed !important;
  transform:none !important;
}
.protocol-detail-page .protocol-availability-note{
  margin-top:8px !important;
  padding-left:0 !important;
  font-size:12px !important;
  color:var(--muted) !important;
}
@media(max-width:760px){
  .protocol-detail-page .protocol-card-actions{
    gap:8px;
  }
  .protocol-detail-page .protocol-card-actions .btn{
    min-height:40px;
    padding:9px 12px;
    font-size:13px;
  }
}
.protocol-detail-page .protocol-reference-links{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:12px;
  font-size:13px;
}
.protocol-detail-page .protocol-action-details{position:relative;}
.protocol-detail-page .protocol-action-details[open] .protocol-log-form{
  position:absolute;
  z-index:20;
  top:50px;
  left:0;
  width:min(660px,calc(100vw - 64px));
  box-shadow:0 18px 40px rgba(0,0,0,.28);
}


/* v147: schedule actions stay on one row */
.protocol-detail-page .protocol-card-actions{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  flex-wrap:nowrap !important;
  gap:10px !important;
  margin-top:18px !important;
}
.protocol-detail-page .protocol-card-actions > *{
  flex:0 0 auto !important;
  width:auto !important;
  margin:0 !important;
}
.protocol-detail-page .protocol-card-actions form.protocol-delete-item,
.protocol-detail-page .protocol-card-actions form.protocol-inline-action{
  display:inline-flex !important;
  align-items:center !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  width:auto !important;
}
.protocol-detail-page .protocol-card-actions .protocol-edit-button,
.protocol-detail-page .protocol-card-actions .protocol-delete-button,
.protocol-detail-page .protocol-card-actions .protocol-future-disabled,
.protocol-detail-page .protocol-card-actions .protocol-inline-action .btn,
.protocol-detail-page .protocol-card-actions .protocol-log-details > summary{
  width:auto !important;
  margin:0 !important;
  white-space:nowrap !important;
}
.protocol-detail-page .protocol-card-actions .protocol-log-details{
  flex:0 0 auto !important;
  margin:0 !important;
}
.protocol-detail-page .protocol-availability-note{display:none !important;}
@media(max-width:760px){
  .protocol-detail-page .protocol-card-actions{
    overflow-x:auto !important;
    overflow-y:visible !important;
    padding-bottom:4px;
    -webkit-overflow-scrolling:touch;
  }
  .protocol-detail-page .protocol-card-actions .btn{
    width:auto !important;
  }
}


/* v148: action buttons are direct flex children; POST forms live outside the row */
.protocol-detail-page .protocol-card-actions{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  flex-wrap:nowrap !important;
  gap:14px !important;
  margin-top:18px !important;
  width:100% !important;
}
.protocol-detail-page .protocol-card-actions > .btn,
.protocol-detail-page .protocol-card-actions > .protocol-disabled-action,
.protocol-detail-page .protocol-card-actions > .protocol-action-details{
  flex:0 0 auto !important;
  margin:0 !important;
}
.protocol-detail-page .protocol-card-actions > .btn{
  width:auto !important;
  min-width:0 !important;
}
.protocol-detail-page .protocol-card-actions .protocol-edit-button{
  margin-right:0 !important;
}
.protocol-detail-page .protocol-card-actions .protocol-delete-button{
  margin-left:0 !important;
}
.protocol-detail-page .protocol-hidden-action-form{
  display:none !important;
}
@media(max-width:760px){
  .protocol-detail-page .protocol-card-actions{
    gap:10px !important;
    overflow-x:auto !important;
    overflow-y:visible !important;
    padding-bottom:4px !important;
    -webkit-overflow-scrolling:touch;
  }
}

/* v149: cleaner schedule action spacing; destructive action right aligned */
.protocol-detail-page .protocol-card-actions{
  gap:22px !important;
  margin-top:30px !important;
}
.protocol-detail-page .protocol-card-actions .protocol-delete-button{
  margin-left:auto !important;
}
@media(max-width:760px){
  .protocol-detail-page .protocol-card-actions{
    gap:14px !important;
    margin-top:24px !important;
  }
  .protocol-detail-page .protocol-card-actions .protocol-delete-button{
    margin-left:auto !important;
  }
}


/* v150: schedule action row spacing + cache-busted stylesheet */
.protocol-detail-page .protocol-card-actions{
  display:flex !important;
  align-items:center !important;
  flex-wrap:nowrap !important;
  width:100% !important;
  gap:18px !important;
  margin-top:34px !important;
  padding-top:0 !important;
  border-top:0 !important;
}
.protocol-detail-page .protocol-card-actions .protocol-delete-button{
  margin-left:auto !important;
}
@media(max-width:760px){
  .protocol-detail-page .protocol-card-actions{
    gap:14px !important;
    margin-top:28px !important;
    overflow-x:auto !important;
    overflow-y:visible !important;
    padding-bottom:4px !important;
  }
  .protocol-detail-page .protocol-card-actions .protocol-delete-button{
    margin-left:auto !important;
  }
}

/* v151: mobile protocol forms - compact controls and buttons */
@media (max-width:760px){
  /* Protocol list: keep the Open action compact instead of stretching across the card. */
  .protocol-summary-card .protocol-summary-head{
    gap:14px;
  }
  .protocol-summary-card .protocol-summary-head > .btn{
    width:auto !important;
    align-self:flex-start !important;
    min-width:92px;
    justify-content:center;
  }

  /* Prevent iOS date/time/select controls from claiming an oversized intrinsic width. */
  .protocol-create-card input,
  .protocol-create-card select,
  .protocol-create-card textarea,
  .protocol-detail-page .protocol-form input,
  .protocol-detail-page .protocol-form select,
  .protocol-detail-page .protocol-form textarea{
    min-width:0 !important;
    max-width:100% !important;
  }

  /* Date/time/select rows read better as compact controls on a phone. */
  .protocol-create-card input[type="date"],
  .protocol-detail-page .protocol-form input[type="date"],
  .protocol-detail-page .protocol-form input[type="time"],
  .protocol-detail-page .protocol-form select{
    width:min(100%, 320px) !important;
    justify-self:start !important;
  }

  /* Small numeric/unit fields do not need to span the full card either. */
  .protocol-detail-page .protocol-dose-grid .field input,
  .protocol-detail-page .protocol-dose-grid .field select,
  .protocol-detail-page .interval-input input{
    width:min(100%, 240px) !important;
    justify-self:start !important;
  }

  /* Keep the main text/notes fields comfortably within the card edges. */
  .protocol-create-card,
  .protocol-detail-page .protocol-settings-card,
  .protocol-detail-page .protocol-schedule-card{
    overflow:hidden;
  }
}


/* v152: protocol list actions share one row; compact Open, Delete right aligned */
.protocol-summary-actions{
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:18px;
  width:100%;
}
.protocol-summary-actions .protocol-open-button{
  width:auto !important;
  min-width:0 !important;
  padding-left:18px;
  padding-right:18px;
}
.protocol-summary-actions .protocol-summary-delete{
  margin:0 0 0 auto !important;
  width:auto !important;
}
.protocol-summary-actions .protocol-summary-delete .btn{
  width:auto !important;
}
@media(max-width:760px){
  .protocol-summary-card .protocol-summary-head{
    display:block !important;
  }
  .protocol-summary-actions{
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    gap:18px !important;
    margin-top:18px !important;
  }
  .protocol-summary-actions .protocol-open-button,
  .protocol-summary-actions .protocol-summary-delete,
  .protocol-summary-actions .protocol-summary-delete .btn{
    flex:0 0 auto !important;
    width:auto !important;
  }
  .protocol-summary-actions .protocol-summary-delete{
    margin-left:auto !important;
  }
}

/* v154: public sales COA/test panel respects the active theme */
.public-shop .public-tests{
  background:var(--surface-2, var(--surface)) !important;
  color:var(--text) !important;
  border:1px solid var(--line) !important;
  box-shadow:none !important;
}
.public-shop .public-tests strong,
.public-shop .public-tests span{
  color:var(--text) !important;
}
.public-shop .public-tests a{
  color:var(--accent) !important;
  font-weight:600;
}

/* v155: align COA action buttons with the Save batch name button */
@media (min-width:761px){
  .batch-edit-panel .coa-report-row{
    transform:translateY(-4px) !important;
  }
}

/* v156: batch public-sale state inherited from whole-item setting */
.batch-public-toggle-inherited{cursor:not-allowed;opacity:.82}
.batch-public-toggle-inherited input:disabled + .batch-public-slider{cursor:not-allowed}

/* v158: solid, self-contained log injection popover */
.protocol-detail-page .protocol-action-details[open]{
  z-index:60 !important;
}
.protocol-detail-page .protocol-action-details[open] > summary{
  position:relative;
  z-index:62;
}
.protocol-detail-page .protocol-action-details[open] .protocol-log-form{
  position:absolute !important;
  z-index:61 !important;
  top:calc(100% + 12px) !important;
  left:0 !important;
  width:min(720px,calc(100vw - 72px)) !important;
  margin:0 !important;
  padding:20px !important;
  background:var(--surface) !important;
  opacity:1 !important;
  border:1px solid var(--border) !important;
  border-radius:14px !important;
  box-shadow:0 22px 55px rgba(0,0,0,.58) !important;
  isolation:isolate;
}
.protocol-detail-page .protocol-action-details[open] .protocol-log-form input,
.protocol-detail-page .protocol-action-details[open] .protocol-log-form select,
.protocol-detail-page .protocol-action-details[open] .protocol-log-form textarea{
  background:var(--bg) !important;
  opacity:1 !important;
}
@media(max-width:760px){
  .protocol-detail-page .protocol-action-details[open] .protocol-log-form{
    position:fixed !important;
    left:16px !important;
    right:16px !important;
    top:50% !important;
    width:auto !important;
    max-height:calc(100vh - 40px) !important;
    overflow:auto !important;
    transform:translateY(-50%);
  }
}


/* v160: consolidated administrator area */
.admin-panel-heading{margin-bottom:18px}
.admin-panel-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-bottom:18px;
}
.admin-panel-card{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:18px;
  text-decoration:none;
  color:inherit;
  min-height:180px;
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}
.admin-panel-card:hover{
  transform:translateY(-2px);
  border-color:var(--accent,#3b82f6);
}
.admin-panel-icon{
  width:58px;
  height:58px;
  border-radius:16px;
  display:grid;
  place-items:center;
  font-size:28px;
  background:rgba(56,132,177,.13);
  border:1px solid var(--border);
}
.admin-panel-card-copy h2{margin:0 0 8px}
.admin-panel-card-copy p{margin:0 0 16px;line-height:1.5}
.admin-panel-stats{display:flex;flex-wrap:wrap;gap:10px 18px;font-size:.92rem}
.admin-panel-stats span{color:var(--muted)}
.admin-panel-stats strong{color:var(--text);font-size:1.05rem}
.admin-panel-arrow{font-size:28px;color:var(--muted)}
.admin-panel-info{margin-top:0}
.admin-users-heading{margin-bottom:18px}
@media(max-width:760px){
  .admin-panel-grid{grid-template-columns:1fr;gap:14px}
  .admin-panel-card{min-height:0;padding:18px;grid-template-columns:auto 1fr auto;gap:14px}
  .admin-panel-icon{width:48px;height:48px;border-radius:14px;font-size:24px}
  .admin-panel-arrow{font-size:24px}
}

/* v161 — dashboard shell redesign */
:root{--app-blue:#0877d1;--app-blue-deep:#123c79;--app-navy:#102442;--app-bg:#f5f6f8;--app-panel:#fff;--app-line:#e5e7eb;--app-soft:#f0f6fd;--sidebar-w:252px;--topbar-h:76px}
html[data-theme="dark"]{--app-bg:#0d1521;--app-panel:#141f2e;--app-line:#263447;--app-soft:#172b43;--app-navy:#f1f6fc}
body{background:var(--app-bg);color:var(--text,#172033)}
.app-shell{min-height:100vh}.app-sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-w);background:var(--app-panel);border-right:1px solid var(--app-line);z-index:90;display:flex;flex-direction:column;padding:0 12px}.sidebar-brand{height:var(--topbar-h);display:flex;align-items:center;gap:12px;padding:0 12px;text-decoration:none;color:var(--app-navy);font-size:21px;font-weight:850;border-bottom:1px solid var(--app-line);margin:0 -12px 8px;padding-left:22px}.sidebar-brand img{width:34px;height:34px}.sidebar-nav{overflow-y:auto;padding:3px 0 16px;scrollbar-width:thin}.sidebar-group{padding:8px 0}.sidebar-label{display:block;padding:4px 12px 7px;color:#8a919d;font-size:11px;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.sidebar-link{display:flex;align-items:center;gap:11px;min-height:42px;padding:9px 11px;margin:2px 0;border-radius:9px;text-decoration:none;color:#4d5562;font-size:14px;font-weight:650;transition:.15s ease}.sidebar-link:hover{background:var(--app-soft);color:var(--app-blue)}.sidebar-link.active{background:#e7f2fd;color:#0877d1}.nav-icon{width:23px;height:23px;display:grid;place-items:center;font-size:17px;line-height:1}.sidebar-footer{margin-top:auto;border-top:1px solid var(--app-line);padding:10px 0 12px}.app-main{min-height:100vh;margin-left:var(--sidebar-w)}.app-topbar{height:var(--topbar-h);position:sticky;top:0;z-index:70;background:color-mix(in srgb,var(--app-panel) 96%,transparent);border-bottom:1px solid var(--app-line);display:grid;grid-template-columns:minmax(170px,1fr) minmax(320px,540px) minmax(240px,1fr);align-items:center;gap:22px;padding:0 28px;backdrop-filter:blur(12px)}.topbar-title{display:flex;align-items:center;gap:10px;color:var(--app-navy);font-size:20px}.mobile-menu-button{display:none;border:0;background:none;font-size:22px;color:inherit}.global-search{height:44px;display:flex;align-items:center;gap:10px;border:1px solid var(--app-line);border-radius:10px;padding:0 12px;background:var(--app-panel);box-shadow:0 1px 2px rgba(15,23,42,.03)}.global-search>span{font-size:21px;color:#8c929b}.global-search input{border:0!important;box-shadow:none!important;background:transparent!important;padding:0!important;min-height:0!important;outline:0;color:inherit}.global-search kbd{font:600 11px/1 system-ui;color:#9096a0;background:var(--app-bg);border:1px solid var(--app-line);padding:5px 6px;border-radius:6px;white-space:nowrap}.topbar-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px}.theme-icon-button{width:42px;height:42px;border:1px solid var(--app-line);border-radius:10px;background:var(--app-panel);color:inherit;cursor:pointer}.user-chip{height:48px;display:flex;align-items:center;gap:9px;padding:5px 10px 5px 6px;border:1px solid var(--app-line);border-radius:11px;color:inherit;text-decoration:none;background:var(--app-panel)}.user-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#0877d1;color:white;font-weight:800}.user-chip-copy{display:flex;flex-direction:column;min-width:90px}.user-chip-copy strong{font-size:13px}.user-chip-copy small{font-size:11px;color:var(--muted)}.app-content.container{max-width:1500px;margin:0 auto;padding:28px 30px 48px}.app-content>.flash{margin-bottom:16px}.dashboard-welcome{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.dashboard-welcome h1{margin:2px 0 4px;font-size:27px;color:var(--app-navy)}.dashboard-welcome p{margin:0;color:var(--muted)}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.12em;color:var(--app-blue)}.dashboard-quick-actions{display:flex;gap:8px}.dashboard-hero{min-height:260px;border-radius:16px;background:linear-gradient(120deg,#173b77 0%,#1267c5 100%);color:white;padding:32px;display:flex;align-items:stretch;justify-content:space-between;gap:34px;margin-bottom:20px;box-shadow:0 10px 30px rgba(17,76,148,.14);overflow:hidden;position:relative}.dashboard-hero:after{content:"";position:absolute;width:360px;height:360px;border-radius:50%;right:-100px;top:-180px;border:70px solid rgba(255,255,255,.05)}.hero-copy{max-width:650px;position:relative;z-index:1}.hero-kicker{font-size:11px;font-weight:800;letter-spacing:.14em;color:#b9d9ff}.hero-copy h2{font-size:31px;line-height:1.12;margin:10px 0 10px;color:white}.hero-copy p{max-width:600px;color:#d4e5fb;line-height:1.55;margin:0 0 23px}.hero-actions{display:flex;gap:9px}.hero-button{background:white;color:#15529a;text-decoration:none;padding:10px 15px;border-radius:9px;font-size:13px;font-weight:750}.hero-button.ghost{background:rgba(255,255,255,.1);color:white;border:1px solid rgba(255,255,255,.28)}.hero-next-dose{position:relative;z-index:1;width:285px;min-width:250px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:14px;padding:20px;display:flex;flex-direction:column;justify-content:center;backdrop-filter:blur(5px)}.hero-next-label{font-size:10px;letter-spacing:.1em;font-weight:800;color:#bcd9fa;margin-bottom:12px}.hero-next-dose>strong{font-size:22px;margin-bottom:5px}.hero-next-dose>span:not(.hero-next-label){font-size:13px;color:#d7e7f9}.hero-next-time{margin-top:19px;padding-top:15px;border-top:1px solid rgba(255,255,255,.2);font-size:14px;font-weight:700}.dashboard-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.dashboard-stat-card{position:relative;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto auto;column-gap:12px;background:var(--app-panel);border:1px solid var(--app-line);border-radius:13px;padding:17px;text-decoration:none;color:inherit;box-shadow:0 1px 3px rgba(15,23,42,.03)}.dashboard-stat-card:hover{border-color:#bdd8f3}.stat-icon{grid-row:1/4;width:38px;height:38px;border-radius:10px;display:grid;place-items:center;font-weight:800}.stat-icon.blue{background:#e8f3ff;color:#0877d1}.stat-icon.violet{background:#f0edff;color:#6553c7}.stat-icon.amber{background:#fff3df;color:#c77800}.stat-icon.green{background:#e9f7ef;color:#238454}.stat-label{font-size:12px;color:var(--muted);font-weight:650}.dashboard-stat-card>strong{font-size:23px;color:var(--app-navy);line-height:1.15;margin-top:2px}.dashboard-stat-card>small{font-size:11px;color:#9097a2;margin-top:3px}.dashboard-columns{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(300px,.75fr);gap:20px}.dashboard-section.card{padding:0;margin:0 0 20px;border-radius:13px;box-shadow:0 1px 3px rgba(15,23,42,.03);overflow:hidden}.section-heading{min-height:58px;display:flex;align-items:center;justify-content:space-between;padding:13px 17px;border-bottom:1px solid var(--app-line)}.section-heading>div{display:flex;align-items:center;gap:9px}.section-heading h2{font-size:15px;margin:0;color:var(--app-navy)}.section-heading>a{font-size:12px;font-weight:700;text-decoration:none;color:var(--app-blue)}.section-icon{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:#eaf4fe;color:#0877d1;font-size:14px}.dashboard-dose-list{padding:5px 17px}.dashboard-dose-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:13px 2px;border-bottom:1px solid var(--app-line);text-decoration:none;color:inherit}.dashboard-dose-row:last-child{border-bottom:0}.dose-main{display:flex;align-items:center;gap:11px}.dose-dot{width:8px;height:8px;border-radius:50%;background:#0b83dd;box-shadow:0 0 0 4px #e5f3fd}.dose-main>div{display:flex;flex-direction:column;gap:3px}.dose-main strong{font-size:13px}.dose-main span{font-size:11px;color:var(--muted)}.protocol-next-dose{text-align:right;display:flex;flex-direction:column;gap:2px}.protocol-next-dose span{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.protocol-next-dose strong{font-size:11px}.protocol-next-dose.overdue strong{color:#c83c3c}.activity-list{padding:4px 17px}.activity-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:12px 2px;border-bottom:1px solid var(--app-line)}.activity-row:last-child{border-bottom:0}.activity-icon{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:var(--app-soft);color:var(--app-blue);font-weight:800}.activity-row>div:not(.activity-meta){display:flex;flex-direction:column;gap:2px}.activity-row strong{font-size:12px}.activity-row span{font-size:11px;color:var(--muted)}.activity-meta{text-align:right;display:flex;flex-direction:column}.empty-state,.status-good{display:flex;align-items:center;gap:13px;padding:24px 18px}.empty-state>span,.status-good>span{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:var(--app-soft);color:var(--app-blue);font-size:20px}.empty-state strong,.status-good strong{font-size:13px}.empty-state p,.status-good p{font-size:11px;color:var(--muted);margin:4px 0 0}.alert-list{padding:4px 15px}.alert-list a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:12px 2px;border-bottom:1px solid var(--app-line);text-decoration:none;color:inherit}.alert-list a:last-child{border:0}.alert-dot{width:7px;height:7px;border-radius:50%;background:#e79b22}.alert-list div{display:flex;flex-direction:column}.alert-list strong{font-size:12px}.alert-list small{font-size:10px;color:var(--muted)}.alert-list b{font-size:11px;color:#b36c00}.business-summary{padding-bottom:15px!important}.business-number{padding:18px 17px 10px;display:flex;justify-content:space-between;align-items:end}.business-number span,.business-mini span{font-size:11px;color:var(--muted)}.business-number strong{font-size:24px}.business-mini{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 17px}.business-mini div{background:var(--app-bg);border-radius:9px;padding:10px;display:flex;flex-direction:column;gap:3px}.business-mini strong{font-size:12px}.quick-links{padding-bottom:8px!important}.quick-links>a{display:flex;align-items:center;gap:10px;padding:10px 17px;text-decoration:none;color:inherit;font-size:12px;font-weight:650}.quick-links>a>span{width:27px;height:27px;display:grid;place-items:center;border-radius:7px;background:var(--app-soft);color:var(--app-blue)}
/* make existing pages sit naturally in the new shell */
.app-content>h1,.app-content>.actions:first-child h1{color:var(--app-navy);font-size:26px}.app-content .card{border-color:var(--app-line);background:var(--app-panel);box-shadow:0 1px 3px rgba(15,23,42,.03)}
.sidebar-backdrop{display:none}
@media(max-width:1050px){.app-topbar{grid-template-columns:1fr minmax(280px,430px) auto}.user-chip-copy,.user-chip>span:last-child{display:none}.dashboard-stat-grid{grid-template-columns:repeat(2,1fr)}.dashboard-columns{grid-template-columns:1fr}.dashboard-side-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.dashboard-side-column .dashboard-section{margin-bottom:0}.dashboard-side-column .quick-links{grid-column:1/-1}}
@media(max-width:760px){:root{--topbar-h:62px}.app-sidebar{transform:translateX(-100%);transition:transform .2s ease;box-shadow:10px 0 30px rgba(0,0,0,.12)}.sidebar-open .app-sidebar{transform:translateX(0)}.sidebar-backdrop{position:fixed;inset:0;background:rgba(8,18,34,.42);z-index:80}.sidebar-open .sidebar-backdrop{display:block}.app-main{margin-left:0}.app-topbar{grid-template-columns:1fr auto;height:var(--topbar-h);padding:0 14px}.mobile-menu-button{display:block}.topbar-title{font-size:17px}.global-search{display:none}.app-content.container{padding:18px 12px 36px}.dashboard-welcome{align-items:flex-start}.dashboard-welcome h1{font-size:23px}.dashboard-quick-actions{display:none}.dashboard-hero{min-height:0;padding:23px;display:block}.hero-copy h2{font-size:25px}.hero-next-dose{width:100%;min-width:0;margin-top:22px;padding:15px}.dashboard-stat-grid{grid-template-columns:1fr 1fr;gap:9px}.dashboard-stat-card{padding:13px;column-gap:9px}.stat-icon{width:34px;height:34px}.dashboard-stat-card>strong{font-size:19px}.dashboard-columns{display:block}.dashboard-side-column{display:block}.dashboard-side-column .dashboard-section{margin-bottom:14px}.dashboard-dose-row{align-items:flex-start}.protocol-next-dose{max-width:120px}.user-chip{border:0;padding:0;background:transparent}.theme-icon-button{width:38px;height:38px}.user-avatar{width:36px;height:36px}}
@media(max-width:420px){.dashboard-stat-grid{grid-template-columns:1fr}.dashboard-hero{padding:20px}.hero-actions{flex-wrap:wrap}}

/* ===== v162 full application visual system ===== */
/* Dashboard cleanup */
.dose-dot{display:none!important}.dose-main{gap:0!important}
/* Shared page headers */
.page-heading-row,.app-content>.actions:first-child{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:0 0 20px!important;padding:0!important}.page-heading-row h1,.app-content>.actions:first-child h1{font-size:27px!important;line-height:1.1;margin:0!important;letter-spacing:-.025em}.page-heading-row>div:first-child p,.app-content>.actions:first-child .muted{margin:6px 0 0}.back-link{display:inline-flex;align-items:center;gap:6px;color:var(--app-blue);font-size:12px;font-weight:750;text-decoration:none;margin-bottom:8px}
/* Unified surfaces */
.app-content .card{border-radius:13px!important}.app-content .card:not(.dashboard-section){padding:20px}.app-content .card>h2:first-child,.app-content .card>h3:first-child{margin-top:0;color:var(--app-navy)}
.btn{border-radius:9px!important;font-weight:700!important;min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn.secondary{background:var(--app-panel);border-color:var(--app-line)}input,select,textarea{border-radius:9px!important;border-color:var(--app-line)!important;background:var(--app-panel)!important;min-height:42px}textarea{min-height:100px}.field label,.form-grid label{font-size:12px;font-weight:700;color:var(--app-navy)}
/* Tables */
.table-wrap{border:1px solid var(--app-line);border-radius:11px;overflow:auto;background:var(--app-panel)}table{border-collapse:collapse;width:100%}th{background:var(--app-bg);color:var(--muted)!important;text-transform:uppercase;letter-spacing:.045em;font-size:10px!important;font-weight:800!important}th,td{padding:13px 14px!important;border-bottom:1px solid var(--app-line)!important}tr:last-child td{border-bottom:0!important}tbody tr:hover td{background:color-mix(in srgb,var(--app-soft) 40%,transparent)}.badge{border-radius:999px!important;padding:4px 8px!important;font-size:10px!important;font-weight:750!important}
/* Inventory */
.inventory-filter-actions{gap:7px;align-items:center}.inventory-filter-actions strong{font-size:12px}.inventory-desktop-layout>.card{padding:0!important;overflow:hidden}.inventory-desktop-layout .table-wrap{border:0;border-radius:0}.inventory-table a:not(.btn){text-decoration:none}.inventory-group-row td{background:var(--app-bg)!important}.inventory-group-summary{padding:2px 0}.inventory-group-toggle{width:28px;height:28px;border-radius:8px!important;border:1px solid var(--app-line);background:var(--app-panel);color:var(--app-blue);font-weight:800}.inventory-group-copy strong{font-size:13px}.inventory-group-detail{font-size:10px;color:var(--muted)}.inventory-child-dot{display:none!important}.inventory-child-link{gap:0!important}.inventory-quick-group,.inventory-action-group{gap:6px}
/* Protocols */
.protocol-layout{gap:18px!important}.protocol-create-card{border-top:3px solid var(--app-blue)!important}.protocol-card-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px!important}.protocol-summary-card{margin:0!important;padding:18px!important;transition:border-color .15s,transform .15s}.protocol-summary-card:hover{border-color:#a9d0f4!important;transform:translateY(-1px)}.protocol-summary-head{align-items:flex-start!important}.protocol-summary-head h2{font-size:16px;margin:0 0 4px}.protocol-status{border-radius:999px!important;font-size:9px!important;font-weight:800!important;text-transform:uppercase;letter-spacing:.05em}.protocol-summary-actions{border-top:1px solid var(--app-line);padding-top:13px;margin-top:14px}.protocol-open-button{flex:1}.protocol-detail-grid{gap:16px!important}.protocol-settings-card,.protocol-schedule-card{padding:20px!important}.protocol-card-head{padding-bottom:13px;margin-bottom:15px;border-bottom:1px solid var(--app-line)}.protocol-card-head h2,.protocol-card-head h3{margin:0;font-size:16px}.protocol-history-table .btn{min-height:32px}
/* Knowledge */
.knowledge-filter-card{padding:14px 16px!important}.knowledge-filter-form{align-items:end!important}.knowledge-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px!important}.knowledge-card{padding:0!important;overflow:hidden;display:flex!important;flex-direction:column;min-height:230px;transition:transform .15s,border-color .15s}.knowledge-card:hover{transform:translateY(-2px);border-color:#acd2f4!important}.knowledge-card>*:not(.knowledge-hero-image){margin-left:18px!important;margin-right:18px!important}.knowledge-card h2{font-size:17px!important;margin-top:17px!important}.knowledge-category{display:inline-flex!important;width:max-content;border-radius:999px;background:var(--app-soft);color:var(--app-blue)!important;padding:5px 8px;font-size:9px!important;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.knowledge-read-more{margin-top:auto!important;padding:15px 0 17px!important;border-top:1px solid var(--app-line);font-size:12px;font-weight:750;color:var(--app-blue)}.knowledge-article-layout{grid-template-columns:minmax(0,1fr) 300px!important;gap:20px!important}.knowledge-article{padding:28px!important}.knowledge-article h1,.knowledge-article h2{color:var(--app-navy)}.knowledge-copy{line-height:1.7}.knowledge-disclaimer{position:sticky;top:calc(var(--topbar-h) + 20px)}
/* Calculator */
.app-content .container{max-width:none!important;padding:0!important}.page-head{margin-bottom:20px}.page-head h1{font-size:27px;margin:0 0 6px;color:var(--app-navy)}.recon-card{max-width:1000px!important;margin:0!important;padding:24px!important}.recon-grid{gap:16px!important}.recon-results{border-radius:12px!important;background:var(--app-bg)!important;border:1px solid var(--app-line);padding:18px!important}
/* Product detail + metrics */
.app-content>.grid{gap:13px!important}.app-content>.grid>.card{min-height:112px}.metric{font-size:25px!important;color:var(--app-navy);font-weight:800;letter-spacing:-.02em}.small-metric{font-size:22px!important}.product-title-strength{color:var(--muted);font-weight:600}.strength-edit-button{border-radius:7px!important}.selected-batch-grid{gap:12px!important}.batch-edit-panel{border-radius:11px!important;border-color:var(--app-line)!important}
/* Business pages */
.app-content>.grid:first-of-type .card{position:relative;overflow:hidden}.app-content>.grid:first-of-type .card .muted{font-size:11px;font-weight:650}.app-content>.grid:first-of-type .card .metric{margin-top:5px}.card-stat{border:1px solid var(--app-line)!important;border-radius:13px!important;background:var(--app-panel)!important;box-shadow:0 1px 3px rgba(15,23,42,.03)!important}
/* Settings / admin / forms */
.card.narrow{max-width:760px!important}.admin-panel-grid{gap:15px!important}.admin-panel-card{transition:transform .15s,border-color .15s;min-height:145px}.admin-panel-card:hover{transform:translateY(-2px);border-color:#acd2f4!important}.admin-panel-icon{border-radius:11px!important;background:var(--app-soft)!important;color:var(--app-blue)!important}.admin-panel-arrow{color:var(--app-blue)!important}.pagination-link{border-radius:8px!important}
/* Sidebar readability + active states */
.app-sidebar .nav-link{opacity:.82}.app-sidebar .nav-link:hover{opacity:1;background:rgba(255,255,255,.055)}.app-sidebar .nav-link.active{opacity:1}.app-sidebar .nav-section-label{opacity:.72}
/* Mobile/tablet */
@media(max-width:1100px){.knowledge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.protocol-card-list{grid-template-columns:1fr}.knowledge-article-layout{grid-template-columns:1fr!important}.knowledge-disclaimer{position:static}}
@media(max-width:760px){.page-heading-row,.app-content>.actions:first-child{align-items:flex-start;flex-wrap:wrap}.page-heading-row h1,.app-content>.actions:first-child h1,.page-head h1{font-size:23px!important}.app-content>.actions:first-child .btn{flex:1}.app-content .card:not(.dashboard-section){padding:16px}.inventory-filter-actions{align-items:stretch}.inventory-filter-actions .btn{flex:1}.knowledge-grid{grid-template-columns:1fr}.knowledge-article{padding:19px!important}.recon-card{padding:17px!important}.protocol-detail-grid{display:block!important}.protocol-detail-grid>.card{margin-bottom:14px}.table-wrap{border-radius:10px}.app-content>.grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:430px){.app-content>.grid{grid-template-columns:1fr!important}}
/* v163: functional global search + protocol calendar */
.search-page-form{display:flex;gap:10px;padding:14px;margin-bottom:18px}.search-page-form input{flex:1;margin:0}.search-page-form .btn{margin:0}.search-result-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.search-result-grid>.card{padding:0;overflow:hidden}.search-span{grid-column:1/-1}.search-results{padding:4px 16px}.search-results>a{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 2px;border-bottom:1px solid var(--app-line);text-decoration:none;color:inherit}.search-results>a:last-child{border-bottom:0}.search-results>a>div{display:flex;flex-direction:column;gap:3px}.search-results strong{font-size:13px}.search-results span{font-size:11px;color:var(--muted)}.search-results b{font-size:11px;color:var(--app-blue)}.search-empty{padding:16px 2px}
.calendar-heading{align-items:flex-end}.calendar-nav{display:flex;align-items:center;gap:10px}.calendar-nav strong{min-width:130px;text-align:center}.calendar-nav .btn{min-width:42px;padding:9px 12px}.protocol-calendar{padding:0;overflow:hidden}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:var(--app-bg);border-bottom:1px solid var(--app-line)}.calendar-weekdays span{padding:11px 12px;font-size:10px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-day{min-height:145px;padding:10px;border-right:1px solid var(--app-line);border-bottom:1px solid var(--app-line);background:var(--app-panel)}.calendar-day:nth-child(7n){border-right:0}.calendar-day.outside{opacity:.42}.calendar-day.today{box-shadow:inset 0 0 0 2px var(--app-blue)}.calendar-date{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.calendar-date>span{font-size:12px;font-weight:750}.calendar-date b{font-size:9px;color:var(--app-blue);text-transform:uppercase}.calendar-events{display:flex;flex-direction:column;gap:5px}.calendar-event{display:flex;flex-direction:column;gap:2px;border-left:3px solid #1684dc;background:var(--app-soft);padding:6px 7px;border-radius:6px;text-decoration:none;color:inherit}.calendar-event strong{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event span{font-size:9px;color:var(--muted)}.calendar-event.completed{border-color:#2b9b65;background:rgba(43,155,101,.09)}.calendar-event.skipped{border-color:#8b93a0;background:rgba(139,147,160,.09)}.calendar-event.missed{border-color:#d44b4b;background:rgba(212,75,75,.08)}.calendar-legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:12px;color:var(--muted);font-size:11px}.calendar-legend span{display:flex;align-items:center;gap:6px}.calendar-legend i{width:9px;height:9px;border-radius:3px;background:#1684dc}.calendar-legend i.completed{background:#2b9b65}.calendar-legend i.skipped{background:#8b93a0}.calendar-legend i.missed{background:#d44b4b}.dashboard-dose-row .dose-main{gap:0}
@media(max-width:760px){.search-result-grid{display:block}.search-result-grid>.card{margin-bottom:12px}.protocol-calendar{overflow-x:auto}.calendar-weekdays,.calendar-grid{min-width:760px}.calendar-day{min-height:120px}.calendar-heading{display:block}.calendar-nav{margin-top:14px;justify-content:space-between}.search-page-form{padding:10px}}
/* v165 Knowledge library */
.knowledge-library-heading{margin-bottom:18px}.knowledge-library-search{height:54px;border:1px solid var(--border);background:var(--card);border-radius:16px;display:flex;align-items:center;gap:12px;padding:0 18px;margin-bottom:16px}.knowledge-library-search input{border:0!important;background:transparent!important;box-shadow:none!important;margin:0!important;width:100%;font-size:15px}.knowledge-chip-row{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 24px}.knowledge-chip{border:1px solid var(--border);background:var(--card);color:var(--text);padding:8px 15px;border-radius:999px;text-decoration:none;font-weight:700;font-size:13px}.knowledge-chip.active,.knowledge-chip:hover{background:var(--accent);border-color:var(--accent);color:#fff}.knowledge-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.knowledge-library-card{background:var(--card);border:1px solid var(--border);border-radius:16px;color:var(--text);text-decoration:none;display:flex;flex-direction:column;min-height:260px;overflow:hidden;transition:.18s ease}.knowledge-library-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 55%,var(--border));box-shadow:0 12px 32px rgba(0,0,0,.12)}.knowledge-card-top{display:flex;gap:13px;padding:20px 20px 10px;align-items:flex-start}.knowledge-card-top h2{margin:1px 0 4px;font-size:18px}.knowledge-monogram{width:48px;height:48px;flex:0 0 48px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 16%,var(--card));color:var(--accent);font-weight:900;font-size:13px}.knowledge-card-summary{padding:0 20px;margin:6px 0 13px;color:var(--muted);line-height:1.5}.knowledge-tags{padding:0 20px 17px;display:flex;gap:7px;flex-wrap:wrap}.knowledge-tags span{font-size:11px;font-weight:700;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));background:color-mix(in srgb,var(--accent) 8%,var(--card));color:var(--accent);border-radius:999px;padding:5px 9px}.knowledge-card-footer{margin-top:auto;border-top:1px solid var(--border);padding:13px 20px;display:flex;justify-content:space-between;font-size:12px;font-weight:800;color:var(--muted)}.knowledge-article .knowledge-section{padding:20px 0;border-top:1px solid var(--border)}.knowledge-article .knowledge-section h2{font-size:18px;margin:0 0 10px}.knowledge-editor textarea{line-height:1.5}@media(max-width:1100px){.knowledge-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.knowledge-library-grid{grid-template-columns:1fr}.knowledge-library-card{min-height:0}}
/* v166 — Knowledge category manager + repaired library cards */
.knowledge-library-search{border-color:var(--app-line)!important;background:var(--app-panel)!important;box-shadow:0 1px 3px rgba(15,23,42,.04)}
.knowledge-library-search input{color:inherit!important}.knowledge-chip{border-color:var(--app-line)!important;background:var(--app-panel)!important;color:inherit!important}.knowledge-chip.active,.knowledge-chip:hover{background:var(--app-blue)!important;border-color:var(--app-blue)!important;color:#fff!important}
.knowledge-library-grid{align-items:stretch}.knowledge-library-card{background:var(--app-panel)!important;border:1px solid var(--app-line)!important;border-radius:14px!important;box-shadow:0 1px 3px rgba(15,23,42,.04);min-width:0}.knowledge-library-card:hover{border-color:#65aee6!important;box-shadow:0 12px 30px rgba(15,23,42,.12)}.knowledge-monogram{background:var(--app-soft)!important;color:var(--app-blue)!important}.knowledge-tags span{border-color:#b9d9f5!important;background:var(--app-soft)!important;color:var(--app-blue)!important}.knowledge-card-footer{border-color:var(--app-line)!important}.knowledge-card-summary{font-size:13px}.knowledge-card-top>div{min-width:0}.knowledge-card-top h2{overflow-wrap:anywhere}
.knowledge-category-add{display:flex;align-items:end;gap:12px;margin-bottom:16px}.knowledge-category-add>div{flex:1}.knowledge-category-add label{margin-top:0}.knowledge-category-inline{display:flex;gap:8px;align-items:center;max-width:560px}.knowledge-category-inline input{margin:0}.field-help{margin-top:5px;font-size:11px}.field-help a{color:var(--app-blue);text-decoration:none;font-weight:700}
@media(max-width:760px){.knowledge-category-add,.knowledge-category-inline{align-items:stretch;flex-direction:column}.knowledge-category-add .btn,.knowledge-category-inline .btn{width:100%}}
/* v167 — premium Knowledge article */
.kb-article-hero{margin:-28px -30px 22px;padding:26px 34px 28px;background:radial-gradient(circle at 92% 12%,rgba(56,132,255,.25),transparent 23%),linear-gradient(120deg,#0d2759,#0a1d46 68%,#102c62);color:#fff;border-bottom:1px solid rgba(255,255,255,.1)}
.kb-back{display:inline-block;color:#b8c9e8;text-decoration:none;font-size:12px;font-weight:700;margin-bottom:17px}.kb-hero-title{display:flex;align-items:center;gap:14px}.kb-hero-monogram{width:50px;height:50px;border-radius:14px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.1);font-weight:900}.kb-title-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.kb-title-line h1{margin:0;color:#fff;font-size:28px}.kb-hero-title p{margin:4px 0 0;color:#bdcae2}.kb-status{border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.1);padding:4px 9px;border-radius:999px;font-size:10px;font-weight:800}.kb-hero-tags{display:flex;flex-wrap:wrap;gap:7px;margin:15px 0}.kb-hero-tags span{padding:5px 10px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);border-radius:999px;color:#dce8fb;font-size:11px;font-weight:700}.kb-fact-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}.kb-fact-grid>div{padding:15px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.075);border-radius:13px;display:flex;flex-direction:column;gap:4px;min-width:0}.kb-fact-grid small{text-transform:uppercase;letter-spacing:.09em;color:#91a8cc;font-size:9px;font-weight:850}.kb-fact-grid strong{color:#fff;font-size:13px;line-height:1.3}.kb-fact-grid span{font-size:10px;color:#94a8c8}.kb-section-nav{display:flex;gap:7px;overflow-x:auto;padding:10px!important;margin-bottom:18px;position:sticky;top:calc(var(--topbar-h) + 8px);z-index:25}.kb-section-nav a{white-space:nowrap;text-decoration:none;color:var(--muted);font-size:11px;font-weight:750;padding:7px 11px;border:1px solid var(--app-line);border-radius:999px}.kb-section-nav a:hover{color:var(--app-blue);border-color:#8bc2eb}.kb-article-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px;align-items:start}.kb-main{display:flex;flex-direction:column;gap:16px}.kb-section{padding:22px!important;scroll-margin-top:145px}.kb-section h2{font-size:18px;margin:0 0 15px;padding-bottom:12px;border-bottom:1px solid var(--app-line)}.kb-copy{font-size:13px;line-height:1.72;color:var(--text)}.kb-aside{display:flex;flex-direction:column;gap:14px;position:sticky;top:145px}.kb-side-card{padding:0!important;overflow:hidden}.kb-side-card h3{margin:0;padding:14px 16px;border-bottom:1px solid var(--app-line);font-size:12px;text-transform:uppercase;letter-spacing:.06em}.kb-side-card dl{margin:0}.kb-side-card dl>div{display:flex;justify-content:space-between;gap:12px;padding:13px 16px;border-bottom:1px solid var(--app-line)}.kb-side-card dl>div:last-child{border-bottom:0}.kb-side-card dt{font-size:11px;color:var(--muted)}.kb-side-card dd{margin:0;text-align:right;font-size:11px;font-weight:800}.kb-warning,.kb-important{padding-bottom:15px!important}.kb-warning p,.kb-important p{padding:0 16px;font-size:12px;line-height:1.55;color:var(--muted)}.kb-warning a{margin:0 16px;color:var(--app-blue);font-size:11px;font-weight:750;text-decoration:none}.kb-warning{border-color:rgba(230,151,45,.35)!important;background:color-mix(in srgb,#f59e0b 5%,var(--app-panel))!important}.kb-reference{padding:10px 0;border-bottom:1px solid var(--app-line);font-size:12px;overflow-wrap:anywhere}.kb-reference:last-child{border-bottom:0}.kb-reference a{color:var(--app-blue)}.kb-schedule{margin-top:16px;border:1px solid var(--app-line);border-radius:12px;overflow:hidden}.kb-schedule-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;background:var(--app-bg)}.kb-schedule-head h3{margin:0 0 2px;font-size:13px}.kb-schedule-head span{font-size:10px;color:var(--muted)}.kb-schedule-head a{font-size:10px;color:var(--app-blue);text-decoration:none;font-weight:800}.kb-schedule .table-wrap{border:0!important;border-radius:0!important}.kb-schedule .muted{padding:0 14px 12px;font-size:11px}
@media(max-width:1050px){.kb-article-layout{grid-template-columns:1fr}.kb-aside{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.kb-fact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.kb-article-hero{margin:-18px -16px 16px;padding:20px 16px}.kb-title-line h1{font-size:23px}.kb-fact-grid{grid-template-columns:1fr 1fr}.kb-section-nav{top:68px;margin-left:-4px;margin-right:-4px}.kb-aside{display:flex}.kb-section{padding:17px!important}.kb-schedule{overflow-x:auto}.kb-schedule table{min-width:650px}}
@media(max-width:430px){.kb-fact-grid{grid-template-columns:1fr}.kb-hero-title{align-items:flex-start}}

/* v168 — Protocol library redesign */
.protocols-heading{align-items:center;margin-bottom:18px}.protocols-new-btn{white-space:nowrap}.protocols-toolbar{padding:10px!important;display:flex;gap:12px;align-items:center;margin-bottom:18px}.protocol-search{flex:1;display:flex;align-items:center;gap:10px;border:1px solid var(--app-line);background:var(--app-bg);border-radius:11px;padding:0 13px;min-width:0}.protocol-search input{margin:0!important;border:0!important;background:transparent!important;box-shadow:none!important;height:42px;width:100%;color:inherit}.protocol-search span{color:var(--muted)}.protocol-filter{display:flex;gap:5px;padding:4px;background:var(--app-bg);border:1px solid var(--app-line);border-radius:11px}.protocol-filter button{border:0;background:transparent;color:var(--muted);font:inherit;font-size:11px;font-weight:800;padding:8px 12px;border-radius:8px;cursor:pointer}.protocol-filter button.active{background:var(--app-panel);color:var(--app-blue);box-shadow:0 1px 3px rgba(0,0,0,.08)}.protocol-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.protocol-library-card{position:relative;background:var(--app-panel);border:1px solid var(--app-line);border-radius:15px;min-width:0;overflow:visible;transition:.18s ease;box-shadow:0 1px 3px rgba(15,23,42,.04)}.protocol-library-card:hover{transform:translateY(-2px);border-color:#5aa7df;box-shadow:0 12px 30px rgba(15,23,42,.12)}.protocol-card-link{position:absolute;inset:0;z-index:1;border-radius:15px}.protocol-card-top,.protocol-card-body,.protocol-card-notes,.protocol-card-meta,.protocol-card-footer{position:relative;z-index:2;pointer-events:none}.protocol-card-top{display:flex;justify-content:space-between;align-items:center;padding:16px 17px 0}.protocol-status{font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;padding:5px 8px;border-radius:999px}.protocol-status.active{background:rgba(34,197,94,.12);color:#2ebd69}.protocol-status.inactive{background:rgba(148,163,184,.12);color:var(--muted)}.protocol-card-menu{position:relative;pointer-events:auto;z-index:5}.protocol-card-menu summary{list-style:none;cursor:pointer;color:var(--muted);font-weight:900;padding:4px 6px}.protocol-card-menu summary::-webkit-details-marker{display:none}.protocol-menu-popover{position:absolute;right:0;top:28px;width:155px;background:var(--app-panel);border:1px solid var(--app-line);border-radius:10px;padding:6px;box-shadow:0 14px 35px rgba(0,0,0,.22);z-index:20}.protocol-menu-popover a,.protocol-menu-popover button{display:block;width:100%;text-align:left;padding:9px 10px;border:0;background:transparent;color:var(--text);text-decoration:none;font:inherit;font-size:11px;border-radius:7px;cursor:pointer}.protocol-menu-popover a:hover,.protocol-menu-popover button:hover{background:var(--app-bg)}.protocol-menu-popover button{color:#ef6a6a}.protocol-card-body{display:flex;gap:12px;align-items:center;padding:15px 17px 8px}.protocol-card-mark{width:45px;height:45px;flex:0 0 45px;border-radius:13px;display:grid;place-items:center;background:var(--app-soft);color:var(--app-blue);font-size:12px;font-weight:900}.protocol-card-body h2{margin:0 0 3px;font-size:17px}.protocol-card-body p{margin:0;color:var(--muted);font-size:11px}.protocol-card-notes{margin:5px 17px 13px;color:var(--muted);font-size:11px;line-height:1.5;min-height:33px}.protocol-card-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;border-top:1px solid var(--app-line);background:var(--app-line)}.protocol-card-meta>div{background:var(--app-panel);padding:12px 16px;display:flex;flex-direction:column;gap:3px}.protocol-card-meta small{font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:800}.protocol-card-meta strong{font-size:11px}.protocol-card-footer{display:flex;justify-content:space-between;padding:12px 17px;color:var(--app-blue);font-size:11px;font-weight:850;border-top:1px solid var(--app-line)}.protocols-empty{text-align:center;padding:44px 24px!important}.protocols-empty-icon{width:48px;height:48px;margin:0 auto 12px;display:grid;place-items:center;border-radius:14px;background:var(--app-soft);color:var(--app-blue);font-size:24px}.protocol-modal[hidden]{display:none}.protocol-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px}.protocol-modal-backdrop{position:absolute;inset:0;background:rgba(2,8,23,.72);backdrop-filter:blur(4px)}.protocol-modal-panel{position:relative;width:min(590px,100%);max-height:calc(100vh - 40px);overflow:auto;background:var(--app-panel);border:1px solid var(--app-line);border-radius:17px;box-shadow:0 25px 80px rgba(0,0,0,.35)}.protocol-modal-head{padding:20px 22px;border-bottom:1px solid var(--app-line);display:flex;justify-content:space-between;gap:16px}.protocol-modal-head small{color:var(--app-blue);font-weight:900;letter-spacing:.1em}.protocol-modal-head h2{margin:3px 0 4px}.protocol-modal-head p{margin:0;color:var(--muted);font-size:12px}.protocol-modal-head>button{width:35px;height:35px;border:1px solid var(--app-line);background:var(--app-bg);color:var(--text);border-radius:10px;font-size:20px;cursor:pointer}.protocol-modal-form{padding:20px 22px}.protocol-modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}.modal-open{overflow:hidden}
@media(max-width:1200px){.protocol-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.protocols-heading{align-items:flex-start}.protocols-heading .protocols-new-btn{width:auto}.protocols-toolbar{display:block}.protocol-filter{margin-top:9px}.protocol-filter button{flex:1}.protocol-grid{grid-template-columns:1fr}.protocol-card-notes{min-height:0}.protocol-modal{padding:10px}.protocol-modal-panel{max-height:calc(100vh - 20px)}.protocol-modal-form,.protocol-modal-head{padding:17px}}

/* v170 — sidebar legibility, protocol menu stacking, premium calculator */
.sidebar-link{color:color-mix(in srgb,var(--text) 88%,transparent)!important;font-weight:680}
.sidebar-link .nav-icon{color:color-mix(in srgb,var(--text) 72%,transparent)!important;opacity:1!important}
.sidebar-label{color:color-mix(in srgb,var(--text) 58%,transparent)!important;font-weight:800!important}
.sidebar-link:hover{color:var(--text)!important;background:color-mix(in srgb,var(--app-blue) 9%,transparent)!important}
.sidebar-link.active{color:var(--app-blue)!important}
.sidebar-link.active .nav-icon{color:var(--app-blue)!important}
.protocol-library-card:has(.protocol-card-menu[open]){z-index:80;transform:none}
.protocol-card-menu[open]{z-index:100}
.protocol-menu-popover{z-index:110!important}
.protocol-grid{isolation:isolate}
.recon-page{max-width:1040px!important}.recon-page-head{margin-bottom:18px}.recon-workspace{padding:0!important;overflow:visible}
.recon-workspace-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 20px;border-bottom:1px solid var(--app-line)}
.recon-workspace-head>div{display:flex;align-items:center;gap:10px}.recon-flask{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:var(--app-soft);color:var(--app-blue);font-weight:900}
.recon-arithmetic-badge{font-size:10px;font-weight:850;color:var(--app-blue);background:var(--app-soft);border:1px solid color-mix(in srgb,var(--app-blue) 25%,var(--app-line));padding:6px 9px;border-radius:999px}
.recon-section{padding:20px;border-bottom:1px solid var(--app-line)}.recon-section-title{display:flex;flex-direction:column;gap:3px;margin-bottom:12px}.recon-section-title strong{font-size:13px}.recon-section-title span{font-size:11px;color:var(--muted)}
.recon-choice-grid{display:grid;gap:8px}.recon-volume-choices{grid-template-columns:repeat(6,minmax(0,1fr))}.recon-amount-choices{grid-template-columns:repeat(6,minmax(0,1fr))}
.recon-choice-grid button{min-height:50px;border:1px solid var(--app-line);border-radius:11px;background:var(--app-bg);color:var(--text);cursor:pointer;font:inherit;display:flex;align-items:center;justify-content:center;gap:5px;transition:.15s ease}
.recon-volume-choices button{min-height:92px;flex-direction:column}.recon-choice-grid button:hover{border-color:color-mix(in srgb,var(--app-blue) 55%,var(--app-line))}.recon-choice-grid button.active{border-color:var(--app-blue);background:var(--app-soft);color:var(--app-blue);box-shadow:inset 0 0 0 1px var(--app-blue)}
.recon-vial-icon{font-size:25px;color:var(--muted)}.recon-choice-grid button.active .recon-vial-icon{color:var(--app-blue)}
.recon-custom-row{display:block;margin-top:12px}.recon-custom-row>span{display:block;font-size:10px;color:var(--muted);font-weight:750;margin-bottom:6px}.recon-custom-row input{margin:0!important}
.recon-measure-row{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:10px}.recon-dose-input{display:flex!important;min-width:0}.recon-dose-input input{min-width:0;flex:1;margin:0!important;border-radius:10px 0 0 10px!important}.recon-dose-input select{width:92px;margin:0!important;border-radius:0 10px 10px 0!important;border-left:0!important}
.recon-scale-toggle{display:grid;grid-template-columns:1fr 1fr;padding:3px;border:1px solid var(--app-line);border-radius:10px;background:var(--app-bg)}.recon-scale-toggle button{border:0;border-radius:7px;background:transparent;color:var(--muted);font:inherit;font-size:11px;font-weight:850;cursor:pointer}.recon-scale-toggle button.active{background:var(--app-blue);color:white}.recon-hidden-scale{display:none!important}
.recon-results-premium{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px!important;padding:20px!important;background:transparent!important}
.recon-results-premium>div{border:1px solid var(--app-line)!important;border-radius:12px!important;background:var(--app-bg)!important;padding:15px!important;min-width:0;display:flex!important;flex-direction:column;gap:4px}
.recon-results-premium>div.primary,.recon-results-premium>div.accent{border-color:color-mix(in srgb,var(--app-blue) 35%,var(--app-line))!important;background:var(--app-soft)!important}
.recon-results-premium span{font-size:9px!important;text-transform:uppercase;letter-spacing:.06em;font-weight:850;color:var(--muted)!important}.recon-results-premium strong{font-size:16px!important;color:var(--text)!important;overflow-wrap:anywhere}.recon-results-premium .primary strong,.recon-results-premium .accent strong{color:var(--app-blue)!important}.recon-results-premium small{font-size:9px;color:var(--muted);line-height:1.35}.recon-notice{margin:0 20px 20px!important}
@media(max-width:900px){.recon-volume-choices,.recon-amount-choices{grid-template-columns:repeat(3,minmax(0,1fr))}.recon-results-premium{grid-template-columns:repeat(2,minmax(0,1fr))}.recon-results-premium>div:first-child{grid-column:span 2}}
@media(max-width:600px){.recon-workspace-head{align-items:flex-start}.recon-arithmetic-badge{display:none}.recon-section{padding:16px}.recon-volume-choices,.recon-amount-choices{grid-template-columns:repeat(3,minmax(0,1fr))}.recon-volume-choices button{min-height:72px}.recon-measure-row{grid-template-columns:1fr}.recon-scale-toggle{height:44px}.recon-results-premium{grid-template-columns:1fr;padding:16px!important}.recon-results-premium>div:first-child{grid-column:auto}.recon-notice{margin:0 16px 16px!important}}

/* v171 — calculator icon and joined-control corrections */
.recon-vial-icon{position:relative!important;display:block!important;width:17px!important;height:26px!important;border:2px solid currentColor!important;border-radius:3px!important;font-size:0!important;color:var(--muted)!important;box-sizing:border-box}
.recon-vial-icon:before{content:"";position:absolute;left:3px;right:3px;top:-7px;height:5px;border:2px solid currentColor;border-bottom:0;border-radius:2px 2px 0 0}
.recon-vial-icon:after{content:"";position:absolute;left:3px;right:3px;top:10px;border-top:1px solid currentColor;opacity:.55}
.recon-choice-grid button.active .recon-vial-icon{color:var(--app-blue)!important}
.recon-dose-input{gap:8px!important}
.recon-dose-input input{border-radius:10px!important;border:1px solid var(--app-line)!important;box-shadow:none!important}
.recon-dose-input input:focus{border-color:var(--app-blue)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--app-blue) 15%,transparent)!important}
.recon-dose-input select{border-radius:10px!important;border:1px solid var(--app-line)!important;width:96px!important;flex:0 0 96px!important}

/* v172 — consistent semantic sidebar icon set */
.sidebar-link .nav-icon{width:20px!important;height:20px!important;display:grid!important;place-items:center!important;flex:0 0 20px!important}
.sidebar-link .nav-icon svg{width:18px;height:18px;display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.sidebar-link.active .nav-icon svg{stroke-width:1.9}

/* v173 — protocol action menu stacking fix
   Protocol cards used transforms and isolated grid stacking, which trapped the
   View/Delete popover below later cards. Elevate the open details/card and
   remove the grid isolation so its z-index can participate correctly. */
.protocol-grid{isolation:auto!important}
.protocol-library-card{z-index:1}
.protocol-library-card:hover{z-index:2}
.protocol-library-card:has(> .protocol-card-top .protocol-card-menu[open]){z-index:1000!important;transform:none!important}
.protocol-card-top{z-index:1001!important}
.protocol-card-menu{z-index:1002!important}
.protocol-card-menu[open]{z-index:2000!important}
.protocol-card-menu[open] .protocol-menu-popover{z-index:2001!important}
.protocol-menu-popover{isolation:isolate}

/* v174 — progress tracking and injection sites */
.progress-heading{align-items:center}.progress-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:16px}.progress-stat{padding:17px!important;display:flex;flex-direction:column;gap:4px}.progress-stat>span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:850}.progress-stat strong{font-size:22px}.progress-stat small{font-size:10px;color:var(--muted)}.progress-chart-card,.progress-history-card{padding:0!important;overflow:hidden;margin-bottom:16px}.progress-card-head{padding:17px 19px;border-bottom:1px solid var(--app-line)}.progress-card-head h2{margin:0 0 3px;font-size:15px}.progress-card-head p{margin:0;font-size:11px}.progress-chart{padding:20px;min-height:250px}.progress-chart svg{display:block;width:100%;height:auto;max-height:260px}.chart-axis{stroke:var(--app-line);stroke-width:2}.chart-line{fill:none;stroke:var(--app-blue);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.chart-point{fill:var(--app-panel);stroke:var(--app-blue);stroke-width:3}.progress-chart-empty{min-height:210px;display:grid;place-items:center;color:var(--muted);font-size:12px}.progress-chart-range{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;margin-top:6px}.progress-history-card .table-wrap{border:0!important;border-radius:0!important}.progress-modal{z-index:3000}.protocol-site-field{margin-top:12px}.injection-site-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.injection-site-picker label{margin:0}.injection-site-picker input{position:absolute;opacity:0;pointer-events:none}.injection-site-picker span{display:flex;align-items:center;justify-content:center;min-height:38px;padding:7px;border:1px solid var(--app-line);border-radius:9px;background:var(--app-bg);font-size:10px;font-weight:750;cursor:pointer;text-align:center}.injection-site-picker input:checked+span{border-color:var(--app-blue);background:var(--app-soft);color:var(--app-blue);box-shadow:inset 0 0 0 1px var(--app-blue)}
@media(max-width:900px){.progress-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.injection-site-picker{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.progress-heading{align-items:flex-start}.progress-summary-grid{grid-template-columns:1fr 1fr;gap:9px}.progress-stat{padding:14px!important}.progress-stat strong{font-size:18px}.progress-chart{padding:12px;min-height:190px}.injection-site-picker{grid-template-columns:1fr 1fr}}

/* v175 — injection-site picker correction */
.protocol-log-form .injection-site-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:6px}
.protocol-log-form .injection-site-picker label{position:relative!important;display:block!important;margin:0!important;min-width:0}
.protocol-log-form .injection-site-picker input[type="radio"]{position:absolute!important;inline-size:1px!important;width:1px!important;block-size:1px!important;height:1px!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;opacity:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;appearance:none!important;-webkit-appearance:none!important;pointer-events:none!important}
.protocol-log-form .injection-site-picker span{box-sizing:border-box;display:flex!important;align-items:center;justify-content:center;width:100%;min-height:40px;padding:8px 10px;border:1px solid var(--app-line);border-radius:10px;background:var(--app-bg);color:var(--text);font-size:10px;font-weight:750;line-height:1.2;cursor:pointer;text-align:center;transition:border-color .15s ease,background .15s ease,color .15s ease,box-shadow .15s ease}
.protocol-log-form .injection-site-picker label:hover span{border-color:color-mix(in srgb,var(--app-blue) 55%,var(--app-line));background:color-mix(in srgb,var(--app-blue) 5%,var(--app-bg))}
.protocol-log-form .injection-site-picker input[type="radio"]:checked + span{border-color:var(--app-blue)!important;background:var(--app-soft)!important;color:var(--app-blue)!important;box-shadow:inset 0 0 0 1px var(--app-blue)!important}
.protocol-log-form .injection-site-picker input[type="radio"]:focus-visible + span{outline:2px solid var(--app-blue);outline-offset:2px}
.protocol-log-form .protocol-site-field{margin:14px 0 10px}
.protocol-log-form .protocol-site-field>label{margin-bottom:2px}
@media(max-width:760px){.protocol-log-form .injection-site-picker{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v182: truly responsive protocol calendar and vial actions */
.vial-table-wrap{max-width:100%;overflow-x:auto}.vial-table{width:100%;min-width:850px}.vial-table td form{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0}.vial-table td input[type=date]{width:155px;max-width:100%;min-width:0;margin:0}.vial-table td .btn{position:static!important;flex:0 0 auto;margin:0;white-space:nowrap}.calendar-day.selected{box-shadow:inset 0 0 0 2px var(--app-blue)!important}
@media(max-width:760px){
.protocol-calendar{overflow:hidden!important;padding:0!important;width:100%;max-width:100%}.calendar-weekdays,.calendar-grid{min-width:0!important;width:100%;grid-template-columns:repeat(7,minmax(0,1fr))!important}.calendar-weekdays span{text-align:center;padding:11px 0;font-size:10px}.calendar-day{min-width:0;min-height:63px!important;padding:5px 2px!important;text-align:center;overflow:hidden}.calendar-date{justify-content:center;margin:0 0 5px}.calendar-date a{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;font-size:12px;font-weight:750;text-decoration:none;color:inherit}.calendar-day.selected .calendar-date a{background:var(--app-blue);color:white}.calendar-date b{display:none}.calendar-events{display:flex;flex-direction:row;justify-content:center;flex-wrap:wrap;gap:3px;max-height:12px;overflow:hidden}.calendar-event{display:block;width:6px;height:6px;min-width:6px;border:0;border-radius:50%;padding:0;background:#1684dc;overflow:hidden}.calendar-event.completed{background:#2b9b65}.calendar-event.skipped{background:#8b93a0}.calendar-event.missed{background:#d44b4b}.calendar-event strong,.calendar-event span{display:none}.calendar-heading .calendar-nav{gap:4px}.calendar-nav strong{min-width:0;flex:1}.calendar-legend{gap:10px}
.vial-table-wrap{overflow:visible}.vial-table{min-width:0!important;width:100%;display:block}.vial-table thead{display:none}.vial-table tbody{display:grid;gap:12px}.vial-table tr{display:block;background:var(--app-panel);border:1px solid var(--app-line);border-radius:14px;padding:10px 13px}.vial-table td{display:flex!important;justify-content:space-between;align-items:center;gap:10px;width:100%!important;min-width:0;padding:10px 0!important;border:0!important;border-bottom:1px solid var(--app-line)!important;white-space:normal!important;overflow:visible!important}.vial-table td:last-child{border-bottom:0!important}.vial-table td:before{content:attr(data-label);font-size:11px;font-weight:750;color:var(--muted);flex:0 0 36%}.vial-table td form{flex:1;min-width:0;justify-content:flex-end;gap:7px;flex-wrap:wrap}.vial-table td input[type=date]{flex:1 1 135px;width:135px;max-width:100%;min-width:0}.vial-table td .btn{min-height:38px;padding:9px 12px}.vial-table td[data-label="Discard date"]{align-items:flex-start}.vial-table td[data-label="Actions"] form{justify-content:flex-end}
}
