.inventory-counting-workspace{
  --count-green:#30482d;
  --count-green-soft:#eef4e9;
  --count-gold:#d7aa49;
  --count-berry:#a63457;
  --count-ink:#292520;
  display:grid;
  gap:22px;
  min-width:0;
  padding:22px 24px 24px;
}
.inventory-counting-workspace[hidden]{display:none}
.inventory-counting-workspace button{min-height:48px}
.inventory-counting-header,.inventory-counting-detail-header,.inventory-counting-issues header,
.inventory-counting-review header,.inventory-counting-final header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.inventory-counting-header>div:first-child,.inventory-counting-detail-header>div{min-width:0}
.inventory-counting-header span,.inventory-counting-detail-header small,
.inventory-counting-create header small,.inventory-counting-issues header small,
.inventory-counting-review header small,.inventory-counting-final header small{
  display:block;
  color:#9a633f;
  font-size:.74rem;
  font-weight:900;
  letter-spacing:.14em;
}
.inventory-counting-header h3,.inventory-counting-detail-header h4,
.inventory-counting-create h4,.inventory-counting-issues h4,
.inventory-counting-review h4,.inventory-counting-final h4{
  margin:6px 0 4px;
  color:var(--count-green);
  font-size:clamp(1.35rem,2vw,1.75rem);
}
.inventory-counting-header p,.inventory-counting-detail-header p,
.inventory-counting-review p,.inventory-counting-final p{margin:0;color:#756c63;line-height:1.45}
.inventory-counting-header-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.inventory-counting-header-actions svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}
.inventory-counting-notice{padding:13px 16px;border-radius:14px;background:#eff5e9;color:#36512e;font-weight:800}
.inventory-counting-notice.is-error{background:#fff0ef;color:#973b44}
.inventory-counting-overview,.inventory-counting-detail{display:grid;gap:20px;min-width:0}
.inventory-counting-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.inventory-counting-metrics article{
  min-height:112px;
  padding:18px;
  border:1px solid #e2d7c9;
  border-radius:17px;
  background:#fff;
  box-shadow:0 8px 22px rgba(52,42,31,.055);
}
.inventory-counting-metrics small{display:block;color:#7b7168;font-weight:800}
.inventory-counting-metrics strong{display:block;margin-top:10px;color:var(--count-green);font-size:2rem}
.inventory-counting-create{
  display:grid;
  gap:17px;
  padding:20px;
  border:1px solid #decfb9;
  border-radius:18px;
  background:linear-gradient(135deg,#fff 0%,#faf7f0 100%);
  box-shadow:0 14px 34px rgba(59,47,34,.09);
}
.inventory-counting-create[hidden]{display:none}
.inventory-counting-create header,.inventory-counting-create footer{display:flex;justify-content:space-between;gap:12px;align-items:center}
.inventory-counting-create-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.inventory-counting-create label,.inventory-counting-tools label{display:grid;gap:7px;color:#554b42;font-weight:800}
.inventory-counting-create input,.inventory-counting-create select,
.inventory-counting-tools input,.inventory-counting-line input,.inventory-counting-line select,
.inventory-counting-review-row select,.inventory-counting-review-row textarea{
  width:100%;
  min-height:50px;
  border:1px solid #d9cbbd;
  border-radius:13px;
  background:#fff;
  color:var(--count-ink);
  font:inherit;
  padding:10px 12px;
  outline:none;
}
.inventory-counting-create input:focus-visible,.inventory-counting-create select:focus-visible,
.inventory-counting-tools input:focus-visible,.inventory-counting-line input:focus-visible,
.inventory-counting-line select:focus-visible,.inventory-counting-review-row select:focus-visible,
.inventory-counting-review-row textarea:focus-visible{
  border-color:#7b8f61;
  box-shadow:0 0 0 3px rgba(96,119,61,.16);
}
.inventory-counting-icon-button{display:grid;place-items:center;width:46px;height:46px;border:1px solid #d9cbbd;border-radius:50%;background:#fff;color:#6c6259}
.inventory-counting-icon-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2}
.inventory-counting-confirm{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:10px!important;padding:13px 15px;border-radius:13px;background:var(--count-green-soft);color:#3a5331!important}
.inventory-counting-confirm input{width:21px!important;height:21px!important;min-height:0!important;flex:0 0 auto;accent-color:var(--count-green)}
.inventory-counting-session-list{display:grid;gap:11px}
.inventory-count-session{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) repeat(4,minmax(90px,.55fr)) auto;
  gap:14px;
  align-items:center;
  padding:16px 18px;
  border:1px solid #e2d7c9;
  border-radius:16px;
  background:#fff;
}
.inventory-count-session h4{margin:0 0 5px;color:var(--count-ink);font-size:1.05rem}
.inventory-count-session p,.inventory-count-session small{margin:0;color:#7a7168}
.inventory-count-session-stat small{display:block;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.inventory-count-session-stat strong{display:block;margin-top:5px;color:var(--count-green)}
.inventory-count-session button{min-height:46px;padding:0 16px;border:1px solid #d5c5b3;border-radius:12px;background:#fff;color:#433a33;font-weight:900}
.inventory-count-session button.is-primary{border-color:var(--count-green);background:var(--count-green);color:#fff}
.inventory-counting-detail-header{align-items:center;padding-bottom:16px;border-bottom:1px solid #eee5dc}
.inventory-counting-status{flex:0 0 auto;padding:8px 12px;border-radius:999px;background:#edf4e8;color:#406036;font-size:.77rem;font-weight:900}
.inventory-counting-progress{display:grid;grid-template-columns:minmax(180px,auto) 1fr;align-items:center;gap:20px;padding:15px 18px;border-radius:15px;background:#f0f5e9}
.inventory-counting-progress strong,.inventory-counting-progress span{display:block}
.inventory-counting-progress span{margin-top:3px;color:#6b7661;font-size:.85rem}
.inventory-counting-progress progress{width:100%;height:10px;accent-color:#60783f}
.inventory-counting-tools{display:grid;grid-template-columns:minmax(300px,1fr) minmax(180px,.4fr) auto;gap:12px;align-items:end}
.inventory-counting-search{position:relative}
.inventory-counting-search svg{position:absolute;left:14px;bottom:15px;width:19px;height:19px;fill:none;stroke:#7c7269;stroke-width:2}
.inventory-counting-search input{padding-left:44px}
.inventory-counting-lines{display:grid;gap:10px}
.inventory-counting-line{
  display:grid;
  grid-template-columns:minmax(220px,1.2fr) minmax(110px,.45fr) minmax(125px,.5fr) auto;
  gap:12px;
  align-items:center;
  padding:14px;
  border:1px solid #e5dbd0;
  border-radius:16px;
  background:#fff;
}
.inventory-counting-line.is-dirty{border-color:#c89a43;box-shadow:inset 4px 0 #d7aa49}
.inventory-counting-line.is-blocked{border-color:#d99191;background:#fff8f7}
.inventory-counting-line.is-recount{border-color:#d0a761;background:#fffaf0}
.inventory-counting-line-name strong{display:block;color:#302b26;font-size:1rem}
.inventory-counting-line-name small{display:block;margin-top:5px;color:#83786e}
.inventory-counting-line-field{display:grid;gap:6px;color:#74695f;font-size:.76rem;font-weight:900}
.inventory-counting-line-actions{display:flex;align-items:center;gap:8px}
.inventory-counting-line-actions button{min-height:46px;padding:0 12px;border:1px solid #d8cbbb;border-radius:12px;background:#fff;color:#55483f;font-weight:900}
.inventory-counting-line-state{display:inline-flex;align-items:center;justify-content:center;min-width:96px;padding:7px 10px;border-radius:999px;background:#f0f2ed;color:#586352;font-size:.74rem;font-weight:900}
.inventory-counting-line-state.is-saved{background:#e7f1df;color:#406038}
.inventory-counting-line-state.is-blocked{background:#ffe8e5;color:#963f48}
.inventory-counting-extra{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-top:5px}
.inventory-counting-extra[hidden]{display:none}
.inventory-counting-issues,.inventory-counting-review,.inventory-counting-final{
  display:grid;
  gap:14px;
  padding:18px;
  border:1px solid #dfd2c3;
  border-radius:18px;
  background:#fff;
}
.inventory-counting-issues[hidden],.inventory-counting-review[hidden],.inventory-counting-final[hidden]{display:none}
.inventory-counting-issue,.inventory-counting-review-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:13px 14px;
  border-radius:13px;
  background:#fff5ed;
}
.inventory-counting-issue small,.inventory-counting-review-row small{display:block;color:#7c7167;margin-top:4px}
.inventory-counting-issue button{min-height:44px;border:1px solid #d7c5b2;border-radius:11px;background:#fff;padding:0 13px;font-weight:900}
.inventory-counting-review-row{grid-template-columns:minmax(180px,1fr) repeat(3,minmax(130px,.55fr));background:#faf8f4}
.inventory-counting-review-row textarea{min-height:62px;resize:vertical}
.inventory-counting-review-row .inventory-counting-delta{font-size:1.05rem;font-weight:900;color:var(--count-berry)}
.inventory-counting-final-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.inventory-counting-final-summary article{padding:14px;border-radius:13px;background:#f7f5f0}
.inventory-counting-final-summary small,.inventory-counting-final-summary strong{display:block}
.inventory-counting-final-summary strong{margin-top:6px;color:var(--count-green);font-size:1.35rem}
.inventory-counting-final-lines{grid-column:1/-1;max-height:260px;overflow:auto;border-top:1px solid #e7ddd2;padding-top:8px}
.inventory-counting-final-line{display:grid;grid-template-columns:1fr repeat(3,120px);gap:10px;padding:9px 4px;border-bottom:1px solid #eee6dc}
.inventory-counting-finalize{justify-self:end;min-height:52px;border:0;border-radius:13px;padding:0 20px;background:var(--count-berry);color:#fff;font-weight:900;box-shadow:0 10px 24px rgba(166,52,87,.2)}
.inventory-counting-finalize:disabled{opacity:.45;box-shadow:none}
.inventory-counting-actionbar{
  position:sticky;
  z-index:4;
  bottom:0;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  padding:13px 0 3px;
  background:linear-gradient(180deg,rgba(255,255,255,0),#fff 24%);
}
.inventory-counting-actionbar>span{margin-right:auto;color:#985f30;font-weight:900}
.inventory-counting-empty{padding:26px;text-align:center;color:#786f66}
@media(max-width:1100px){
  .inventory-counting-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .inventory-count-session{grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(80px,.5fr)) auto}
  .inventory-count-session-stat:nth-of-type(3),.inventory-count-session-stat:nth-of-type(4){display:none}
  .inventory-counting-line{grid-template-columns:minmax(210px,1fr) 120px 130px}
  .inventory-counting-line-actions{grid-column:1/-1;justify-content:flex-end}
  .inventory-counting-review-row{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .inventory-counting-workspace{padding:18px}
  .inventory-counting-header,.inventory-counting-detail-header{align-items:stretch;flex-direction:column}
  .inventory-counting-header-actions{justify-content:stretch}
  .inventory-counting-header-actions button{flex:1}
  .inventory-counting-create-grid,.inventory-counting-tools{grid-template-columns:1fr}
  .inventory-counting-session{grid-template-columns:1fr 1fr}
  .inventory-count-session>div:first-child,.inventory-count-session>button{grid-column:1/-1}
  .inventory-counting-line{grid-template-columns:1fr 1fr}
  .inventory-counting-line-name{grid-column:1/-1}
  .inventory-counting-line-actions{grid-column:1/-1}
  .inventory-counting-progress{grid-template-columns:1fr}
  .inventory-counting-final-summary{grid-template-columns:1fr 1fr}
  .inventory-counting-final-line{grid-template-columns:1fr 90px}
  .inventory-counting-final-line span:nth-child(2){display:none}
  .inventory-counting-actionbar{flex-wrap:wrap}
  .inventory-counting-actionbar>span{width:100%;margin:0}
}
@media(max-width:470px){
  .inventory-counting-workspace{padding:14px}
  .inventory-counting-metrics,.inventory-counting-line,.inventory-counting-final-summary,.inventory-counting-review-row{grid-template-columns:1fr}
  .inventory-counting-finalize{width:100%}
}
