/* Учёт склада */
:root{box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);--bg:#faf6f8;--card:#fff;--tx:#2b2230;--mu:#7a6d80;--ac:#7b3f61;--ac2:#f1e4ec;--bd:#e3d6de;--bad:#c0392b;--ok:#2e7d4f;--warn:#b26a00;--warnbg:#fff4e0}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#1b161d;--card:#272029;--tx:#f0e8f2;--mu:#a999b0;--ac:#c77ba3;--ac2:#3a2a38;--bd:#3d3340;--bad:#ff7b6b;--ok:#6fcf97;--warn:#ffb74d;--warnbg:#3b2f1a}}
:root[data-theme="dark"]{--bg:#1b161d;--card:#272029;--tx:#f0e8f2;--mu:#a999b0;--ac:#c77ba3;--ac2:#3a2a38;--bd:#3d3340;--bad:#ff7b6b;--ok:#6fcf97;--warn:#ffb74d;--warnbg:#3b2f1a}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--tx);font:16px/1.4 Arial,Helvetica,sans-serif}
main{max-width:760px;margin:0 auto;padding:12px 12px 40px}
h1{font-size:20px;margin:6px 0 10px}
nav{display:flex;gap:6px;margin-bottom:12px}
nav button{flex:1;padding:10px 4px;border:1px solid var(--bd);background:var(--card);color:var(--tx);border-radius:10px;font:inherit;font-size:14px}
nav button.on{background:var(--ac);color:#fff;border-color:var(--ac)}
.card{background:var(--card);border:1px solid var(--bd);border-radius:12px;padding:12px;margin-bottom:12px}
.card.warnc{background:var(--warnbg);border-color:var(--warn)}
.ops{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ops button{padding:14px 6px;border:2px solid var(--bd);background:var(--card);color:var(--tx);border-radius:10px;font:inherit;font-size:15px}
.ops button.on{border-color:var(--ac);background:var(--ac2);font-weight:bold}
label{display:block;font-size:13px;color:var(--mu);margin:10px 0 3px}
select,input{width:100%;padding:12px;border:1px solid var(--bd);border-radius:10px;background:var(--card);color:var(--tx);font:inherit}
.row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.row>div{min-width:0}input[type=date]{min-width:0;max-width:100%;-webkit-appearance:none;appearance:none;min-height:46px;text-align:left}
.go{width:100%;margin-top:14px;padding:15px;background:var(--ac);color:#fff;border:0;border-radius:12px;font:inherit;font-weight:bold;font-size:17px}
.go:disabled{opacity:.5}
.msg{margin-top:10px;font-size:14px;min-height:20px;color:var(--ok)}
.msg.e{color:var(--bad)}
.wrap{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:14px}
th,td{padding:8px 6px;border-bottom:1px solid var(--bd);text-align:center;white-space:nowrap}
th{color:var(--mu);font-weight:normal;font-size:12px;white-space:normal}
td:first-child,th:first-child{text-align:left}
tr.m{cursor:pointer}tr.m.sel td{background:var(--ac2)}
.neg{color:var(--bad);font-weight:bold}.big{font-weight:bold}.lw{color:var(--warn);font-weight:bold}
.hint{color:var(--mu);font-size:13px}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.chip{background:var(--ac2);border-radius:16px;padding:6px 10px;font-size:14px}
.chip.lowc{background:var(--card);border:1px solid var(--warn);color:var(--warn)}
.chip b{margin-left:8px;color:var(--mu);cursor:pointer}
.add{display:flex;gap:8px}.add button{padding:0 16px;border:0;border-radius:10px;background:var(--ac);color:#fff;font:inherit}
.h{display:flex;justify-content:space-between;gap:8px;padding:9px 0;border-bottom:1px solid var(--bd);font-size:14px}
.h small{color:var(--mu)}.h button{border:0;background:none;color:var(--bad);font-size:20px}
.hb{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:6px}.hb button{padding:8px 12px;border:1px solid var(--bd);border-radius:8px;background:var(--card);color:var(--tx);font:inherit;font-size:14px}.hb .d{background:var(--bad);color:#fff;border-color:var(--bad)}.hb .g{background:var(--ac);color:#fff;border-color:var(--ac)}.hb input{width:90px;padding:8px}.h .ic{display:flex;gap:4px;align-items:flex-start}.h .ic button{font-size:20px;padding:4px 8px;color:var(--tx)}.h .ic .x{color:var(--bad)}
.oi,.gi{width:58px;padding:8px 2px;text-align:center}
.seg{display:flex;gap:6px;margin:8px 0}.seg button{padding:7px 12px;border:1px solid var(--bd);border-radius:16px;background:var(--card);color:var(--tx);font:inherit;font-size:13px}.seg button.on{background:var(--ac);color:#fff}
.mrow{display:flex;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid var(--bd)}
.mrow .hb button{white-space:nowrap}.hb .xx{border:0;background:none;color:var(--bad);font-size:20px;padding:4px 8px}
.msed{background:var(--ac2);border-radius:10px;padding:10px 12px;margin-top:8px}
.tg{padding:6px 12px;border:1px solid var(--bd);border-radius:16px;background:var(--card);color:var(--tx);font:inherit;font-size:14px;cursor:pointer}
.tg.on{background:var(--ac);color:#fff;border-color:var(--ac)}
.tl{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14px;color:var(--mu)}.tl b{color:var(--tx);font-size:16px;margin-left:4px}
.mgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.mc{display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left;padding:12px;border:1px solid var(--bd);border-radius:12px;background:var(--card);color:var(--tx);font:inherit;cursor:pointer}
.mc:hover{border-color:var(--ac)}.mc:focus-visible{outline:2px solid var(--ac);outline-offset:1px}
.mc0{opacity:.6}
.mcn{font-size:20px;font-weight:bold}
.mcs{display:flex;gap:14px;font-size:12px;color:var(--mu)}.mcs b{display:block;font-size:17px;color:var(--tx);font-variant-numeric:tabular-nums}.mcs b.neg{color:var(--bad)}
.mcl{font-size:12px;color:var(--warn);border:1px solid var(--warn);border-radius:10px;padding:2px 8px}
.mh{font-size:22px;font-weight:bold;margin-bottom:10px}
.kt{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}
.kt div{background:var(--bg);border-radius:10px;padding:8px 10px}.kt span{display:block;font-size:12px;color:var(--mu)}.kt b{font-size:20px;font-variant-numeric:tabular-nums}.kt .kt1{background:var(--ac2)}
.pl{font-size:12px;padding:2px 8px;border-radius:10px;white-space:nowrap}.pl.po{background:var(--ac2);color:var(--ok)}.pl.pb{background:var(--warnbg);color:var(--bad)}
tr.bx td{background:var(--bg);white-space:normal}
table.in{font-size:13px}table.in td,table.in th{padding:5px 6px}
.flt{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin-top:8px}.flt .full{grid-column:1/3}

/* Производство */
/* Layout: one narrow working column, tab bar on top, list items with inline forms; same palette as «Учёт склада» */
:root{--badbg:#fdeceb;--okbg:#e7f4ec;--font:Arial,Helvetica,sans-serif}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--badbg:#3b2020;--okbg:#1d3326}}
:root[data-theme="dark"]{--badbg:#3b2020;--okbg:#1d3326}
#P{max-width:820px;margin:0 auto;padding:12px 16px 80px}
#P h1{font-size:20px;margin:6px 0 10px}
#P h2{font-size:16px;margin:0 0 6px}
#P h3{font-size:14px;margin:12px 0 4px;color:var(--mu);font-weight:normal;text-transform:uppercase;letter-spacing:.04em}
#P nav{display:flex;gap:6px;margin-bottom:12px;overflow-x:auto;padding-bottom:2px}
#P nav button{flex:1 0 auto;padding:10px 10px;border:1px solid var(--bd);background:var(--card);color:var(--tx);border-radius:10px;font:inherit;font-size:14px}
#P nav button.on{background:var(--ac);color:#fff;border-color:var(--ac)}
#P .card{background:var(--card);border:1px solid var(--bd);border-radius:12px;padding:12px;margin-bottom:12px}
#P .card.warnc{background:var(--warnbg);border-color:var(--warn)}
#P .hint{color:var(--mu);font-size:13px}
#P .sub{color:var(--mu);font-size:13px}
#P label{display:block;font-size:13px;color:var(--mu);margin:8px 0 3px}
#P select,#P input,#P textarea{width:100%;padding:10px;border:1px solid var(--bd);border-radius:10px;background:var(--card);color:var(--tx);font:inherit;min-width:0}
#P input[type=date]{-webkit-appearance:none;appearance:none;min-height:44px;max-width:100%}
#P input:focus-visible,#P select:focus-visible,#P button:focus-visible{outline:2px solid var(--ac);outline-offset:1px}
#P .row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
#P .row3{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1.3fr) minmax(0,1fr) auto;gap:6px;align-items:end}
#P .fld{min-width:0}
#P button{cursor:pointer}
#P .acts{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:8px}
#P .acts button,#P .btn{padding:8px 12px;border:1px solid var(--bd);border-radius:8px;background:var(--card);color:var(--tx);font:inherit;font-size:14px}
#P .acts .g,#P .btn.g{background:var(--ac);color:#fff;border-color:var(--ac)}
#P .acts .d{background:var(--bad);color:#fff;border-color:var(--bad)}
#P .acts .t{border:0;background:none;color:var(--bad);padding:8px 6px}
#P .go{width:100%;margin-top:12px;padding:13px;background:var(--ac);color:#fff;border:0;border-radius:12px;font:inherit;font-weight:bold;font-size:16px}
#P .bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;margin:4px 0 10px}
#P .seg{display:flex;flex-wrap:wrap;gap:6px}
#P .seg button{padding:7px 12px;border:1px solid var(--bd);border-radius:16px;background:var(--card);color:var(--tx);font:inherit;font-size:13px}
#P .seg button.on{background:var(--ac);color:#fff;border-color:var(--ac)}
#P .seg button span{opacity:.75;margin-left:2px}
#P .it{border-bottom:1px solid var(--bd);padding:10px 0}
#P .it:last-child{border-bottom:0}
#P .ih{display:flex;gap:10px;justify-content:space-between;align-items:flex-start}
#P .ih.click{cursor:pointer}
#P .ml{min-width:0;flex:1}
#P .mr{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
#P .pill{display:inline-block;font-size:12px;padding:2px 8px;border-radius:10px;vertical-align:1px;white-space:nowrap}
#P .pw{background:var(--warnbg);color:var(--warn)}
#P .pa{background:var(--ac2);color:var(--ac)}
#P .po{background:var(--okbg);color:var(--ok)}
#P .pb{background:var(--badbg);color:var(--bad)}
#P .frm{background:var(--ac2);border-radius:10px;padding:4px 10px 10px;margin-top:8px}
#P .wrap{overflow-x:auto}
#P table{border-collapse:collapse;width:100%;font-size:14px;font-variant-numeric:tabular-nums}
#P th,#P td{padding:7px 6px;border-bottom:1px solid var(--bd);text-align:right;white-space:nowrap}
#P th{color:var(--mu);font-weight:normal;font-size:12px;white-space:normal}
#P td:first-child,#P th:first-child{text-align:left;white-space:normal}
#P tr.tot td{font-weight:bold;border-bottom:0}
#P .gi{width:56px;padding:7px 2px;text-align:center}
#P .kp{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin:8px 0}
#P .kp div{background:var(--bg);border-radius:10px;padding:8px 10px}
#P .kp b{display:block;font-size:17px;font-variant-numeric:tabular-nums}
#P .kp .neg b{color:var(--bad)}
#P .thumb{width:48px;height:48px;border-radius:8px;object-fit:cover;flex:0 0 48px;background:var(--ac2)}
#P .ph{width:120px;height:120px;border-radius:10px;object-fit:cover;display:block;margin-top:6px}
#P .neg{color:var(--bad)}.okc{color:var(--ok)}
#P .cf{display:inline-flex;gap:6px;align-items:center;font-size:14px}
#P .rm{border:0;background:none;color:var(--bad);font-size:20px;padding:6px 4px;line-height:1}
#P .empty{color:var(--mu);font-size:14px;padding:6px 0}
#P .lnk{border:0;background:none;color:var(--ac);font:inherit;padding:0;text-decoration:underline}
#ptoast{position:fixed;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));max-width:560px;margin:0 auto;background:var(--tx);color:var(--bg);padding:12px 14px;border-radius:12px;font-size:15px;z-index:9}
#ptoast.e{background:var(--bad);color:#fff}
@media (max-width:480px){#P .row3{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}#P .row3 .fld:first-child{grid-column:1/3}}

#P .chs{display:flex;flex-wrap:wrap;gap:6px}
#P .ch{padding:7px 12px;border:1px solid var(--bd);border-radius:16px;background:var(--card);color:var(--tx);font:inherit;font-size:14px}
#P .ch.on{background:var(--ac);color:#fff;border-color:var(--ac)}
#P .add2{display:flex;gap:6px;margin-top:6px}
#P .add2 input{flex:1}
.sw{display:flex;gap:6px;justify-content:flex-end;margin:4px 0 -4px}
.sw a{font-size:13px;color:var(--mu);text-decoration:none;border:1px solid var(--bd);border-radius:14px;padding:4px 10px}
.sw a.on{color:var(--ac);border-color:var(--ac)}

/* Общее: вход, верхняя панель, сотрудники */
[hidden]{display:none!important}
:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
#top{max-width:820px;margin:0 auto;padding:10px 16px 0}
.topin{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}
.topin .sw{margin:0;justify-content:flex-start}
.who{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--mu);margin-left:auto}
.who .rl{border:1px solid var(--bd);border-radius:10px;padding:2px 8px}
.who button,.btn2{padding:6px 12px;border:1px solid var(--bd);border-radius:8px;background:var(--card);color:var(--tx);font:inherit;font-size:14px;cursor:pointer}
.auth{max-width:400px;margin:40px auto;background:var(--card);border:1px solid var(--bd);border-radius:14px;padding:20px}
.auth h1{margin-top:0}
.lnk2{border:0;background:none;color:var(--ac);font:inherit;font-size:14px;padding:0;margin-top:12px;cursor:pointer;text-decoration:underline}
.srow{display:grid;grid-template-columns:minmax(0,1fr) 150px auto;gap:8px;align-items:end;padding:10px 0;border-bottom:1px solid var(--bd)}
.srow .sn input{margin-top:6px}
.srow select{padding:10px}
.steps{padding-left:20px;margin:8px 0;font-size:14px;line-height:1.5}
@media (max-width:560px){.srow{grid-template-columns:1fr 1fr}.srow .sn{grid-column:1/3}}
