﻿/* v668: machine-led cards. All selectors are scoped to UI v3. */
body[data-ui-version="3"] #app#app :is(.line-grid,.line-dock-list){grid-template-columns:repeat(4,minmax(0,1fr))!important}
body[data-ui-version="3"] #app#app :is(.line-card,.line-dock-item){background:#fff!important;color:#263c50!important}
body[data-ui-version="3"] #app#app .line-dock-icon{display:none!important}
body[data-ui-version="3"] #app#app .machine-stage{position:relative;display:grid;place-items:center;width:100%;background:#f4f8fc;border-radius:12px;min-height:150px}
body[data-ui-version="3"] #app#app .machine-art{display:block;width:70%;height:auto;aspect-ratio:1;object-fit:contain;max-height:190px}
body[data-ui-version="3"] #app#app .machine-light{position:absolute;right:12px;top:12px;width:10px;height:10px;border-radius:50%;background:#8c98a3;box-shadow:0 0 0 4px #fff}
body[data-ui-version="3"] #app#app [data-status="running"] .machine-art{animation:v668-vibrate .28s linear infinite}
body[data-ui-version="3"] #app#app [data-status="running"] .machine-light{background:#35a653;animation:v668-light 1.2s ease-in-out infinite}
body[data-ui-version="3"] #app#app [data-status="done"] .machine-light{background:#ed991c}
body[data-ui-version="3"] #app#app [data-status="broken"] .machine-light{background:#e44a58;animation:v668-light .8s ease-in-out infinite}
body[data-ui-version="3"] #app#app [data-status="broken"] .machine-smoke{position:absolute;width:26px;height:26px;top:25%;left:50%;border-radius:50%;background:#c9ced380;filter:blur(5px);animation:v668-smoke 2.4s ease-out infinite}
body[data-ui-version="3"] #app#app .machine-slots{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:7px}
body[data-ui-version="3"] #app#app .operator-slots{display:grid;grid-template-columns:minmax(0,1fr);gap:4px}
body[data-ui-version="3"] #app#app .operator-slots.two-shifts{grid-template-columns:repeat(2,minmax(0,1fr))}
body[data-ui-version="3"] #app#app .machine-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%;padding:8px 4px;background:#f5f9fd!important;color:#29465e!important;border:1px dashed #a9bfd0;min-height:90px;font-size:12px}
body[data-ui-version="3"] #app#app .machine-slot small{font-size:11px}
body[data-ui-version="3"] #app#app .machine-slot img{width:44px;height:44px;object-fit:contain}
body[data-ui-version="3"] #app#app .machine-slot .emp-portrait{display:block;width:32px;height:32px;flex:none}
body[data-ui-version="3"] #app#app .machine-slot:disabled{background:#edf0f3!important;color:#667481!important}
body[data-ui-version="3"] #app#app .machine-slot:focus-visible{outline:3px solid #289ed8;outline-offset:2px}
body[data-ui-version="3"] #app#app .production-person,body[data-ui-version="3"] #app#app .production-metrics>span:first-child{display:none!important}
body[data-ui-version="3"] #app#app .production-metrics{grid-template-columns:1fr;padding:6px 9px;order:3}
body[data-ui-version="3"] #app#app .production-metrics>span{display:flex;justify-content:space-between;align-items:center}
body[data-ui-version="3"] #app#app .production-facts{display:flex;flex-direction:column;gap:6px}
body[data-ui-version="3"] #app#app .machine-details{font-size:12px;color:#52677b;background:#f5f8fb;border-radius:8px;padding:8px}
body[data-ui-version="3"] #app#app .machine-details summary{cursor:pointer;font-weight:700}
body[data-ui-version="3"] #app#app .line-dock-head{min-height:32px}
@keyframes v668-vibrate{0%,100%{transform:translate(0,0)}25%{transform:translate(.5px,-.5px)}75%{transform:translate(-.5px,.5px)}}
@keyframes v668-light{50%{opacity:.35}}
@keyframes v668-smoke{0%{transform:translateY(0) scale(.6);opacity:0}35%{opacity:.6}100%{transform:translateY(-32px) scale(1.6);opacity:0}}
@media(max-width:1100px){body[data-ui-version="3"] #app#app :is(.line-grid,.line-dock-list){grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:520px){body[data-ui-version="3"] #app#app :is(.line-grid,.line-dock-list){grid-template-columns:1fr!important}}
@media(prefers-reduced-motion:reduce){body[data-ui-version="3"] #app#app :is(.machine-art,.machine-light,.machine-smoke){animation:none!important}body[data-ui-version="3"] #app#app .machine-smoke{display:none!important}}
body[data-ui-version="3"] #app#app .line-controls-body:not([hidden]){display:block!important;height:auto!important;max-height:none!important;overflow:visible!important}
/* v668b 矮螢幕（手機橫向）：機器圖縮小，一張卡不用捲就看到插槽與按鈕 */
@media(max-height:500px){body[data-ui-version="3"] #app#app .machine-stage{height:96px!important;min-height:0!important;padding:4px!important}body[data-ui-version="3"] #app#app .machine-art{max-height:88px!important;width:auto!important}body[data-ui-version="3"] #app#app .machine-slot{padding:4px!important;min-height:0!important}}

/* v669: crew and robot occupy the sides of the machine; shared by both surfaces. */
body[data-ui-version="3"] #app#app .machine-stage{grid-template-columns:24% 52% 24%;height:160px;min-height:0;padding:6px 2px;box-sizing:border-box}
body[data-ui-version="3"] #app#app .machine-stage .machine-art{width:100%;height:100%;min-width:0;max-height:148px;aspect-ratio:auto}
body[data-ui-version="3"] #app#app .machine-crew{position:relative;width:100%;height:80%;min-width:0}
body[data-ui-version="3"] #app#app .machine-actor{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;width:100%;height:100%;padding:0;border:0;border-radius:6px;background:transparent;color:#43546b;font-size:11px;line-height:1.2;cursor:pointer}
body[data-ui-version="3"] #app#app .machine-actor span{max-width:100%;overflow-wrap:anywhere}
body[data-ui-version="3"] #app#app .machine-actor :is(svg,img){display:block;width:100%;height:calc(100% - 28px);object-fit:contain;min-height:0}
body[data-ui-version="3"] #app#app .machine-actor svg{fill:#e4e7eb;stroke:#9aa4b0;stroke-width:1.5;stroke-dasharray:3 3}
body[data-ui-version="3"] #app#app .machine-actor .emp-portrait{display:block;width:100%;height:calc(100% - 18px);border:0;border-radius:18px 18px 5px 5px;background-color:transparent;transform:perspective(160px) rotateY(-12deg);background-size:400% 100%}
body[data-ui-version="3"] #app#app .machine-actor .emp-portrait.tier-art{background-size:contain;background-position:center bottom;background-repeat:no-repeat}
body[data-ui-version="3"] #app#app .machine-crew.two-shifts .operator-actor{position:absolute;left:0;bottom:0;width:72%;z-index:2}
body[data-ui-version="3"] #app#app .machine-crew.two-shifts .night-actor{left:38%;bottom:12%;width:62%;height:78%;z-index:1}
body[data-ui-version="3"] #app#app .arm-actor{height:80%}
body[data-ui-version="3"] #app#app .arm-actor img{transform:scaleX(-1);transform-origin:50% 85%}
body[data-ui-version="3"] #app#app [data-status="running"] .arm-actor img{animation:v669-arm 2.4s ease-in-out infinite}
body[data-ui-version="3"] #app#app .machine-actor:disabled{opacity:.55;cursor:not-allowed;color:#526071}
body[data-ui-version="3"] #app#app .machine-actor:focus-visible{outline:2px solid #335fbe;outline-offset:1px}
body[data-ui-version="3"] #app#app .machine-slot{min-height:48px;padding:4px;gap:1px;font-size:11px;overflow-wrap:anywhere}
body[data-ui-version="3"] #app#app .machine-slot small{font-size:10px}
body[data-ui-version="3"] #app#app .machine-light{right:8px;top:8px;width:7px;height:7px}
@keyframes v669-arm{0%,100%{transform:scaleX(-1) rotate(-3deg)}50%{transform:scaleX(-1) rotate(3deg)}}
@media(max-height:500px){body[data-ui-version="3"] #app#app .machine-stage{height:96px!important}body[data-ui-version="3"] #app#app .machine-stage .machine-art{width:100%!important;max-height:88px!important}body[data-ui-version="3"] #app#app .machine-actor{font-size:10px}}
@media(prefers-reduced-motion:reduce){body[data-ui-version="3"] #app#app .arm-actor img{animation:none!important}}

body[data-ui-version="3"] #app#app .machine-actor span:empty{display:none}
body[data-ui-version="3"] #app#app .operator-actor .emp-portrait{width:auto;max-width:100%;aspect-ratio:64/90;flex:1;min-height:0}
body[data-ui-version="3"] #app#app .arm-actor.is-filled img{height:100%}

body[data-ui-version="3"] #app#app .machine-actor{background:transparent!important;color:#43546b!important;box-shadow:none!important}
body[data-ui-version="3"] #app#app .machine-crew.two-shifts .operator-actor{width:62%}
body[data-ui-version="3"] #app#app .machine-crew.two-shifts .night-actor{left:40%;width:60%}
body[data-ui-version="3"] #app#app .machine-crew.two-shifts .is-vacant{z-index:0}

/* v682: machine/crew retain their own height; the production panel scrolls. */
body[data-ui-version="3"] #app#app :is(.line-card,.line-dock-item)>*{flex-shrink:0}
body[data-ui-version="3"] #app#app .machine-stage{height:160px!important;min-height:160px!important;grid-template-rows:minmax(0,1fr);padding:6px 2px!important;flex:none!important}
body[data-ui-version="3"] #app#app .machine-stage .machine-art{width:100%!important;height:100%!important;max-height:148px!important;object-fit:contain!important}
body[data-ui-version="3"] #app#app :is(.line-card,.line-dock-item) img{object-fit:contain!important;flex-shrink:0}
body[data-ui-version="3"] #app#app .machine-actor :is(img,svg){flex-shrink:0;object-fit:contain!important}
body[data-ui-version="3"] #app#app .operator-actor .emp-portrait{flex:none!important;width:min(100%,72px)!important;height:auto!important;aspect-ratio:272/362!important;transform:none!important}
body[data-ui-version="3"] #app#app .operator-actor .emp-portrait.tier-art{background-size:contain!important}

/* v683: paginate production cards; compact layout preserves machine aspect ratios. */
body[data-ui-version="3"] #app#app#app .line-card[hidden]{display:none!important}
body[data-ui-version="3"] #app#app#app .lines-v4{overflow:visible!important;height:100%!important;min-height:0!important}
body[data-ui-version="3"] #app#app#app .production-pager{display:flex!important;align-items:center!important;gap:5px!important;white-space:nowrap!important;font-size:12px!important}
body[data-ui-version="3"] #app#app#app .production-pager button{min-height:28px!important;min-width:28px!important;background:#fff8e8!important;color:#49361f!important;border:1px solid #ceb986!important;border-radius:8px!important}
body[data-ui-version="3"] #app#app#app .line-card :is(button,summary,small){font-size:12px!important}
body[data-ui-version="3"] #app#app#app .line-card .machine-actor span{white-space:nowrap!important;overflow-wrap:normal!important;font-size:12px!important}
body[data-ui-version="3"] #app#app#app .line-card>header{min-height:28px!important;flex-wrap:nowrap!important;gap:4px!important}
body[data-ui-version="3"] #app#app#app .line-card>header>b{font-size:14px!important}
body[data-ui-version="3"] #app#app#app .line-card .machine-slot{min-height:32px!important;padding:3px!important;font-size:12px!important}
body[data-ui-version="3"] #app#app#app .line-card .machine-slot small{font-size:12px!important}
body[data-ui-version="3"] #app#app#app .line-card{gap:6px!important;padding:9px!important}
body[data-ui-version="3"] #app#app#app .line-card>button{padding:5px!important;min-height:28px!important;font-size:12px!important}
body[data-ui-version="3"] #app#app#app .line-card .machine-details{padding:4px!important}
body[data-ui-version="3"] #app#app#app .line-card .line-controls-toggle{min-height:28px!important;font-size:12px!important;padding:4px!important}
body[data-ui-version="3"] #app#app#app .line-command-board{gap:4px!important;padding:4px!important}
body[data-ui-version="3"] #app#app#app .line-card .production-facts{gap:3px!important}
body[data-ui-version="3"] #app#app#app .line-card .production-metrics{padding:4px!important}
body[data-ui-version="3"] #app#app#app .line-card .line-duty-toggle{white-space:nowrap!important;word-break:keep-all!important;overflow-wrap:normal!important;flex:none!important}
@media(max-height:500px){
body[data-ui-version="3"] #app#app#app .line-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
body[data-ui-version="3"] #app#app#app .line-card{display:grid!important;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)!important;grid-template-rows:auto auto auto auto!important;gap:4px!important;align-content:start!important}
body[data-ui-version="3"] #app#app#app .line-card>header{grid-column:1/-1!important}
body[data-ui-version="3"] #app#app#app .line-card>.machine-stage{grid-column:1!important;grid-row:2/5!important;height:160px!important;min-height:160px!important}
body[data-ui-version="3"] #app#app#app .line-card>.machine-slots{grid-column:2!important;grid-row:2!important}
body[data-ui-version="3"] #app#app#app .line-card>.production-facts{grid-column:2!important;grid-row:3!important}
body[data-ui-version="3"] #app#app#app .line-card>.line-controls{grid-column:1/-1!important}
body[data-ui-version="3"] #app#app#app .line-card>.machine-details{grid-column:1!important}
body[data-ui-version="3"] #app#app#app .line-card>button{grid-column:2!important}
body[data-ui-version="3"] #app#app#app .line-card .machine-actor .emp-portrait{max-height:90px!important;width:auto!important}
body[data-ui-version="3"] #app#app#app .line-tabs button{font-size:12px!important;padding:3px 8px!important;min-height:28px!important}
body[data-ui-version="3"] #app#app#app .production-board-toolbar{gap:4px!important}
body[data-ui-version="3"] #app#app#app .production-board-toolbar>button{font-size:12px!important;min-height:28px!important;padding:3px!important}
}

body[data-ui-version="3"] #app#app#app .lines-v4{height:auto!important;margin:0!important;padding:0!important}
body[data-ui-version="3"] #app#app#app .machine-actor .emp-portrait{width:48px!important;height:auto!important;max-width:100%!important;aspect-ratio:272/362!important;min-height:0!important}
body[data-ui-version="3"] #app#app#app .factory-view-tabs{display:flex;gap:12px;align-items:center;margin:0}
body[data-ui-version="3"] #app#app#app [hidden]{display:none!important}
body[data-ui-version="3"] #app#app#app .machine-actor span,body[data-ui-version="3"] #app#app#app .operator-slot b{white-space:nowrap!important;word-break:keep-all!important;overflow-wrap:normal!important;font-size:12px!important}

body .production-detail-dialog{width:min(900px,94vw);max-height:92dvh;padding:12px;background:#fffaf1;color:#302b23;border:1px solid #c8ad72;border-radius:14px}
body .production-detail-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:32px}
body .production-detail-dialog .production-tools-content{max-height:calc(92dvh - 70px);overflow:auto}
body .production-detail-dialog button{font-size:12px}
body[data-ui-version="3"] #app#app#app .line-card .production-info{grid-column:1!important;min-height:28px!important;padding:4px!important}
body[data-ui-version="3"] #app#app#app .facility-section-tabs{display:flex;align-items:center;gap:8px;margin:6px 0;grid-column:1/-1}
body[data-ui-version="3"] #app#app#app .department-tabs{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;gap:4px!important;max-width:100%!important;width:100%!important}
body[data-ui-version="3"] #app#app#app .department-tabs button{flex:1 0 auto!important;min-height:32px!important;padding:4px 8px!important;font-size:12px!important}
body[data-ui-version="3"] #app#app#app .department-tabs button small{display:none!important}

@media(max-height:500px){
body[data-ui-version="3"] #app#app#app .lines-v4 .ops-board-nav{min-height:28px!important;height:28px!important;padding:0!important;gap:4px!important;margin:3px 0!important}
body[data-ui-version="3"] #app#app#app .lines-v4 .ops-board-nav button{min-height:28px!important;height:28px!important;padding:2px 6px!important;font-size:12px!important}
body[data-ui-version="3"] #app#app#app .lines-v4 .ops-board-nav i{display:none!important}
body[data-ui-version="3"] #app#app#app .line-card>.machine-stage{height:120px!important;min-height:120px!important}
body[data-ui-version="3"] #app#app#app .line-card>.machine-stage .machine-art{max-height:108px!important}
body[data-ui-version="3"] #app#app#app .line-card .machine-slot{gap:0!important}
}

body[data-ui-version="3"] #app#app#app .lines-v4{border:0!important;gap:0!important}
body[data-ui-version="3"] #app#app#app .lines-v4 .ops-board-nav{margin:0!important}
body[data-ui-version="3"] #app#app#app .staff-v3>.staff-command-hero,body[data-ui-version="3"] #app#app#app .staff-v3>.staff-summary{display:none!important}
body[data-ui-version="3"] #app#app#app :is(.staff-v4-tabs,.dorm-tabs,.miner-quick-nav) button[aria-selected="true"]{background:#f3d591!important;color:#49361f!important}
body[data-ui-version="3"] #app#app#app .factory-management>summary{font-size:12px!important;min-height:24px!important;padding:2px!important;margin:0!important}
body[data-ui-version="3"] #app#app#app .factory-view-tabs{height:28px!important;min-height:28px!important;font-size:12px!important}

body[data-ui-version="3"] #app#app#app .ops-board-nav button[aria-selected="true"],body[data-ui-version="3"] #app#app#app .ops-board-nav button[aria-current="page"]{background:#f3d591!important;color:#49361f!important;border-color:#b88836!important}
body[data-ui-version="3"] #app#app#app .facility-section-tabs select{height:28px!important;min-height:28px!important;padding:2px 6px!important;font-size:12px!important}
body[data-ui-version="3"] #app#app#app .line-card .operator-slot b{white-space:normal!important;overflow-wrap:anywhere!important;line-height:1.2!important}
@media(max-height:500px){
body[data-ui-version="3"] #app#app#app .line-card>.machine-stage{height:108px!important;min-height:108px!important}
body[data-ui-version="3"] #app#app#app .line-card>.machine-stage .machine-art{max-height:96px!important;object-fit:contain!important}
body[data-ui-version="3"] #app#app#app .facility-blueprint .fb-body{min-height:0!important}
}

body[data-ui-version="3"] #app#app#app .fb-v2>p.emp-note{white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
