:root{font-family:Arial,Helvetica,sans-serif;color:#1d2926;background:#f5f7f3}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{background:#225c4b;color:white;border:1px solid #225c4b;border-radius:9px;padding:11px 17px;cursor:pointer;font-weight:700}button:hover{background:#194737}button:disabled{opacity:.55;cursor:wait}.ghost{background:transparent;color:#225c4b}.ghost:hover{background:#e3eee8}.hidden{display:none!important}header{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 28px;background:#fff;border-bottom:1px solid #dce6df}header strong{display:block;font-size:20px}header small{display:block;color:#63746d;margin-top:3px}.headerTools{display:flex;align-items:end;gap:15px}.headerTools label{font-size:12px;color:#53625b}nav{display:flex;gap:7px;padding:12px 28px;background:#fff;border-bottom:1px solid #dce6df;overflow:auto}nav button{background:transparent;color:#4a5b53;border:0;padding:10px 13px;white-space:nowrap}nav button.active{background:#225c4b;color:#fff}nav button:hover:not(.active){background:#e3eee8}.panel{max-width:1250px;margin:28px auto;padding:0 28px 60px}.panelHead{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#39715e}h1{font-size:31px;margin:4px 0 8px}h2{font-size:18px;margin:28px 0 12px}p{line-height:1.45;color:#596b61;margin:0}.scanForm,.importForm{display:flex;align-items:end;gap:12px;flex-wrap:wrap;padding:22px;border:1px solid #dce6df;border-radius:13px;background:#fff}.scanForm label{min-width:150px;flex:1}.scanForm label.wide{flex:2;min-width:240px}.scanForm button{min-height:43px}.stackForm{display:grid;gap:11px;background:#fff;border:1px solid #dce6df;border-radius:13px;padding:20px}.stackForm button{justify-self:start}label{display:grid;gap:6px;font-size:13px;font-weight:700;color:#354a40}input,select{width:100%;min-height:43px;border:1px solid #bdcec4;border-radius:8px;background:#fff;padding:9px 11px;color:#1d2926}input:focus,select:focus{outline:2px solid #66a88b;outline-offset:1px}.result{margin:14px 0;min-height:20px}.result.good,.status.good{color:#145b40;background:#e6f4ec;padding:12px;border-radius:8px}.result.bad,.status.bad{color:#8c2830;background:#fff0f0;padding:12px;border-radius:8px}.hint{margin:16px 0;padding:14px 17px;background:#ecf1e9;border-radius:9px;color:#4c6054;line-height:1.5}.split{display:grid;grid-template-columns:1fr 1fr;gap:24px}.tableWrap{overflow:auto;background:#fff;border:1px solid #dce6df;border-radius:10px}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;border-bottom:1px solid #e8eee9;padding:9px 11px}th{color:#607269;background:#f7faf7}tr:last-child td{border:0}.importForm label{min-width:180px;flex:1}.mapping{flex-basis:100%;display:flex;gap:12px;flex-wrap:wrap}.mapping label{min-width:160px}.linkGrid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:20px}.linkGrid a{display:block;padding:12px;border:1px solid #bdd4c5;border-radius:8px;color:#225c4b;text-decoration:none;background:#fff;font-weight:700}.login{max-width:450px;margin:12vh auto;padding:32px;border:1px solid #dce6df;border-radius:14px;background:#fff}.login form{margin-top:24px;display:grid;gap:14px}.status{max-width:1250px;margin:14px auto}.status.hidden{display:none}a{color:#225c4b}@media(max-width:760px){header{padding:15px}nav{padding:10px}.panel{padding:0 15px}.split{grid-template-columns:1fr}.scanForm{display:grid}.panelHead{align-items:start}h1{font-size:25px}}

#appView[data-channel="WB"]{--channel-bg:#fff5fa;--channel-surface:#fff0f7;--channel-accent:#9d1b68;--channel-hover:#76134d;--channel-border:#e8b5d0;--channel-ink:#6b1247}
#appView[data-channel="OZON"]{--channel-bg:#f2f7ff;--channel-surface:#eaf3ff;--channel-accent:#0759b8;--channel-hover:#00458e;--channel-border:#b3cff5;--channel-ink:#073d7c}
#appView{min-height:100vh;background:var(--channel-bg)}
#appView header,#appView nav{background:var(--channel-surface);border-color:var(--channel-border)}
#appView #channel{min-width:150px;border:2px solid var(--channel-accent);color:var(--channel-ink);font-weight:700}
#appView .channelBadge{align-self:end;white-space:nowrap;padding:12px 14px;border:1px solid var(--channel-border);border-radius:8px;background:#fff;color:var(--channel-ink);font-size:13px;font-weight:700}
#appView button{background:var(--channel-accent);border-color:var(--channel-accent)}
#appView button:hover{background:var(--channel-hover)}
#appView .ghost{background:transparent;color:var(--channel-accent)}
#appView .ghost:hover{background:#fff}
#appView nav button:not(.active){background:transparent;color:var(--channel-ink);border:0}
#appView nav button:hover:not(.active){background:#fff}
#appView nav button.active{background:var(--channel-accent);color:#fff}
#appView .eyebrow,#appView a,#appView .linkGrid a{color:var(--channel-accent)}
#appView .linkGrid a{border-color:var(--channel-border)}
#appView .hint{background:var(--channel-surface);color:var(--channel-ink)}
#appView input:focus,#appView select:focus{outline-color:var(--channel-accent)}
@media(max-width:760px){#appView header,#appView .headerTools{flex-wrap:wrap}}
.soundTools{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:0 0 14px;color:var(--channel-ink);font-size:13px}
.soundTools label,.confirmLine{display:flex;align-items:center;gap:9px;min-width:0!important;line-height:1.4}
.soundTools input,.confirmLine input{width:18px;min-height:18px;height:18px;margin:0;flex:none;accent-color:var(--channel-accent)}
.pickHint{margin:16px 0;padding:20px 24px;border:2px solid var(--channel-border);border-radius:12px;background:var(--channel-surface);color:var(--channel-ink);line-height:1.5}
.pickHint strong{display:block;font-size:clamp(30px,5vw,54px);line-height:1.12;margin-bottom:8px}
.pickHint.bad{border-color:#d89aa3;background:#fff0f0;color:#8c2830}
.cancelBlock{margin:24px 0;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.cancelBlock p{max-width:620px}
.cancelBlock .result{flex-basis:100%;margin:0}
#returnPanel{margin:24px 0;padding:18px;border:1px solid var(--channel-border);border-radius:12px;background:#fff}
#returnPanel h2{margin-top:0}
#returnPanel .scanForm{margin-top:16px}
#importPlan{white-space:pre-line}
.dispatchBlock{padding:20px;border:1px solid var(--channel-border);border-radius:14px;background:#fff;margin-bottom:28px}
.dispatchTools{display:flex;align-items:end;gap:12px;flex-wrap:wrap}
.dispatchTools label{flex:1;min-width:260px}
.dispatchTools button{min-height:43px}
#dispatchRoute{margin:14px 0}
.fastPanel{margin-top:18px;border-top:1px solid var(--channel-border);padding-top:4px}
.fastPanel .pickHint{margin:16px 0}
.fastScanLabel{font-size:14px}
#fastInput{font-size:22px;font-weight:700;min-height:56px;border:2px solid var(--channel-accent)}
.result.pending{padding:12px;border-radius:8px;background:#fff6d9;color:#67500a}
.fastActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.shipBlock{margin-top:28px;border-top:1px solid var(--channel-border);padding-top:20px}
.shipConfirm{margin-top:14px;padding:18px;border:2px solid var(--channel-accent);border-radius:12px;background:var(--channel-surface)}
.shipConfirm p{margin:16px 0}
.shipConfirm form{display:flex;gap:10px;flex-wrap:wrap}
.badText{color:#8c2830;font-weight:700}
.receiveTools{display:flex;align-items:end;gap:12px;flex-wrap:wrap;padding:18px 22px;border:1px solid var(--channel-border);border-radius:13px;background:#fff;margin-bottom:12px}
.receiveTools label{flex:1;min-width:260px}
#receiveFastPanel{padding:0 22px 18px;margin:0 0 12px;border:1px solid var(--channel-border);border-radius:13px;background:#fff}
#receiveFastInput{font-size:22px;font-weight:700;min-height:56px;border:2px solid var(--channel-accent)}
#receiveFastInput[readonly]{background:#f5f5f5;border-color:#bc777e}
@media print{#appView header,#appView nav,#globalStatus,#pick .panelHead button,#pick .soundTools,#pick .fastPanel,#pick #fastToggle,#pick .shipBlock,#pick>h2,#pick>p,#pick #pickForm,#pick #pickHint,#pick #pickResult,#pick #pickProgress,#pick #pickLines,#pick .cancelBlock,#pick #returnPanel,.dispatchTools button{display:none!important}#pick{max-width:none;margin:0;padding:0}#pick .dispatchBlock{border:0;padding:0}#pick .dispatchTools{display:block}#pick #dispatchRoute{overflow:visible}#pick table{font-size:11px}#pick tr{break-inside:avoid}}
