*{box-sizing:border-box}html,body{margin:0;padding:0}body{color:#23281c;background:#f6f7f4;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}main{max-width:420px;padding:calc(24px + env(safe-area-inset-top,0px)) calc(16px + env(safe-area-inset-right,0px)) calc(24px + env(safe-area-inset-bottom,0px)) calc(16px + env(safe-area-inset-left,0px));margin:0 auto}h1{margin:0 0 16px;font-size:1.35rem}label{margin:12px 0 4px;font-size:.9rem;display:block}input{background:#fff;border:1px solid #c3c9ba;border-radius:8px;width:100%;min-height:44px;padding:8px 12px;font-size:1rem}button{color:#fff;cursor:pointer;background:#80b22b;border:none;border-radius:8px;width:100%;min-height:44px;margin-top:16px;font-size:1rem;font-weight:600}button:disabled{opacity:.6;cursor:default}.err{color:#7a1f1f;background:#fbe6e6;border-radius:8px;margin-top:12px;padding:10px 12px;font-size:.92rem}.notice{color:#3c4a1a;background:#eef3e0;border-radius:8px;margin:0 0 12px;padding:10px 12px;font-size:.92rem}.row{justify-content:space-between;align-items:center;gap:12px;display:flex}.muted{color:#6b7360;font-size:.9rem}a{color:#4a6a12}main.wide{max-width:960px}section{margin-top:28px}h2{margin:0 0 10px;font-size:1.05rem}.createform{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.createform input,.createform select{flex:160px;width:auto;min-height:40px}.createform button{flex:none;width:auto;min-height:40px;margin-top:0;padding:0 16px}select{background:#fff;border:1px solid #c3c9ba;border-radius:8px;padding:8px 12px;font-size:1rem}.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;vertical-align:middle;border-bottom:1px solid #e2e6d8;padding:8px 10px}th{color:#4a5340;white-space:nowrap;font-weight:600}td.actions{white-space:nowrap}button.sec{color:#35401f;background:#eef3e0;border:1px solid #c3c9ba;border-radius:6px;width:auto;min-height:34px;margin:2px 4px 2px 0;padding:0 10px;font-size:.82rem}.badge{border-radius:999px;padding:2px 8px;font-size:.78rem;font-weight:600;display:inline-block}.badge.ok{color:#3c4a1a;background:#e4f0cf}.badge.off{color:#666;background:#ececec}.badge.lock{color:#8a2a10;background:#fbe0d6}.badge.warn{color:#7a5a10;background:#fbf1cf}.linkbox{background:#fdfaef;border:1px dashed #b7a24a;border-radius:8px;margin:12px 0;padding:12px}.linkbox code{word-break:break-all;color:#23281c;margin-top:6px;font-size:.85rem;display:block}main.sklad{max-width:640px}.sklad-info{margin:0 0 10px;font-size:.85rem}.zalozky{gap:6px;margin:14px 0 10px;display:flex}.zalozky button{color:#35401f;background:#eef3e0;border:1px solid #c3c9ba;border-radius:8px;flex:1 1 0;width:auto;min-height:44px;margin:0;padding:4px 6px;font-size:.85rem;line-height:1.2}.zalozky button.on{color:#fff;background:#80b22b;border-color:#80b22b}.zalozky .pocet{background:#0000001f;border-radius:999px;margin-left:4px;padding:0 6px;font-size:.78rem;font-weight:700;display:inline-block}.zalozky button.on .pocet{background:#ffffff40}main.sklad input[type=search]{margin:0 0 4px}main.sklad section{margin-top:12px}main.sklad details{margin-top:16px}main.sklad summary{cursor:pointer;padding:8px 0}.karty{flex-direction:column;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.karta{background:#fff;border:1px solid #e2e6d8;border-radius:10px;padding:10px 12px}.karta-hlava{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.karta .nazov{overflow-wrap:anywhere;font-weight:600;line-height:1.3}.karta-meta{margin-top:2px;font-size:.82rem}.karta-udaje{grid-template-columns:max-content 1fr;gap:3px 10px;margin:8px 0 0;font-size:.9rem;display:grid}.karta-udaje dt{color:#6b7360;white-space:nowrap}.karta-udaje dd{overflow-wrap:anywhere;margin:0}.karta .stav{font-weight:600}.karta .stav.nula{color:#a11;font-weight:700}.karta-pozn{color:#6b7360;margin:8px 0 0;padding-left:16px;font-size:.82rem}.karta-znacky{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.badge.znacka{color:#35401f;cursor:pointer;font:inherit;background:#eef3e0;border:1px solid #c3c9ba;font-size:.78rem;font-weight:600;line-height:1.4}.badge.znacka.on{color:#fff;background:#80b22b;border-color:#80b22b}.znacka-vyber{align-items:center;gap:8px;margin:6px 0 4px;font-size:.9rem;display:flex}.znacka-vyber select{min-width:0;font:inherit;background:#fff;border:1px solid #c3c9ba;border-radius:8px;flex:auto;padding:8px}.znacka-vyber .badge{cursor:pointer;font:inherit;border:0;font-size:.78rem;font-weight:600}.kartony-suhrn b{color:#7a5a00}.badge.trieda-A1{color:#2f5e12;background:#dff0d8}.badge.trieda-A2{color:#3f6a1a;background:#e6f0d6}.badge.trieda-B{color:#7a5a00;background:#fff3cd}.badge.trieda-C{color:#555;background:#ececec}.pnav{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 18px;display:flex}.pnav a{color:#35401f;background:#eef3e0;border:1px solid #c3c9ba;border-radius:8px;align-items:center;min-height:40px;padding:0 14px;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.pnav a.on{color:#fff;background:#80b22b;border-color:#80b22b}.pnav a[href=\/sklad]:not(.on),.pnav a[href=\/predikcia]:not(.on){color:#fff;background:#5f8a1c;border-color:#5f8a1c}.pnav .pnav-out{color:#6b7360;background:0 0;border:1px solid #c3c9ba;border-radius:8px;width:auto;min-height:40px;margin:0 0 0 auto;padding:0 12px;font-size:.85rem;font-weight:500}.badge.znacka,.badge.off.smer{width:auto;min-height:0;margin:0}.vynimka{flex-direction:column;gap:3px;margin-top:10px;display:flex}.vynimka button{border-radius:999px;align-self:flex-start;width:auto;min-height:40px;margin:0;padding:0 16px;font-size:.9rem}.vynimka .vyn-daj{background:#5e8420}.vynimka .vyn-zrus{background:#b3261e}.vyn-chyba{color:#a11;font-size:.85rem}.prepinac{background:#fafaf7;border:1px solid #e2e2dd;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 12px;padding:12px 14px;display:flex}.prepinac.zap{background:#f0f6e6;border-color:#a8c47a}.prepinac>div{flex:220px}.prepinac p{margin:4px 0 0}.prepinac button{border-radius:999px;width:auto;min-height:44px;margin:0;padding:0 16px}.prepinac .prep-vyp{background:#b3261e}.prepinac .err{flex-basis:100%}.zalozky.zalozky-2{flex-wrap:wrap}.zalozky.zalozky-2 button{flex:calc(25% - 6px);min-width:80px}button.sec.hladaj{color:#35401f;background:#eef3e0;border:1px solid #c3c9ba;min-height:40px;margin:4px 0 6px;font-size:.9rem}section.hladanie{background:#fdfaef;border:1px dashed #b7a24a;border-radius:10px;margin:10px 0;padding:10px}section.hladanie .badge{cursor:pointer;border:0;width:auto;min-height:0;margin:0}.znacka-vyber .badge{width:auto;min-height:32px;margin:0;padding:2px 10px}details.blok{background:#fbfbf7;border:1px solid #d9d9d0;border-radius:10px;margin:10px 0;padding:6px 12px}details.blok summary{cursor:pointer;padding:6px 0}details.blok p{margin:8px 0;font-size:.88rem}.vysvetlivky{flex-direction:column;gap:8px;margin:4px 0 8px;font-size:.88rem;display:flex}.vysvetlivky dt{font-weight:600}.vysvetlivky dd{margin:2px 0 0}.vysvetlivky .robit{color:#3c4a1a;font-weight:600}.ovladanie{margin:8px 0 6px}.pohlad{gap:6px;margin:8px 0 0;display:flex}.pohlad button{color:#35401f;background:#eef3e0;border:1px solid #c3c9ba;flex:1 1 0;width:auto;min-height:40px;margin:0;font-size:.88rem}.pohlad button.on{color:#fff;background:#80b22b;border-color:#80b22b}.filter-info{color:#a11;margin:6px 0 0;font-size:.88rem}.sekcia-hlava{margin:6px 0 2px}details.skupina{background:#fff;border:1px solid #e2e6d8;border-radius:10px;margin:6px 0;padding:4px 10px}details.skupina summary{cursor:pointer;padding:8px 0}table.bt{border-collapse:collapse;white-space:nowrap;font-size:.8rem}table.bt th,table.bt td{text-align:right;border-bottom:1px solid #e8e8e0;padding:4px 7px}table.bt th:first-child,table.bt td:first-child,table.bt th:nth-child(2),table.bt td:nth-child(2){text-align:left}
