.mes15-version{display:inline-flex;margin-top:3px;padding:2px 7px;border:1px solid rgba(255,255,255,.28);border-radius:999px;color:#fff;font-size:10px;font-weight:800;letter-spacing:.08em}
.mes15-page{--mes15-ink:#172033;--mes15-muted:#667085;--mes15-line:#e5e7eb;--mes15-red:#c9242f;--mes15-green:#16835f;--mes15-amber:#b66a06;color:var(--mes15-ink)}
.mes15-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:18px}
.mes15-page-head h1{margin:2px 0 4px;font-size:30px;letter-spacing:-.03em}
.mes15-page-head p,.mes15-panel-head p{margin:0;color:var(--mes15-muted)}
.mes15-eyebrow{display:block;color:var(--mes15-red);font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.mes15-date-actions,.mes15-header-actions{display:flex;align-items:flex-end;gap:9px;flex-wrap:wrap}
.mes15-date-actions label{display:grid;gap:4px;color:var(--mes15-muted);font-size:11px;font-weight:700}
.mes15-date-actions input,.mes15-header-actions input{min-height:40px}
.mes15-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px;margin-bottom:16px}
.mes15-kpi{position:relative;overflow:hidden;min-height:96px;padding:16px 18px;border:1px solid var(--mes15-line);border-radius:14px;background:#fff;box-shadow:0 6px 18px rgba(16,24,40,.05)}
.mes15-kpi:before{position:absolute;inset:0 auto 0 0;width:4px;background:#94a3b8;content:""}
.mes15-kpi.success:before{background:#1c9b70}.mes15-kpi.warning:before{background:#e79b27}.mes15-kpi.danger:before{background:#d53a45}
.mes15-kpi span{display:block;color:var(--mes15-muted);font-size:12px;font-weight:700}
.mes15-kpi strong{display:block;margin-top:7px;font-size:27px;line-height:1}
.mes15-two-column{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
.mes15-panel{padding:0!important;overflow:hidden}
.mes15-panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--mes15-line)}
.mes15-panel-head h2{margin:0 0 3px;font-size:17px}
.mes15-count{padding:5px 9px;border-radius:999px;background:#f3f4f6;color:#475467;font-size:12px;font-weight:800;white-space:nowrap}
.mes15-empty{padding:38px 20px;color:var(--mes15-muted);text-align:center}
.schedule-load,.schedule-plan,.inventory-item-list,.inventory-movement-list{max-height:620px;overflow:auto}
.schedule-load-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(110px,1.2fr) 46px;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid #f0f1f3}
.schedule-load-row div:first-child{display:grid;gap:2px}.schedule-load-row small{color:var(--mes15-muted)}
.schedule-load-row>strong{text-align:right}
.schedule-meter,.backlog-meter{height:8px;overflow:hidden;border-radius:99px;background:#edf0f3}
.schedule-meter i,.backlog-meter i{display:block;height:100%;border-radius:inherit;background:#1c9b70}
.schedule-meter.warning i{background:#e79b27}.schedule-meter.danger i{background:#d53a45}
.schedule-plan-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 20px;border-bottom:1px solid #f0f1f3}
.schedule-plan-row.at-risk{background:#fff8ed}.schedule-plan-row>div:first-child{display:grid;gap:3px}.schedule-plan-row small{color:var(--mes15-muted)}
.mes15-stage{display:inline-flex;width:max-content;padding:3px 7px;border-radius:6px;background:#eef2f6;color:#344054;font-size:11px;font-weight:800}
.schedule-shift{display:grid;grid-template-columns:1fr auto 1fr;gap:7px;align-items:center;font-size:12px;text-align:right}
.schedule-shift span{color:#98a2b3;text-decoration:line-through}.schedule-shift i{color:#c9242f}.schedule-shift strong{color:#172033}
.schedule-risk{display:grid;gap:3px;margin:10px 12px;padding:10px 12px;border-radius:9px;background:#fff3f3;color:#9c202a;font-size:12px}
.scan-workspace{display:grid;grid-template-columns:minmax(300px,.75fr) minmax(360px,1.25fr);gap:16px;align-items:start}
.scan-entry,.scan-result{padding:26px!important;border-radius:16px!important}
.scan-entry{text-align:center}.scan-entry h2{margin:8px 0}.scan-entry>p{color:var(--mes15-muted)}
.scan-icon{display:grid;place-items:center;width:74px;height:74px;margin:auto;border-radius:20px;background:#fff1f2;color:#c9242f;font-size:48px;line-height:1}
.scan-camera-button{width:100%;min-height:50px;margin:12px 0}
.scan-camera-wrap{position:relative;overflow:hidden;margin:12px 0;border-radius:14px;background:#111827}
.scan-camera-wrap video{display:block;width:100%;max-height:420px;object-fit:cover}
.scan-camera-wrap>button{position:absolute;right:10px;bottom:10px;background:rgba(255,255,255,.92)}
.scan-frame{position:absolute;inset:50% auto auto 50%;width:190px;height:190px;transform:translate(-50%,-50%);border:3px solid #fff;border-radius:20px;box-shadow:0 0 0 999px rgba(0,0,0,.28)}
.scan-manual{display:flex;gap:8px;margin-top:10px}.scan-manual input{min-width:0;flex:1}
.scan-capability-note{min-height:18px;font-size:12px}
.scan-result-head{display:flex;align-items:center;justify-content:space-between;color:var(--mes15-muted)}
.scan-result h2{margin:25px 0 3px;font-size:28px}.scan-result h3{margin:0 0 20px;color:#c9242f;font-size:19px}
.scan-order-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.scan-order-grid>div{display:grid;gap:4px;padding:13px;border-radius:10px;background:#f7f8fa}
.scan-order-grid span{color:var(--mes15-muted);font-size:11px;font-weight:700}.scan-order-grid b{font-size:14px}
.scan-notes{margin-top:12px;padding:12px;border-left:3px solid #cbd5e1;background:#f8fafc;white-space:pre-wrap}
.ct-scan-actor{display:flex;align-items:center;gap:6px;margin:14px 0 0;padding:10px 12px;border:1px solid #b9d8f7;border-radius:10px;background:#f1f8ff;color:#174f86;font-size:12px;line-height:1.4;overflow-wrap:anywhere}.ct-scan-actor>span{color:#16835f;font-size:9px}.ct-scan-actor>b{min-width:0;overflow-wrap:anywhere}
.scan-result-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.scan-result-actions .primary{min-height:48px}
.scan-readonly{align-self:center;color:var(--mes15-muted);font-size:12px}.scan-blocked{color:#b4232c;font-weight:700}.text-danger{color:#b4232c}
.inventory-layout{grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr)}
.inventory-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:15px;padding:14px 18px;border-bottom:1px solid #f0f1f3;border-left:4px solid #1c9b70}
.inventory-item.low{border-left-color:#e79b27;background:#fffaf3}.inventory-item.out{border-left-color:#d53a45;background:#fff7f7}
.inventory-item-main h3{margin:3px 0;font-size:15px}.inventory-item-main p{margin:0;color:var(--mes15-muted);font-size:12px}
.inventory-stock-state{color:#16835f;font-size:10px;font-weight:900;letter-spacing:.06em}.inventory-item.low .inventory-stock-state{color:#a85b00}.inventory-item.out .inventory-stock-state{color:#b4232c}
.inventory-balance{display:grid;grid-template-columns:auto auto;align-items:baseline;gap:4px;text-align:right}
.inventory-balance strong{font-size:22px}.inventory-balance span{color:var(--mes15-muted);font-size:12px}.inventory-balance small{grid-column:1/-1;color:var(--mes15-muted)}
.inventory-actions{display:flex;gap:6px}
.inventory-movement{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;padding:13px 17px;border-bottom:1px solid #f0f1f3}
.inventory-movement>div:first-child{display:grid;gap:3px}.inventory-movement b{font-size:13px}.inventory-movement small,.inventory-movement p{color:var(--mes15-muted);font-size:11px}
.inventory-movement p{grid-column:1/-1;margin:0;padding-top:4px;border-top:1px dashed #e5e7eb}
.movement-type{width:max-content;padding:2px 6px;border-radius:4px;background:#eef2f6;font-size:9px;font-weight:900}
.movement-type.receipt{background:#eaf8f2;color:#117653}.movement-type.issue{background:#fff0f1;color:#b4232c}
.movement-amount{display:grid;text-align:right}.movement-amount strong{font-size:17px}.movement-amount.positive strong{color:#16835f}.movement-amount.negative strong{color:#b4232c}.movement-amount span{color:var(--mes15-muted);font-size:10px}
.mes15-form-hint{margin-top:12px;padding:10px 12px;border-radius:8px;background:#f5f7fa;color:var(--mes15-muted);font-size:12px}
.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.report-health{grid-column:1/-1}
.report-bars,.report-backlog{padding:14px 18px;min-height:260px}
.report-bar-row{display:grid;grid-template-columns:48px 1fr 32px;align-items:center;gap:8px;margin:9px 0;font-size:11px}
.report-bar-row>div{height:15px;overflow:hidden;border-radius:4px;background:#f0f2f5}.report-bar-row i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#c9242f,#ed6b73)}
.report-bar-row strong{text-align:right}
.backlog-row{display:grid;gap:8px;margin-bottom:17px}.backlog-row>div:first-child{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.backlog-row small{margin-left:auto;color:var(--mes15-muted)}
.backlog-meter i{background:#c9242f}
.health-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:18px}
.health-grid article{display:grid;gap:5px;padding:16px;border:1px solid #e5e7eb;border-radius:12px;border-top:4px solid #94a3b8}
.health-grid article.success{border-top-color:#1c9b70}.health-grid article.warning{border-top-color:#e79b27}
.health-grid span{color:var(--mes15-muted);font-size:12px;font-weight:700}.health-grid strong{font-size:27px}.health-grid small{color:var(--mes15-muted)}
.qr-card{width:min(520px,calc(100vw - 24px));max-height:94vh;overflow:auto;padding:24px;border-radius:16px;background:#fff;box-shadow:0 20px 80px rgba(15,23,42,.28)}
.qr-print-area{display:grid;place-items:center;padding:24px;border:1px dashed #cbd5e1;border-radius:14px;text-align:center}.qr-print-area img{width:min(330px,80vw);height:auto}.qr-print-area h2{margin:8px 0 2px}.qr-print-area p{margin:0;color:#667085}

@media(max-width:980px){
 .mes15-two-column,.scan-workspace,.inventory-layout,.report-grid{grid-template-columns:1fr}
 .report-health{grid-column:auto}
}
@media(max-width:760px){
 .mes15-page-head{align-items:stretch;flex-direction:column;gap:12px}.mes15-page-head h1{font-size:25px}
 .mes15-date-actions,.mes15-header-actions{display:grid;grid-template-columns:1fr 1fr}.mes15-date-actions label{min-width:0}.mes15-date-actions input,.mes15-date-actions button,.mes15-header-actions input,.mes15-header-actions button{width:100%}
 .mes15-header-actions input{grid-column:1/-1}
 .schedule-load-row{grid-template-columns:1fr 44px}.schedule-load-row .schedule-meter{grid-row:2;grid-column:1/-1}
 .schedule-plan-row{align-items:flex-start;flex-direction:column}.schedule-shift{width:100%;text-align:left}
 .scan-workspace{grid-template-columns:1fr}.scan-entry,.scan-result{padding:18px!important}.scan-order-grid{grid-template-columns:1fr 1fr}
 .inventory-item{grid-template-columns:1fr auto}.inventory-actions{grid-column:1/-1}.inventory-actions button{flex:1}
 .health-grid{grid-template-columns:1fr}
}
@media(max-width:420px){
 .scan-entry,.scan-result{min-width:0;padding:14px!important}
 .scan-manual{display:grid;grid-template-columns:minmax(0,1fr)}
 .scan-manual input,.scan-manual button{width:100%;min-height:48px;font-size:16px}
 .scan-order-grid{grid-template-columns:minmax(0,1fr)}
 .scan-result h2,.scan-result h3{overflow-wrap:anywhere}
 .scan-result-actions{display:grid;grid-template-columns:minmax(0,1fr)}
.scan-result-actions button{width:100%;min-height:48px}
}

@media print{
 body.qr-printing>*{display:none!important}
 body.qr-printing #orderQrModal{position:static!important;display:block!important;background:#fff!important}
 body.qr-printing #orderQrModal .qr-card{width:100%;max-height:none;padding:0;box-shadow:none}
 body.qr-printing #orderQrModal .modal-head,body.qr-printing #orderQrModal .actions{display:none!important}
 body.qr-printing #orderQrModal .qr-print-area{min-height:90vh;border:0}
 body.qr-printing #orderQrModal .qr-print-area img{width:110mm}
}
