.lop-root{margin-bottom:18px;container-type:inline-size}.lop-root .section-head{align-items:flex-start;gap:18px}.lop-actions{display:flex;gap:8px;flex-wrap:wrap}.lop-table-head,.lop-row{display:grid;grid-template-columns:minmax(240px,2fr) repeat(5,minmax(92px,1fr));align-items:center;gap:10px}.lop-table-head{padding:10px 14px;color:var(--muted,#667085);font-size:12px;font-weight:700;border-bottom:1px solid var(--border,#e6e8ec)}.lop-list{border:1px solid var(--border,#e6e8ec);border-radius:12px;overflow:hidden}.lop-row{width:100%;padding:13px 14px;border:0;border-bottom:1px solid var(--border,#e6e8ec);background:transparent;color:inherit;text-align:left;cursor:pointer}.lop-row:last-child{border-bottom:0}.lop-row:hover,.lop-row.is-selected{background:color-mix(in srgb,var(--accent,#3b67f2) 8%,transparent)}.lop-row>span:first-child{display:grid;gap:4px}.lop-row small{color:var(--muted,#667085)}.lop-detail{margin-top:18px;padding-top:18px;border-top:1px solid var(--border,#e6e8ec)}.lop-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.lop-detail-head h3{margin:2px 0 4px}.lop-date-grid,.lop-quantity-grid{display:grid;gap:10px;margin:14px 0}.lop-date-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.lop-date,.lop-quantity-grid>div{display:grid;gap:4px;padding:12px;border:1px solid var(--border,#e6e8ec);border-radius:10px;background:var(--surface-soft,#f8f9fb)}.lop-date span,.lop-quantity-grid span{font-size:12px;color:var(--muted,#667085)}.lop-date small,.lop-quantity-grid small{font-size:12px;color:var(--muted,#667085);overflow-wrap:anywhere}.lop-quantity-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.lop-unknown{color:var(--muted,#667085);font-weight:600}.lop-callout{display:flex;gap:8px;align-items:baseline;margin:12px 0;padding:11px 13px;border-radius:10px;background:color-mix(in srgb,var(--accent,#3b67f2) 7%,transparent)}.lop-callout.is-warning,.lop-error{background:#fff3e8;color:#9a4d00}.lop-error{padding:10px 12px;border-radius:8px}.lop-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.lop-form{display:grid;gap:12px;padding:14px;border:1px solid var(--border,#e6e8ec);border-radius:12px}.lop-form-head{display:flex;justify-content:space-between}.lop-form-head>div{display:grid;gap:3px}.lop-form-head small{color:var(--muted,#667085)}.lop-plan-grid,.lop-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.lop-form label{display:grid;gap:5px}.lop-form label span{font-size:12px;font-weight:650}.lop-form input{width:100%;box-sizing:border-box}.lop-wide{grid-column:1/-1}.lop-empty{padding:18px 0}.lop-empty p{margin-bottom:0;color:var(--muted,#667085)}
.lop-order-switcher{margin:10px 0 0;border:1px solid var(--border,#e6e8ec);border-radius:10px;background:var(--surface-soft,#f8f9fb)}.lop-order-switcher>summary{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:11px 13px;cursor:pointer;list-style:none}.lop-order-switcher>summary::-webkit-details-marker{display:none}.lop-order-switcher>summary span,.lop-order-switcher>summary small{color:var(--muted,#667085);font-size:12px}.lop-order-switcher>summary strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lop-order-switcher>summary small::after{content:' ▾'}.lop-order-switcher[open]>summary small::after{content:' ▴'}.lop-order-switcher[open]>summary{border-bottom:1px solid var(--border,#e6e8ec)}.lop-order-switcher .lop-list{max-height:360px;overflow:auto;border:0;border-radius:0 0 10px 10px;background:var(--surface,#fff)}
@media(max-width:900px){.lop-table-head{display:none}.lop-row{grid-template-columns:1fr 1fr}.lop-row>span:first-child{grid-column:1/-1}.lop-date-grid,.lop-edit-grid{grid-template-columns:1fr}.lop-quantity-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.lop-row,.lop-quantity-grid,.lop-plan-grid,.lop-form-grid{grid-template-columns:1fr}.lop-callout,.lop-detail-head{align-items:flex-start;flex-direction:column}}

@container(max-width:900px){.lop-table-head{display:none}.lop-row{grid-template-columns:1fr 1fr}.lop-row>span:first-child{grid-column:1/-1}.lop-date-grid,.lop-edit-grid{grid-template-columns:1fr}.lop-quantity-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.lop-progress-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:14px 0}.lop-progress-grid>div{display:grid;grid-template-columns:1fr auto;align-content:start;gap:7px;padding:12px;border:1px solid var(--border,#e6e8ec);border-radius:10px;background:#fff}.lop-progress-grid progress,.lop-progress-unknown,.lop-progress-grid small{grid-column:1/-1;width:100%}.lop-progress-grid span,.lop-progress-grid small,.lop-note,.lop-quantity-notes{color:var(--muted,#667085);font-size:12px}.lop-progress-unknown{padding:6px 0}.lop-progress-unknown.is-warning{color:#a3530b}.lop-quantity-notes{display:grid;gap:3px;margin:-4px 0 12px}.lop-evidence{margin:10px 0}.lop-evidence code{display:block;margin-top:5px;padding:6px 8px;overflow-wrap:anywhere;background:var(--surface-soft,#f8f9fb);border-radius:6px}
@media(max-width:560px){.lop-progress-grid{grid-template-columns:1fr}}

.lop-row-progress{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:6px}.lop-row-progress>span{display:grid;gap:3px}.lop-row-progress small{font-size:12px}.lop-row-progress progress{appearance:none;width:100%;height:7px;border:0;border-radius:4px;overflow:hidden;background:#ececf2}.lop-row-progress progress::-webkit-progress-bar{background:#ececf2}.lop-row-progress progress::-webkit-progress-value{background:#716bd3;border-radius:4px}.lop-row-progress>span:last-child progress::-webkit-progress-value{background:#74b59b}.lop-row-progress progress::-moz-progress-bar{background:#716bd3;border-radius:4px}.lop-row-progress>span:last-child progress::-moz-progress-bar{background:#74b59b}.lop-row-progress i{color:var(--muted,#667085);font-size:12px;font-style:normal}

.lop-progress-grid progress{appearance:none;height:8px;border:0;border-radius:4px;overflow:hidden;background:#ececf2}.lop-progress-grid progress::-webkit-progress-bar{background:#ececf2}.lop-progress-grid progress::-webkit-progress-value{background:#716bd3;border-radius:4px}.lop-progress-grid progress::-moz-progress-bar{background:#716bd3;border-radius:4px}
@container(max-width:700px){.lop-table-head{display:none}.lop-row{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;padding:10px 11px}.lop-row>span:first-child{grid-column:1/-1}.lop-row>span:nth-child(n+2){display:grid;gap:2px;min-width:0;color:#555d69;font-size:12px}.lop-row>span:nth-child(2)::before{content:'合同交期'}.lop-row>span:nth-child(3)::before{content:'供应商承诺'}.lop-row>span:nth-child(4)::before{content:'PO分配'}.lop-row>span:nth-child(5)::before{content:'可发'}.lop-row>span:nth-child(6)::before{content:'已发'}.lop-row>span:nth-child(n+2)::before{color:#989da5;font-size:12px}.lop-row-progress{max-width:420px}.lop-list{border-radius:7px}.lop-progress-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lop-progress-grid>div:first-child{grid-column:1/-1}}

/* Production progress is a six-node workflow rail; dates and confirmation times stay attached to their source node. */
.lop-production-timeline{margin:14px 0;padding:13px 14px;border:1px solid #e4e2ea;border-radius:8px;background:#fbfbfd}
.lop-production-timeline>header{display:grid;grid-template-columns:170px minmax(0,1fr);align-items:center;gap:14px}
.lop-production-timeline>header>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.lop-production-timeline>header span{color:#77737f;font-size:12px}.lop-production-timeline>header strong{color:#5e58c4;font-size:14px}
.lop-production-timeline>header progress{appearance:none;width:100%;height:8px;border:0;border-radius:5px;overflow:hidden;background:#e9e8ef}.lop-production-timeline>header progress::-webkit-progress-bar{background:#e9e8ef}.lop-production-timeline>header progress::-webkit-progress-value{background:#716bd3;border-radius:5px}.lop-production-timeline>header progress::-moz-progress-bar{background:#716bd3;border-radius:5px}
.lop-production-unknown{height:8px;border-radius:5px;background:repeating-linear-gradient(90deg,#e9e8ef 0 12px,#f8f7fa 12px 18px);color:transparent}
.lop-production-timeline ol{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;margin:14px 0 8px;padding:0;list-style:none}
.lop-production-timeline ol::before{content:'';position:absolute;top:15px;right:7%;left:7%;height:2px;background:#e4e2ea}
.lop-production-timeline li{position:relative;z-index:1;display:grid;justify-items:center;min-width:0;padding:0 5px;text-align:center}
.lop-production-timeline li>i{width:10px;height:10px;margin:10px 0 7px;border:2px solid #aaa6b1;border-radius:50%;background:#fbfbfd;box-sizing:border-box}
.lop-production-timeline .lop-node-index{position:absolute;top:-2px;color:#aaa6b1;font-size:12px}.lop-production-timeline li strong{min-width:0;font-size:12px;white-space:nowrap}.lop-production-timeline li b{margin-top:3px;color:#615e68;font-size:12px;font-variant-numeric:tabular-nums}.lop-production-timeline li em{margin-top:1px;color:#918d98;font-size:12px;font-style:normal}.lop-production-timeline li small{overflow:hidden;width:100%;margin-top:3px;color:#aaa6b0;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.lop-production-timeline li.is-done>i{border-color:#55a176;background:#55a176}.lop-production-timeline li.is-done strong{color:#397f57}.lop-production-timeline li.is-forecast>i,.lop-production-timeline li.is-planned>i{border-color:#716bd3}.lop-production-timeline li.is-forecast strong,.lop-production-timeline li.is-planned strong{color:#5e58bd}.lop-production-timeline li.is-warning>i{border-color:#d99a3e;background:#fff5df}.lop-production-timeline li.is-warning strong{color:#9c691b}.lop-production-timeline li.is-late>i{border-color:#d75f66;background:#d75f66}.lop-production-timeline li.is-late strong{color:#b44b53}.lop-production-timeline li.is-unknown{opacity:.68}
.lop-production-timeline>footer{display:flex;justify-content:flex-end;gap:12px;color:#9995a0;font-size:12px}.lop-production-timeline>footer span::before{content:'';display:inline-block;width:6px;height:6px;margin-right:3px;border-radius:50%;background:#aaa6b1}.lop-production-timeline>footer span:nth-child(1)::before{background:#55a176}.lop-production-timeline>footer span:nth-child(2)::before{background:#716bd3}.lop-production-timeline>footer span:nth-child(3)::before{background:#d99a3e}.lop-production-timeline>footer span:nth-child(4)::before{background:#d75f66}
.lop-confirmation-note{margin:-5px 0 12px;color:#8c8994;font-size:12px}
@container(max-width:760px){.lop-production-timeline>header{grid-template-columns:1fr}.lop-production-timeline ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 8px}.lop-production-timeline ol::before{display:none}.lop-production-timeline li{padding:0 3px}.lop-production-timeline li strong,.lop-production-timeline li small{overflow:visible;width:auto;text-overflow:clip;white-space:normal;overflow-wrap:anywhere}.lop-production-timeline>footer{justify-content:flex-start;flex-wrap:wrap}.lop-date-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Daily reporting is the primary work surface; plan and milestone maintenance stays behind disclosure. */
.lop-risk-tag{justify-self:start;padding:2px 7px;border-radius:999px;background:#f3f1ed;color:#6f6b63;font-size:12px;font-style:normal}.lop-risk-tag.is-danger{background:#fff0f0;color:#b43f47}.lop-risk-tag.is-warning{background:#fff5e5;color:#9a651d}.lop-risk-tag.is-success{background:#edf7f0;color:#397b55}
.lop-daily-workbench{display:grid;gap:12px;margin:16px 0;padding:14px;border:1px solid #dedce8;border-radius:10px;background:#fbfbfd}.lop-daily-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;border:1px solid #e5e3eb;border-radius:8px;background:#fff}.lop-daily-summary>div{display:grid;gap:4px;min-width:0;padding:11px 12px;border-right:1px solid #e5e3eb}.lop-daily-summary>div:last-child{border-right:0}.lop-daily-summary span,.lop-daily-summary small{color:#85818d;font-size:12px}.lop-daily-summary strong{font-size:15px}.lop-daily-summary .is-danger strong{color:#b43f47}.lop-daily-summary .is-warning strong{color:#9a651d}.lop-daily-summary .is-success strong{color:#397b55}
.lop-daily-form{display:grid;gap:12px;padding:14px;border:1px solid #d9d7e4;border-radius:8px;background:#fff}.lop-daily-form>header,.lop-daily-form>footer,.lop-daily-event>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.lop-daily-form h4{margin:2px 0 3px;font-size:16px}.lop-daily-form>header small,.lop-daily-form>header>span,.lop-daily-form>p,.lop-photo-picker small,.lop-photo-boundary{color:#85818d;font-size:12px}.lop-daily-form>header>span{padding:4px 8px;border-radius:999px;background:#f1f0f7}.lop-daily-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.lop-daily-grid label{display:grid;gap:5px;min-width:0}.lop-daily-grid label>span{font-size:12px;font-weight:650}.lop-daily-grid input,.lop-daily-grid select,.lop-daily-grid textarea{box-sizing:border-box;width:100%;min-width:0}.lop-daily-grid textarea{min-height:68px;resize:vertical}.lop-photo-picker{padding:10px;border:1px dashed #c8c5d6;border-radius:7px;background:#faf9fd}.lop-photo-boundary{margin:0;padding:10px;border-radius:7px;background:#f5f4f1}.lop-daily-form>footer{align-items:center;justify-content:flex-end}.lop-daily-form>p{margin:0}
.lop-daily-history{border-top:1px solid #e5e3eb;padding-top:10px}.lop-daily-history>summary{cursor:pointer;font-weight:650}.lop-daily-event{display:grid;gap:9px;margin-top:10px;padding:12px;border:1px solid #e6e4eb;border-radius:8px;background:#fff}.lop-daily-event header>div{display:grid;gap:3px}.lop-daily-event header small,.lop-daily-event>small,.lop-daily-event>em{color:#85818d;font-size:12px;font-style:normal}.lop-daily-event>em{padding:7px 9px;border-radius:6px;background:#fff5e5;color:#9a651d}.lop-daily-event dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0}.lop-daily-event dl>div{display:grid;gap:3px;padding-right:10px}.lop-daily-event dt{color:#85818d;font-size:12px}.lop-daily-event dd{margin:0;font-weight:650}.lop-daily-event>p{margin:0;color:#5f5b66}.lop-daily-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px}.lop-daily-photo{display:grid;grid-template-columns:52px minmax(0,1fr);gap:9px;margin:0;padding:8px;border:1px solid #e6e4eb;border-radius:7px}.lop-daily-photo>span{display:grid;width:52px;height:52px;place-items:center;border-radius:5px;background:#f1f0f5;color:#77727f}.lop-daily-photo img{width:52px;height:52px;border-radius:5px;object-fit:cover}.lop-daily-photo figcaption{display:grid;gap:3px;min-width:0}.lop-daily-photo figcaption strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lop-daily-photo figcaption small{color:#85818d;font-size:12px}.lop-daily-photo button{justify-self:start;padding:0}.lop-advanced{margin-top:12px;border-top:1px solid #e5e3eb;padding-top:10px}.lop-advanced>summary{cursor:pointer;color:#625e69;font-weight:650}
.lop-calculation-empty{margin:0;padding:9px 11px;border-radius:8px;background:#fff;color:#77727f}.lop-calculation-evidence{padding:10px;border:1px solid #d8e8e2;border-radius:8px;background:#f5fbf8}.lop-calculation-evidence>summary{cursor:pointer;color:#176e57;font-weight:700}.lop-calculation-evidence>p{margin:8px 0;color:#667085;font-size:12px}.lop-calculation-evidence>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.lop-calculation-evidence article{display:grid;gap:4px;padding:8px;border:1px solid #dfe7e3;border-radius:7px;background:#fff}.lop-calculation-evidence article header{display:flex;justify-content:space-between;gap:7px}.lop-calculation-evidence article header span{font-size:12px;color:#176e57}.lop-calculation-evidence article.is-blocked header span{color:#b43f47}.lop-calculation-evidence article.is-incomplete header span{color:#9a651d}.lop-calculation-evidence article small{color:#85818d;overflow-wrap:anywhere}
.lop-plan-workbench{margin-top:12px}.lop-plan-workbench>.section-head{margin-bottom:10px}.lop-plan-workbench>.lop-edit-grid{margin-top:0}.lop-root[data-lop-root]>.section-head+details{margin-top:0}.lop-detail>[data-final-surface]{margin-top:12px}.lop-detail>[data-final-surface]+[data-final-surface]{margin-top:12px}.lop-progress-grid>div{gap:4px;padding:9px}.lop-quantity-grid>div{gap:3px;padding:9px}.lop-quantity-audit{margin:10px 0;border-top:1px solid #e5e3eb;padding-top:9px}.lop-quantity-audit>summary{cursor:pointer;color:#625e69;font-weight:650}.lop-quantity-audit ul{display:grid;gap:5px;margin:8px 0 0;padding:0;list-style:none}.lop-quantity-audit li{display:grid;grid-template-columns:110px minmax(0,1fr);gap:8px;font-size:12px}.lop-quantity-audit li span{color:#85818d;overflow-wrap:anywhere}
@container(max-width:900px){.lop-daily-summary,.lop-daily-grid,.lop-calculation-evidence>div{grid-template-columns:repeat(2,minmax(0,1fr))}.lop-daily-summary>div:nth-child(2){border-right:0}.lop-daily-summary>div:nth-child(-n+2){border-bottom:1px solid #e5e3eb}}
@container(min-width:480px) and (max-width:900px){.lop-daily-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.lop-daily-summary>div{padding:8px}.lop-daily-summary>div:nth-child(2){border-right:1px solid #e5e3eb}.lop-daily-summary>div:nth-child(-n+2){border-bottom:0}.lop-daily-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.lop-daily-form{gap:9px;padding:10px}.lop-daily-grid textarea{min-height:50px}.lop-daily-workbench{gap:9px;padding:10px}}
@container(max-width:430px){.lop-daily-summary,.lop-daily-grid,.lop-daily-event dl,.lop-calculation-evidence>div{grid-template-columns:1fr}.lop-daily-summary>div{border-right:0;border-bottom:1px solid #e5e3eb}.lop-daily-summary>div:last-child{border-bottom:0}.lop-daily-form>header,.lop-daily-form>footer,.lop-daily-event>header{align-items:stretch;flex-direction:column}.lop-daily-form>footer .button{width:100%}}
