/* ============================================================
   Цех — QazNord. Стили цеховых экранов (выработка, косяки,
   прайс, бирки). Наполняется в задачах Ц2-2..Ц2-5.
   Только переменные канона из app.css (--bg, --card, --text,
   --hint, --accent, --green, --red, --orange, --violet, ...).
   ============================================================ */

/* ---------- Прайс (Ц2-2) ---------- */
.pr-search{margin-top:12px}
input.pr-search[type=search]{appearance:none;-webkit-appearance:none}
input.pr-search::-webkit-search-cancel-button{-webkit-appearance:none}

.pr-cats{
  margin:12px -16px 0;padding:2px 16px;
  flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;
}
.pr-cats::-webkit-scrollbar{display:none}
.pr-cats .chip{flex:none}
.pr-cnt{color:var(--hint);font-weight:600;font-size:12px}
.chip.on .pr-cnt{color:var(--accent)}

.pr-found{margin-top:16px}

.pr-card{padding:14px 16px;margin-top:10px}
.pr-name{font-size:14.5px;font-weight:600;line-height:1.35}
.pr-meta{font-size:12px;color:var(--hint);margin-top:3px}
.pr-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}
.pr-price{
  font-size:22px;font-weight:800;letter-spacing:-.01em;
  font-variant-numeric:tabular-nums;white-space:nowrap;
}
.pr-price small{font-size:14px;font-weight:700;color:var(--hint);margin-left:2px}
.pr-open{
  border:1.5px solid var(--line);background:transparent;color:var(--accent);
  font:inherit;font-size:12.5px;font-weight:700;cursor:pointer;
  padding:8px 13px;border-radius:100px;flex:none;
  transition:transform .12s,background .16s;
}
.pr-open:active{transform:scale(.95);background:var(--accent-08)}

.pr-empty{padding:26px 8px;text-align:center;color:var(--hint);font-size:14px;line-height:1.45}
.pr-updated{text-align:center;font-size:12px;color:var(--hint);margin:20px 0 8px}

/* ---------- Выработка (Ц2-3) ---------- */
.out-mt{margin-top:10px}
.out-date{margin-top:10px}

/* меню раздела */
.out-menu{margin-top:6px}
.out-item{
  width:100%;display:flex;align-items:center;gap:13px;text-align:left;
  border:none;cursor:pointer;font:inherit;background:var(--card);color:var(--text);
  border-radius:16px;padding:16px;box-shadow:var(--shadow);margin-top:12px;
  transition:transform .15s,background .25s;
}
.out-item:active{transform:scale(.97)}
.out-item .ico{
  width:44px;height:44px;border-radius:14px;font-size:21px;flex:none;
  display:flex;align-items:center;justify-content:center;
}
.out-item .tx{flex:1;min-width:0}
.out-item b{font-size:15.5px;font-weight:700;display:block}
.out-item i{font-style:normal;font-size:12.5px;color:var(--hint);display:block;margin-top:2px}
.out-item .chev{color:var(--hint);font-size:20px;flex:none}

/* статус-бейджи отчёта */
.out-badge{font-size:12px;font-weight:700;padding:5px 10px;border-radius:100px;white-space:nowrap;flex:none}
.st-draft{background:var(--seg-bg);color:var(--hint)}
.st-submitted{background:var(--accent-08);color:var(--accent)}
.st-checked{background:var(--green-08);color:var(--green)}
.st-returned{background:var(--orange-08);color:var(--orange)}

/* открытый отчёт: список записей */
.out-rephead{display:flex;align-items:center;justify-content:space-between;gap:10px}
.out-entry{display:flex;align-items:flex-start;gap:10px;padding:12px 0;border-top:1px solid var(--line)}
.out-entry:first-of-type{border-top:none}
.out-entry .mid{flex:1;min-width:0}
.out-entry .t{font-size:14.5px;font-weight:600}
.out-entry .s{font-size:12.5px;color:var(--hint);margin-top:2px}
.out-edit{
  border:none;background:var(--seg-bg);width:34px;height:34px;border-radius:11px;
  cursor:pointer;font-size:15px;flex:none;transition:transform .12s;
}
.out-edit:active{transform:scale(.9)}
.out-none{padding:16px 0 6px;color:var(--hint);font-size:14px}
.out-mark{font-size:11.5px;font-weight:700;padding:2px 7px;border-radius:100px;margin-left:6px;white-space:nowrap}
.out-mark.bad{background:var(--red-08);color:var(--red)}
.out-mark.warn{background:var(--orange-08);color:var(--orange)}
.out-retc{
  margin-top:14px;font-size:13px;line-height:1.45;color:var(--red);
  background:var(--red-08);border-radius:13px;padding:11px 14px;
}
.out-finish{margin-top:10px}

/* форма записи: крупный ввод количества и свитчи */
.out-qty{
  width:100%;border:1.5px solid var(--line);background:var(--card);color:var(--text);
  font:inherit;font-size:32px;font-weight:800;text-align:center;
  font-variant-numeric:tabular-nums;border-radius:16px;padding:12px;outline:none;
  transition:border-color .16s;
}
.out-qty:focus{border-color:var(--accent)}
.out-qty::placeholder{color:var(--hint)}
.out-switchrow{display:flex;align-items:center;justify-content:space-between;margin-top:18px}
.out-switchrow .lbl{font-size:15px;font-weight:700}
.sw{position:relative;display:inline-block;width:46px;height:28px;flex:none}
.sw input{opacity:0;width:0;height:0}
.sw .sl{
  position:absolute;inset:0;border-radius:100px;background:var(--seg-bg);
  transition:background .2s;cursor:pointer;
}
.sw .sl:before{
  content:"";position:absolute;width:22px;height:22px;border-radius:50%;
  left:3px;top:3px;background:var(--card);box-shadow:0 1px 4px rgba(0,0,0,.25);
  transition:transform .2s;
}
.sw input:checked + .sl{background:var(--accent)}
.sw input:checked + .sl:before{transform:translateX(18px)}

/* распиловка: мультиввод по материалам */
.out-saw{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line)}
.out-saw:first-of-type{border-top:none;padding-top:0}
.out-saw:last-of-type{padding-bottom:0}
.out-saw .n{font-size:15px;font-weight:600}
.out-saw input{
  width:110px;text-align:center;border:1.5px solid var(--line);background:var(--card-2);
  color:var(--text);font:inherit;font-size:18px;font-weight:700;border-radius:12px;
  padding:10px;outline:none;font-variant-numeric:tabular-nums;transition:border-color .16s;
}
.out-saw input:focus{border-color:var(--accent)}
.out-saw input::placeholder{color:var(--hint)}

/* ---------- Косяки (Ц2-4) ---------- */
/* статусы косяка (канон DefectStatus) */
.st-df-new{background:var(--accent-08);color:var(--accent)}
.st-df-accepted{background:var(--green-08);color:var(--green)}
.st-df-rejected{background:var(--red-08);color:var(--red)}
.st-df-resolved{background:var(--violet-08);color:var(--violet)}

/* большая кнопка камеры */
.df-camera{
  width:100%;margin-top:14px;cursor:pointer;font:inherit;
  border:1.5px dashed var(--accent);background:var(--accent-08);color:var(--accent);
  font-size:16px;font-weight:700;padding:22px;border-radius:16px;
  transition:transform .12s,background .16s;
}
.df-camera:active{transform:scale(.97)}

/* превью-сетка 3 колонки */
.df-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.df-thumb{
  position:relative;aspect-ratio:1;border-radius:12px;overflow:hidden;
  background:var(--seg-bg);display:flex;align-items:center;justify-content:center;
  color:var(--hint);font-size:13px;
}
.df-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.df-vid{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:4px;font-size:24px;padding:6px;text-align:center;
}
.df-vid span{
  font-size:10.5px;color:var(--hint);max-width:100%;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.df-del{
  position:absolute;top:5px;right:5px;width:24px;height:24px;border:none;
  border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:12px;
  cursor:pointer;display:flex;align-items:center;justify-content:center;
}
.df-ok{
  position:absolute;top:5px;right:5px;width:24px;height:24px;
  border-radius:50%;background:var(--green);color:#fff;font-size:13px;
  display:flex;align-items:center;justify-content:center;
}

/* карточка «мои косяки» */
.df-line{font-size:13.5px;margin-top:10px;color:var(--hint);line-height:1.4}
.df-line b{color:var(--text);font-weight:600}
.df-media{margin-top:12px}

/* ---------- Выработка: мастерские экраны (Ц3-1) ---------- */
.m-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}
.m-nav .op-back:disabled{opacity:.35;cursor:default}
.m-date{font-size:16px;font-weight:800;letter-spacing:-.01em}
.m-quick{margin-top:10px}
.m-user{font-size:15px;font-weight:700}
.m-total{font-size:13.5px;margin-top:10px;line-height:1.5}
.m-total .out-mark{margin-left:2px}
.m-grand{
  font-size:13px;color:var(--hint);font-weight:600;margin-top:12px;
  padding-top:12px;border-top:1px solid var(--line);
}
.m-subm{font-size:16px;margin-top:8px}
.m-miss{font-size:14px;margin-top:10px}
.m-miss span{color:var(--hint)}
.m-stat{font-size:13px;color:var(--hint);margin-top:8px;line-height:1.5}
.m-stat b{color:var(--text)}
.m-pct{font-size:12px;font-weight:700;padding:5px 10px;border-radius:100px;white-space:nowrap;flex:none}
.m-pct.ok{background:var(--green-08);color:var(--green)}
.m-pct.warn{background:var(--orange-08);color:var(--orange)}
.m-pct.bad{background:var(--red-08);color:var(--red)}

/* ---------- Бирки (Ц2-5) ---------- */
.bk-orderrow{display:flex;gap:8px;align-items:center}
.bk-orderrow .finput{flex:1}
.bk-orderrow .chip{flex:none}

.bk-mat{padding:14px 16px;margin-top:10px}
.bk-mat-head{display:flex;align-items:center;justify-content:space-between}
.bk-qtyrow{display:flex;align-items:center;gap:10px;margin-top:10px}
.bk-qtyrow .bk-qty{
  flex:none;width:130px;text-align:center;font-size:20px;font-weight:700;
  font-variant-numeric:tabular-nums;
}
.bk-unit{font-size:14px;color:var(--hint);font-weight:600}

.bk-counter{
  margin-top:14px;text-align:center;font-size:14px;font-weight:700;
  color:var(--hint);background:var(--seg-bg);border-radius:13px;padding:11px;
  font-variant-numeric:tabular-nums;transition:color .2s,background .2s;
}
.bk-counter.over{color:var(--red);background:var(--red-08)}

.bk-sumline{
  font-size:13.5px;padding:10px 0 0;margin-top:10px;
  border-top:1px solid var(--line);
}
.bk-histbtns{display:flex;gap:10px;margin-top:14px}

/* ---------- Управление (Ц3-3) ---------- */
.ad-dictrow{margin-top:0;padding:13px 0;border-top:1px solid var(--line)}
.ad-dictrow:first-of-type{border-top:none;padding-top:0}
.ad-dictrow:last-of-type{padding-bottom:0}
.ad-dictrow.off .lbl{color:var(--hint);opacity:.6}
#screen-shop-manage .out-item .ava{width:44px;height:44px;font-size:15px;flex:none}

/* мои отчёты: свёрнутые карточки */
.out-rep .head{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer}
.out-rep .d{font-size:15.5px;font-weight:700}
.out-rep .n{font-size:12.5px;color:var(--hint);margin-top:2px}
.out-rep .body{max-height:0;overflow:hidden;transition:max-height .28s cubic-bezier(.2,.7,.3,1)}
.out-rep.open .body{max-height:900px}
.out-rep .out-retc{margin-top:12px}
