:root{--pink:#c93073;--ink:#262b35;--muted:#78818e;--border:#e7e9ee}*{box-sizing:border-box}body{margin:0;background:#f6f7fa;color:var(--ink);font:14px/1.6 'Microsoft YaHei',system-ui,sans-serif}header{background:white;border-bottom:1px solid var(--border);padding:18px 4%;display:flex;justify-content:space-between;align-items:center}header b{font-size:22px;letter-spacing:1px}.logo{display:inline-grid;place-items:center;background:var(--pink);color:white;border-radius:9px;width:34px;height:34px;margin-right:8px}header small{font-size:15px;color:#737984;font-weight:400;margin-left:12px}.badge{background:#fbeff5;color:#a72a60;border-radius:20px;padding:5px 12px;font-size:12px}main{max-width:1440px;margin:auto;padding:36px 4%}h1{font-size:32px;letter-spacing:1px;margin:6px 0}h2{font-size:18px;margin:0 0 12px}h3{font-size:26px;margin:10px 0 0}p{color:var(--muted);margin:6px 0 18px}.eyebrow{color:var(--pink);font-weight:700;letter-spacing:2px;font-size:11px}.heading,.title{display:flex;justify-content:space-between;align-items:center;gap:12px}.heading{margin-bottom:26px}button,.button{border:1px solid var(--border);background:white;padding:12px 18px;border-radius:9px;color:var(--ink);cursor:pointer;font:inherit;font-weight:600;display:inline-block}button:hover,.button:hover{border-color:var(--pink);color:var(--pink)}.primary{background:var(--pink);color:white;border-color:var(--pink)}.primary:hover{background:#ac2560;color:white}nav{display:flex;border-bottom:1px solid var(--border);gap:25px;margin-bottom:24px}nav button{background:none;border:0;border-radius:0;padding:12px 0 16px;color:var(--muted)}nav button.active{color:var(--pink);border-bottom:3px solid var(--pink)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat{background:white;border:1px solid var(--border);border-radius:12px;padding:17px 22px}.stat strong{display:block;font-size:27px;font-weight:600}.stat span{color:var(--muted);font-size:12px}.grid{display:grid;grid-template-columns:1.45fr 1fr;gap:24px}article{background:white;border:1px solid var(--border);padding:26px;border-radius:14px;min-width:0}.upload{border:1px dashed #dfb5c8;background:#fffafd;border-radius:10px;padding:20px;margin:20px 0}.upload p,.muted{font-size:12px}.tablewrap{max-height:360px;overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}td,th{padding:12px 9px;border-bottom:1px solid var(--border)}th{background:#fafbfc;position:sticky;top:0;color:var(--muted)}label{display:block;margin:15px 0;color:#626b78;font-size:12px}input,select{width:100%;border:1px solid #dde1e8;border-radius:8px;padding:12px;background:white;font:inherit;color:var(--ink);margin-top:6px;min-height:44px}.triple{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.check{display:flex;align-items:center;gap:8px}.check input{width:18px;min-height:18px;margin:0;accent-color:var(--pink)}.note{background:#f7f8fb;border-radius:9px;padding:14px;font-size:12px;color:#717986;margin:18px 0}.wide{width:100%;margin-top:16px}.hidden{display:none!important}#scene{background:linear-gradient(145deg,#f5f7fb,#eef1f7);border-radius:12px;height:420px;position:relative;overflow:hidden}canvas{width:100%;height:100%}.sceneLabel{position:absolute;bottom:18px;left:22px;color:#7d8797;font-size:12px}.legend{display:flex;gap:24px;color:#78818e;font-size:12px;margin-top:15px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.step{border:1px solid var(--border);border-left:4px solid var(--pink);border-radius:8px;padding:12px;font-size:12px}.step b{display:block}.controls{display:flex;gap:10px;margin:14px 0}.controls>*{flex:1;min-width:0}.controls input{margin:0}.count{display:flex;justify-content:space-around;text-align:center;background:#fbeff5;padding:23px 6px;border-radius:12px;margin:20px 0}.count b{font-size:32px;display:block;color:var(--pink)}.count span{font-size:12px;color:#7d6d76}progress{width:100%;height:12px;accent-color:var(--pink)}.list{max-height:420px;overflow:auto}.row{padding:12px 0;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;gap:15px}.row small{color:var(--muted)}footer{color:#959da8;font-size:11px;display:flex;justify-content:space-between;padding:28px 0}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#29323e;color:white;padding:12px 25px;border-radius:10px;display:none;z-index:10}a{color:var(--pink)}@media(max-width:750px){main{padding:22px 16px}.heading{align-items:flex-start}.heading>button{font-size:11px;padding:10px}h1{font-size:23px}.grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr);gap:10px}.stat{padding:12px 15px}.stat strong{font-size:23px}article{padding:18px}nav{gap:15px}nav button{font-size:12px}.steps{grid-template-columns:repeat(2,1fr)}#scene{height:290px}footer{display:block}header{padding:14px 16px}header small{margin:0;font-size:12px}header .badge{font-size:10px}.legend{gap:12px;font-size:10px}.title{align-items:flex-start}}
#queueBoard{margin-bottom:24px}#skuQueue{display:grid;grid-template-columns:repeat(8,1fr);gap:8px}.skuChip{display:flex;flex-direction:column;padding:9px;font-size:12px;text-align:left;position:relative}.skuChip small{color:#adb3be;font-size:10px}.skuChip span{color:#78818e;font-size:11px}.chosen{background:#fbeff5!important;border-color:#c93073!important;color:#a4215a!important}#batchQueue{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;max-height:300px;overflow:auto}.batchChip{font-size:12px;text-align:left}.currentFocus{padding:22px;background:#fbeff5;border:2px solid #c93073;border-radius:12px;margin:12px 0}.currentFocus h2{font-size:30px;color:#a4215a;margin:8px 0}.currentFocus h2 span{float:right}.currentFocus strong{font-size:20px}.directionDiagram{border:1px solid #e4b3c8;border-radius:8px;background:white;margin:15px 0;padding:15px;font-size:17px;color:#4c5665}.currentFocus p{color:#a4215a;margin-bottom:8px}details{margin:16px 0}summary{cursor:pointer;color:#a4215a;font-weight:600;padding:12px 0}.actual{padding:12px;background:#f7f8fb;border-radius:8px}.actual p{font-size:12px}.step{text-align:left}#activeCard{scroll-margin-top:20px}@media(max-width:750px){#skuQueue{grid-template-columns:repeat(4,1fr)}#batchQueue{grid-template-columns:repeat(2,1fr)}.currentFocus h2{font-size:27px}}
.layoutGuide{display:grid;gap:10px;background:#fff;border-radius:8px;padding:15px;margin-top:14px;border-left:4px solid #c93073}.layoutGuide strong{font-size:19px}.layoutGuide small{color:#747d87}.gate{padding:16px;border-radius:9px;background:#edf8f3;color:#28654a;margin:14px 0;font-weight:600}.gate.blocked{background:#fff2dc;color:#82531b}.photoActions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.photoActions label{margin:0}.photoStage{display:inline-block;padding:7px 10px;background:#f2f3f6;border-radius:7px;font-size:12px;margin:8px 5px 0 0}.photoStage.passed{background:#e6f4ed;color:#246544}#evidencePanel{margin-bottom:24px}#photoGallery{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}#photoGallery figure{margin:0}#photoGallery img{width:100%;height:110px;object-fit:cover;border-radius:7px}#photoGallery figcaption{font-size:10px;color:#7b8390}button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:750px){#photoGallery{grid-template-columns:repeat(3,1fr)}#evidencePanel .triple{grid-template-columns:1fr}.layoutGuide strong{font-size:17px}}
.workerScene svg{width:100%;max-height:440px;display:block}.boxOrientation{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e9d4de;border-radius:8px;padding:10px}.boxOrientation svg{width:45%;max-width:230px}.boxOrientation p{font-size:13px;margin:6px 0;color:#616c7b}.placementPart{border-top:1px solid #eadce2;padding-top:12px;display:grid;gap:7px}.placementPart strong{font-size:19px}.layoutGuide{padding:12px}#finishBatch{font-size:22px;padding:20px}#quantityException{margin:12px 0}#quantityException p{font-size:12px}#doorScene{height:100%;display:flex;justify-content:center}#doorScene svg{height:100%;width:100%}#scene{height:440px}#scene .sceneLabel{font-size:11px;bottom:4px;left:8px}#activeCard .currentFocus>strong{font-size:17px}@media(max-width:750px){.boxOrientation{gap:5px}.boxOrientation p{font-size:11px}.placementPart strong{font-size:17px}#scene{height:350px}.currentFocus{padding:12px}}
.workerScene svg{max-height:530px}.simplePlacement{padding:12px 0;border-top:1px solid #e5d9df}.simplePlacement>b{display:block;font-size:18px;color:#9e285c}.layerTiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.layerTiles>div{border:1px solid #e7dbe2;background:#fff;border-radius:8px;padding:8px;min-width:0}.layerTiles small{font-size:12px;color:#747d88}.layerTiles svg{display:block;width:100%;height:auto}.schematicNote{text-align:center;color:#969eaa;font-size:11px}.layoutGuide details{font-size:12px;color:#808995}.layoutGuide details>svg{width:160px;display:block}#scene{height:500px}@media(max-width:750px){.layerTiles{grid-template-columns:repeat(2,minmax(0,1fr))}.simplePlacement>b{font-size:16px}#scene{height:400px}}

.directionClear{margin:14px 0;padding:16px;background:#fff8ec;border:1px solid #e8cb95;border-radius:12px;text-align:center}.directionClear>b{font-size:19px;display:block}.directionClear>svg{width:100%;max-width:330px;display:block;margin:auto}.directionClear p{font-size:17px;line-height:1.7;margin:0}.simplePlacement summary{font-size:13px;color:#777;margin-top:10px}

.directionClear{margin:0;padding:8px;background:#fff8ec}.directionClear>svg{max-width:250px;max-height:220px}.workerScene svg{max-height:600px}.layoutGuide{gap:0}.placementDetails{font-size:13px}#workerPlacementDetails{margin-top:20px}
#scene{height:auto!important;min-height:220px;overflow:visible}#planPreview{padding:16px}.previewHeading h2{font-size:22px;margin:12px 0 6px}.previewHeading p{margin:0 0 10px}.previewNav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.previewNav button{flex:1}.previewEmpty{padding:55px 15px;text-align:center}#planPreview details svg{width:220px;display:block;margin:auto}#steps{margin-top:20px;max-height:360px;overflow:auto}#planPreview .workerScene svg{max-height:640px}

#serverBar{position:sticky;top:0;z-index:30;padding:12px;background:#fff;border-bottom:2px solid #c93073;display:flex;gap:16px;align-items:center;flex-wrap:wrap}#serverStatus{font-weight:bold;color:#a4215a}#serverBlock{position:fixed;inset:0;background:#ffffffed;z-index:100;display:grid;place-items:center}#serverBlock[hidden]{display:none}#serverBlock>div{max-width:600px;padding:25px}#serverBlock button,#serverBlock a{margin:8px}#subtractTen{margin:10px 0}
