.mobile-dashboard{padding-bottom:74px;background:#eef3f9}.mobile-dashboard main{max-width:560px;padding:14px 12px 28px}.mobile-topbar{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid #dfe5ef;padding:calc(10px + env(safe-area-inset-top)) 14px 10px;display:flex;align-items:center;justify-content:space-between;gap:10px}.mobile-brand{display:flex;align-items:center;gap:9px;min-width:0}.mobile-brand img{width:38px;height:38px;object-fit:contain}.mobile-brand h1{font-size:16px;margin:0;white-space:nowrap}.mobile-brand p{font-size:11px;color:#6d7890;margin:2px 0 0}.mobile-head-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.mobile-head-right .clock{display:block;font-size:10px;color:#667085}.mobile-head-right .connection{font-size:10px;padding:6px 8px}.mobile-hero{border-radius:20px;background:linear-gradient(145deg,#0b4fbf,#073783);color:#fff;padding:18px;box-shadow:0 16px 36px rgba(7,55,131,.22);margin-bottom:12px}.mobile-status-line{display:flex;align-items:center;gap:13px;padding-bottom:15px;border-bottom:1px solid rgba(255,255,255,.18)}.mobile-status-line .factory-dot{flex:0 0 auto}.mobile-status-line small{display:block;color:rgba(255,255,255,.72);font-size:11px}.mobile-status-line strong{display:block;font-size:24px;line-height:1.25;margin-top:2px}.mobile-live-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:13px}.mobile-live-grid>div{border-radius:13px;background:rgba(255,255,255,.1);padding:11px}.mobile-live-grid .wide{grid-column:1/-1}.mobile-live-grid span{display:block;color:rgba(255,255,255,.68);font-size:10px}.mobile-live-grid b{display:block;font-size:17px;margin-top:5px}.mobile-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:12px}.mobile-summary-grid article{background:#fff;border:1px solid #dfe5ef;border-radius:15px;padding:14px;box-shadow:0 5px 14px rgba(26,52,96,.05);display:flex;align-items:end;justify-content:space-between}.mobile-summary-grid span{font-size:12px;color:#6d7890;font-weight:750}.mobile-summary-grid strong{font-size:28px;color:#0b4fbf;line-height:1}.mobile-panel{margin-bottom:12px;border-radius:18px}.mobile-panel .panel-head{padding:16px 15px 12px}.mobile-panel .panel-head h2{font-size:18px}.mobile-last{font-size:10px;color:#6d7890;text-align:right}.mobile-dashboard .live-cards{display:block;padding:10px}.mobile-dashboard .machine-card{padding:15px;border-radius:15px}.mobile-dashboard .machine-card-head{gap:8px}.mobile-dashboard .machine-card h3{font-size:22px}.mobile-dashboard .status-pill{font-size:10px;padding:5px 8px}.mobile-dashboard .current-piece-row{display:grid;grid-template-columns:1fr auto;margin:12px 0;padding:14px}.mobile-dashboard .current-piece-row strong{font-size:31px}.mobile-dashboard .current-piece-row small{grid-column:1/-1;margin:6px 0 0}.mobile-dashboard .metrics{grid-template-columns:1fr 1fr}.mobile-dashboard .metric{padding:10px}.mobile-dashboard .last-action{gap:8px;font-size:11px}.mobile-dashboard .queue-list{padding:4px 8px 12px}.mobile-dashboard .queue-item{grid-template-columns:30px 1fr;padding:12px 6px}.mobile-dashboard .queue-status{grid-column:2;justify-self:start}.mobile-dashboard .queue-item small{font-size:10px}.mobile-dashboard .event-table-wrap{max-height:380px}.mobile-dashboard table{min-width:520px}.mobile-dashboard th:nth-child(2),.mobile-dashboard td:nth-child(2){display:none}.mobile-dashboard footer{display:none}.mobile-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:1fr 1fr;background:rgba(255,255,255,.97);border-top:1px solid #dfe5ef;padding:8px 12px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -8px 24px rgba(26,52,96,.08)}.mobile-bottom-nav a{text-align:center;text-decoration:none;color:#6d7890;font-weight:800;font-size:12px;padding:10px;border-radius:11px}.mobile-bottom-nav a.active{background:#eaf1ff;color:#0b4fbf}
@media(min-width:700px){.mobile-dashboard main{max-width:620px}.mobile-bottom-nav{max-width:620px;margin:auto;border-left:1px solid #dfe5ef;border-right:1px solid #dfe5ef}}

/* V28 mobile：只保留主管最需要的即時生產資訊 */
.mobile-production-grid{grid-template-columns:1fr 1fr}
.mobile-company-block b{font-size:24px!important;line-height:1.2}
.mobile-company-block small{display:block;margin-top:5px;color:rgba(255,255,255,.65);font-size:11px;font-weight:700}
.mobile-summary-two{grid-template-columns:1fr 1fr}
.mobile-dashboard .production-focus-card{padding:16px}
.mobile-dashboard .production-focus-card h3{font-size:26px}
.mobile-dashboard .size-display{margin-top:13px;padding:14px}
.mobile-dashboard .size-display b{font-size:20px}
.mobile-dashboard .live-focus-metrics{grid-template-columns:1fr 1fr;gap:9px}
.mobile-dashboard .live-focus-item{padding:14px 12px}
.mobile-dashboard .live-focus-item strong{font-size:24px}
.mobile-dashboard .live-focus-item small{font-size:10px}
@media(max-width:390px){.mobile-dashboard .live-focus-metrics{grid-template-columns:1fr}.mobile-live-grid b{font-size:16px}.mobile-company-block b{font-size:22px!important}}

/* V30：手機看板與電腦版一致，現場目前處理內容固定第一格 */
.mobile-current-first{margin-top:0}
.mobile-live-panel-head{align-items:flex-start;gap:12px}
.mobile-live-head-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px;min-width:148px}
.mobile-shift-status{min-width:148px;padding:10px 12px;background:#f8fbff;color:var(--ink)}
.mobile-shift-status .factory-dot{width:14px;height:14px;box-shadow:0 0 0 6px rgba(152,163,181,.12)}
.mobile-shift-status strong{font-size:16px;line-height:1.25;white-space:normal}
.mobile-shift-status small{font-size:10px}
.mobile-dashboard .current-operation{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding:11px 12px;border:1px solid #e1e8f2;border-radius:12px;background:#fff}
.mobile-dashboard .current-operation span{color:#6d7890;font-size:11px;font-weight:800}
.mobile-dashboard .current-operation b{color:#17345f;font-size:14px;text-align:right}
@media(max-width:390px){.mobile-live-panel-head{flex-direction:column}.mobile-live-head-right{width:100%;align-items:stretch}.mobile-shift-status{width:100%}.mobile-last{text-align:left}}
