/* FUFU 出品日历 v4 */
#view-production.active,#view-procurement.active{display:block;max-width:1540px;margin:0 auto;width:100%}.v4-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:16px}.v4-kicker{display:block;color:#52738a;font-size:12px;font-weight:800;margin-bottom:5px}.v4-page-head h2{font-size:24px;line-height:1.3;margin:0;color:#1f2933}.v4-page-head p{margin:7px 0 0;color:#6b7785;font-size:13px}.v4-head-actions,.v4-day-actions,.v4-month-nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.v4-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.v4-metric{min-height:94px;padding:14px 16px;border:1px solid #dce3e8;border-radius:8px;background:#fff}.v4-metric.value{border-top:3px solid #228b67;background:#f6fbf9}.v4-metric.cost{border-top:3px solid #d69d2e;background:#fffaf1}.v4-metric span,.v4-metric strong,.v4-metric small{display:block}.v4-metric span{color:#657281;font-size:12px}.v4-metric strong{margin-top:8px;color:#1f2933;font-size:22px;font-variant-numeric:tabular-nums}.v4-metric small{margin-top:4px;color:#8b96a3;font-size:11px}.v4-production-layout{display:grid;grid-template-columns:minmax(610px,1.12fr) minmax(430px,.88fr);gap:14px;align-items:start}.v4-calendar-panel,.v4-day-panel{border:1px solid #dce3e8;border-radius:8px;background:#fff;box-shadow:0 8px 24px rgba(31,41,51,.05)}.v4-calendar-panel{padding:14px}.v4-calendar-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:12px}.v4-calendar-head span,.v4-calendar-head strong{display:block}.v4-calendar-head span{font-size:11px;color:#788492}.v4-calendar-head strong{font-size:18px;color:#26323d;margin-top:2px}.v4-month-nav button,.v4-month-nav input{height:34px;border:1px solid #d7dfe5;background:#fff;border-radius:6px;padding:0 10px;color:#33414e;font-weight:700}.v4-month-nav button:first-child,.v4-month-nav button:last-child{width:34px;padding:0;font-size:20px}.v4-week-labels,.v4-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.v4-week-labels{margin-bottom:6px}.v4-week-labels span{text-align:center;font-size:11px;color:#87929d}.v4-cal-day,.v4-cal-blank{min-height:92px}.v4-cal-day{position:relative;display:flex;flex-direction:column;align-items:flex-start;text-align:left;border:1px solid #e4e9ed;border-radius:6px;background:#fff;padding:8px;overflow:hidden;color:#394652}.v4-cal-day.current-week:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:#9abbd0}.v4-cal-day.today{border-color:#d69d2e}.v4-cal-day.today .v4-cal-number:after{content:"今";margin-left:4px;color:#a56d00;font-size:9px}.v4-cal-day.selected{border-color:#228b67;box-shadow:0 0 0 2px rgba(34,139,103,.12);background:#f5fbf8}.v4-cal-day.has-plan:hover{border-color:#4f819c;transform:translateY(-1px)}.v4-cal-number{font-size:14px;font-weight:800}.v4-cal-count{margin-top:10px;font-size:10px;color:#657281}.v4-cal-day strong{margin-top:auto;font-size:12px;color:#1f6f55}.v4-cal-empty{margin-top:auto;font-size:10px;color:#a2abb4}.v4-calendar-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:11px;padding-top:10px;border-top:1px solid #edf0f2}.v4-calendar-legend span{display:flex;align-items:center;gap:5px;color:#778391;font-size:10px}.v4-calendar-legend i{width:10px;height:10px;border-radius:2px;border:1px solid #ccd4da}.v4-calendar-legend i.today{border-color:#d69d2e}.v4-calendar-legend i.week{background:#9abbd0;border-color:#9abbd0}.v4-calendar-legend i.selected{background:#228b67;border-color:#228b67}.v4-calendar-legend i.plan{background:#e6f2ed;border-color:#72a991}.v4-day-workspace{position:sticky;top:74px}.v4-day-panel{padding:16px}.v4-day-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:14px;border-bottom:1px solid #e7ebee}.v4-day-head span{color:#52738a;font-size:11px;font-weight:800}.v4-day-head h3{font-size:20px;margin:2px 0 0;color:#202d38}.v4-day-head p{font-size:11px;color:#73808d;margin:5px 0 0}.v4-day-group{margin-top:14px;border:1px solid #e2e7eb;border-radius:7px;overflow:hidden}.v4-day-group-head{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#f6f8fa;padding:9px 11px}.v4-day-group-head strong,.v4-day-group-head span{display:block}.v4-day-group-head strong{font-size:13px}.v4-day-group-head span{font-size:10px;color:#7c8792;margin-top:2px}.v4-day-group-head button{border:0;background:transparent;color:#257052;font-size:11px;font-weight:800}.v4-day-row{display:grid;grid-template-columns:minmax(120px,1fr) 70px 84px 66px;gap:8px;align-items:center;min-height:40px;padding:6px 10px;border-top:1px solid #edf0f2;font-size:11px}.v4-day-row.head{min-height:30px;background:#fbfcfd;color:#84909b;font-size:10px}.v4-day-row strong{font-size:12px;color:#2e3a45}.v4-day-row b{font-size:14px;color:#1f6f55}.v4-day-row input{width:64px;height:30px;border:1px solid #cfd8df;border-radius:5px;text-align:center;font-weight:800}.v4-day-row.pending-remove{opacity:.55;background:#fff3f3}.v4-remove-toggle{border:1px solid #edc7c7;background:#fff;color:#b94a48;border-radius:5px;height:28px}.v4-day-empty,.v4-proc-placeholder{display:grid;justify-items:center;text-align:center;padding:46px 20px;color:#74818e}.v4-day-empty strong,.v4-proc-placeholder strong{font-size:16px;color:#33414e}.v4-day-empty span,.v4-proc-placeholder span{margin:7px 0 15px;font-size:12px}.v4-create-grid,.v4-range-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.v4-create-grid label,.v4-range-form label,.v4-copy-day label{display:grid;gap:5px}.v4-create-grid span,.v4-range-form span,.v4-copy-day span{font-size:11px;color:#687582}.v4-create-grid input,.v4-create-grid select,.v4-range-form input,.v4-copy-day input{height:38px;border:1px solid #d3dbe1;border-radius:6px;padding:0 10px}.v4-copy-day{display:grid;grid-template-columns:180px auto 1fr;gap:8px;align-items:end;margin:12px 0;padding:10px;border:1px solid #dfe6eb;border-radius:7px;background:#f7fafb}.v4-copy-day button{height:38px;border:1px solid #8fb0c3;background:#fff;border-radius:6px;color:#426a81;font-weight:800}.v4-copy-day strong{align-self:center;color:#6f7c88;font-size:11px}.v4-form-note,.v4-formula{margin-top:10px;padding:10px 12px;border-left:3px solid #5e8da7;background:#f3f8fb;color:#526675;font-size:11px;line-height:1.7}.v4-proc-page{display:grid;grid-template-columns:280px minmax(0,1fr);gap:14px;align-items:start}.v4-proc-list{position:sticky;top:74px;border:1px solid #dce3e8;border-radius:8px;background:#fff;padding:10px;max-height:calc(100vh - 100px);overflow:auto}.v4-proc-list-head{display:flex;justify-content:space-between;padding:6px 5px 11px}.v4-proc-list-head span{font-size:11px;color:#7c8792}.v4-proc-list button{display:grid;width:100%;gap:4px;text-align:left;padding:10px;margin-bottom:6px;border:1px solid #e2e7eb;border-radius:6px;background:#fff}.v4-proc-list button.active{border-color:#2e8b69;background:#f4faf7}.v4-proc-list button strong{font-size:12px}.v4-proc-list button span,.v4-proc-list button em{font-size:10px;color:#74818e;font-style:normal}.v4-proc-detail{min-width:0;border:1px solid #dce3e8;border-radius:8px;background:#fff;padding:16px}.v4-proc-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.v4-proc-head>div:last-child{display:flex;gap:8px}.v4-proc-head span{font-size:11px;color:#26845f;font-weight:800}.v4-proc-head h2{font-size:20px;margin:3px 0}.v4-proc-head p{margin:0;color:#73808d;font-size:11px}.v4-proc-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0}.v4-proc-metrics div{padding:11px;border:1px solid #e1e7eb;border-radius:6px;background:#fafbfc}.v4-proc-metrics span,.v4-proc-metrics strong{display:block}.v4-proc-metrics span{font-size:10px;color:#7d8995}.v4-proc-metrics strong{font-size:17px;margin-top:4px}.v4-proc-group{margin-top:14px}.v4-proc-group-title{display:flex;justify-content:space-between;margin-bottom:6px}.v4-proc-group-title span{font-size:11px;color:#7c8792}.v4-proc-table{overflow-x:auto;border:1px solid #e2e7eb;border-radius:6px}.v4-proc-row{display:grid;grid-template-columns:minmax(150px,1.4fr) repeat(8,minmax(78px,.7fr));gap:6px;align-items:center;min-width:940px;min-height:46px;padding:6px 9px;border-top:1px solid #edf0f2;font-size:10px}.v4-proc-row.head{border-top:0;background:#f6f8fa;color:#7b8792}.v4-proc-row div strong,.v4-proc-row div small{display:block}.v4-proc-row div strong{font-size:11px}.v4-proc-row div small{margin-top:3px;color:#85909b}.v4-proc-row input{width:76px;height:30px;border:1px solid #cbd5dc;border-radius:5px;text-align:center;font-weight:800}.v4-loading,.v4-error{padding:50px;text-align:center;color:#71808e}.v4-error{color:#b34d4b}@media(max-width:1180px){.v4-production-layout{grid-template-columns:1fr}.v4-day-workspace{position:static}.v4-proc-page{grid-template-columns:1fr}.v4-proc-list{position:static;display:flex;gap:8px;max-height:none;overflow:auto}.v4-proc-list-head{min-width:130px}.v4-proc-list button{min-width:210px}}@media(max-width:760px){.v4-page-head,.v4-day-head,.v4-proc-head{flex-direction:column}.v4-metrics,.v4-proc-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.v4-calendar-grid,.v4-week-labels{gap:3px}.v4-cal-day,.v4-cal-blank{min-height:78px}.v4-cal-count{display:none}.v4-create-grid,.v4-range-form{grid-template-columns:1fr}.v4-copy-day{grid-template-columns:1fr}.v4-day-row{grid-template-columns:minmax(100px,1fr) 58px 72px 54px}.v4-calendar-head{align-items:flex-start;flex-direction:column}}


/* 物料计算：按实际出品日复核 */
.v4-range-form{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}.v4-range-form label{display:grid;gap:5px}.v4-range-form label span{font-size:12px;color:#6d7c87;font-weight:700}.v4-range-form input{height:38px;border:1px solid #cbd8df;border-radius:8px;padding:0 10px}.v4-range-form>button{height:38px;border:1px solid #2d8063;border-radius:8px;background:#eef8f3;color:#246b52;padding:0 12px;font-weight:800}.v4-date-pick-tools{display:flex;justify-content:space-between;align-items:center;margin-top:12px;font-size:12px;color:#657783}.v4-date-pick-tools div{display:flex;gap:6px}.v4-date-pick-tools button{border:0;background:#f0f5f7;color:#3e6b80;border-radius:6px;padding:5px 8px;font-size:11px;font-weight:800}.v4-date-pick-list{display:grid;gap:6px;max-height:270px;overflow:auto;margin-top:8px;padding-right:2px}.v4-date-pick-list label{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:9px 10px;border:1px solid #e0e7eb;border-radius:8px;background:#fbfcfc;cursor:pointer}.v4-date-pick-list label:has(input:checked){border-color:#9fcbb7;background:#f3faf6}.v4-date-pick-list input{width:16px;height:16px;accent-color:#2d8063}.v4-date-pick-list span strong,.v4-date-pick-list span small{display:block}.v4-date-pick-list span strong{font-size:12px;color:#314552}.v4-date-pick-list span small{font-size:10px;color:#7d8b94;margin-top:2px}.v4-date-pick-list b{font-size:12px;color:#2d8063}.v4-date-pick-loading,.v4-date-pick-empty{padding:24px 10px;text-align:center;color:#71818b}.v4-date-pick-empty strong,.v4-date-pick-empty span{display:block}.v4-date-pick-empty strong{font-size:13px;color:#3d4d57}.v4-date-pick-empty span{font-size:11px;margin-top:5px}@media(max-width:700px){.v4-range-form{grid-template-columns:1fr 1fr}.v4-range-form>button{grid-column:1/-1;width:100%}}

.v4-month-create{border-color:#2e8b69!important;background:#f3faf6!important;color:#257052!important;font-size:12px!important;white-space:nowrap}
@media(max-width:760px){.v4-month-nav{width:100%}.v4-month-nav .v4-month-create{flex:1;min-width:120px}}

.v4-day-row.cols-2{grid-template-columns:minmax(120px,1fr) 70px}.v4-day-row.cols-3{grid-template-columns:minmax(120px,1fr) 70px 84px}.v4-day-row.cols-4{grid-template-columns:minmax(120px,1fr) 70px 84px 66px}.v4-day-row.cols-5{grid-template-columns:minmax(120px,1fr) 70px 84px 84px 66px}
