:root{color:#111827;background:radial-gradient(circle at top left,rgba(29,78,216,.12),transparent 28rem),linear-gradient(180deg,#f7f8fb,#eef2f7);font-family:PingFang SC,PingFang HK,PingFang TC,Microsoft YaHei,Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea,pre,code{font-family:PingFang SC,PingFang HK,PingFang TC,Microsoft YaHei,Arial,sans-serif}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.shell{min-height:100vh;padding:28px}.authShell{align-items:center;display:flex;min-height:100vh;justify-content:center;padding:24px}.authPanel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffe0;border:1px solid rgba(209,213,219,.9);border-radius:24px;box-shadow:0 24px 80px #0f172a1f;display:grid;gap:22px;max-width:440px;padding:24px;width:100%}.authIdentity{align-items:flex-start}.authForm{display:grid;gap:13px}.authForm label{display:grid;gap:7px}.authForm label span{color:#475569;font-size:13px;font-weight:900}.authError{margin:0}.topShell,.commandBar,.pageGrid,.errorBanner{max-width:1720px;margin-left:auto;margin-right:auto}.topShell{align-items:stretch;display:grid;gap:18px;grid-template-columns:minmax(320px,1fr) minmax(560px,720px)}.identity{align-items:center;display:flex;gap:14px;min-width:0}.logoMark{align-items:center;background:linear-gradient(135deg,#111827,#2563eb);border-radius:18px;box-shadow:0 18px 40px #2563eb38;color:#fff;display:flex;height:52px;justify-content:center;width:52px}h1,h2,p{margin:0}.identity p{color:#2563eb;font-size:13px;font-weight:700;letter-spacing:.04em}h1{color:#0f172a;font-size:30px;font-weight:800;letter-spacing:0;line-height:1.18}.topStats{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr));min-width:0}.topStats div,.commandBar,.stepCard,.glassPanel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffd1;border:1px solid rgba(209,213,219,.86);box-shadow:0 18px 50px #0f172a0f}.topStats div{border-radius:16px;min-width:0;padding:11px 13px}.topStats span{color:#64748b;display:block;font-size:11px;font-weight:800;margin-bottom:5px}.topStats strong{color:#0f172a;display:block;font-size:13px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.commandBar{align-items:center;border-radius:22px;display:grid;gap:14px;grid-template-columns:minmax(0,1fr) auto;margin-top:18px;padding:14px 16px}.commandSummary{align-items:center;color:#334155;display:flex;gap:10px;line-height:1.5;min-width:0}.commandActions{align-items:center;display:flex;gap:10px;justify-content:flex-end}.runAllButton,.primaryButton,.ghostButton,.dangerButton{align-items:center;border-radius:14px;display:inline-flex;font-size:14px;font-weight:700;gap:8px;justify-content:center;min-height:40px;padding:9px 14px;white-space:nowrap}.runAllButton,.primaryButton{background:#111827;border:1px solid #111827;box-shadow:0 12px 30px #0f172a29;color:#fff}.ghostButton{background:#fff;border:1px solid #d8dee8;color:#1e293b}.ghostButton:hover:not(:disabled){border-color:#2563eb;color:#1d4ed8}.dangerButton{background:#fff1f2;border:1px solid #fecdd3;color:#be123c}.dangerButton:hover:not(:disabled){background:#ffe4e6;border-color:#fb7185;color:#be123c}.emergencyButton{box-shadow:0 12px 28px #be123c1f}.stopClearButton{border-color:#bbf7d0;color:#166534}.emergencyBanner{background:#fff1f2;border-color:#fb7185;color:#9f1239;font-weight:900}.schedulePanel{align-items:center;background:#f8fafcdb;border:1px solid #e2e8f0;border-radius:18px;display:grid;gap:10px;grid-template-columns:minmax(220px,1fr) auto;margin-bottom:12px;overflow:visible;padding:12px;position:relative;z-index:8}.schedulePanel.locked{background:linear-gradient(135deg,#eff6fff2,#ffffffe0);border-color:#bfdbfe}.scheduleStatus{align-items:center;color:#0f172a;display:flex;gap:10px;min-width:0}.scheduleStatus div{display:grid;gap:3px;min-width:0}.scheduleStatus strong{font-size:14px;font-weight:900}.scheduleStatus span,.scheduleMeta span{color:#64748b;font-size:11px;font-weight:800}.scheduleControls{align-items:end;display:flex;gap:12px;justify-content:flex-end;overflow:visible}.schedulePlanGroup{align-items:end;display:flex;gap:8px;overflow:visible}.scheduleModeSwitch{background:#eef2f7;border:1px solid #d8dee8;border-radius:14px;display:inline-flex;gap:3px;min-height:36px;padding:3px}.scheduleModeButton{background:transparent;border:0;border-radius:11px;color:#64748b;font-size:12px;font-weight:900;min-height:28px;padding:6px 10px;white-space:nowrap}.scheduleModeButton.active{background:#fff;box-shadow:0 6px 14px #2563eb1f;color:#1d4ed8}.scheduleModeButton.active.off{box-shadow:0 6px 14px #dc26261a;color:#be123c}.schedulePlanGroup label:not(.inlineCheck){min-width:104px}.scheduleToggle{min-height:36px}.scheduleMeta{display:flex;flex-wrap:wrap;gap:10px;grid-column:1 / -1}.errorBanner{background:#fff1f2;border:1px solid #fecdd3;border-radius:18px;color:#9f1239;margin-top:16px;padding:13px 16px}.pageGrid{align-items:start;display:grid;gap:18px;grid-template-columns:minmax(0,1fr) 390px;margin-top:18px}.workflow{display:grid;gap:14px}.stepCard,.glassPanel{border-radius:24px}.stepCard{display:grid;gap:18px;grid-template-columns:76px minmax(0,1fr);overflow:visible;position:relative}.stepCard.timeLayerActive{z-index:90}.stepCard.dateLayerActive{z-index:500}.stepCard.accent{background:linear-gradient(135deg,#2563eb14,#ffffffe0),#ffffffd6}.stepRail{align-items:center;background:linear-gradient(180deg,#f8fafc,#eef2ff);border-radius:24px 0 0 24px;color:#2563eb;display:flex;flex-direction:column;gap:10px;padding-top:24px}.stepRail span{color:#94a3b8;font-size:12px;font-weight:800}.stepContent{min-width:0;overflow:visible;padding:22px 22px 22px 0}.stepHead{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:14px}.stepKicker{color:#2563eb;font-size:12px;font-weight:800;margin-bottom:5px}.stepHead h2,.inspectorHead h2,.compactLogs h2{color:#0f172a;font-size:18px;font-weight:800;letter-spacing:0}.stepHint{color:#64748b;font-size:13px;line-height:1.6;margin-bottom:14px}.stepBadge{background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;color:#1d4ed8;font-size:12px;font-weight:800;padding:6px 10px;white-space:nowrap}.stepActions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.inputGrid{align-items:start;display:grid;gap:12px}.inputGrid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.inputGrid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.inputGrid.narrow{grid-template-columns:minmax(180px,260px)}.readonlyField{align-items:center;background:linear-gradient(180deg,#fff,#f8fafc),#fff;border:1px solid #dbe4f0;border-radius:16px;color:#0f172a;display:grid;gap:4px 10px;grid-template-columns:auto minmax(0,1fr);min-height:44px;padding:10px 12px}.readonlyField svg{color:#2563eb;grid-row:span 2}.readonlyField strong{font-size:14px;font-weight:900;line-height:1.2;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.readonlyField small{color:#64748b;font-size:11px;font-weight:800;line-height:1.25;min-width:0}.scheduleReadonlyField strong,.scheduleReadonlyField small{white-space:normal}label,.fullField{display:grid;gap:7px}label span,.fullField span{color:#475569;font-size:12px;font-weight:800}input,select,textarea{background:#f8fafce0;border:1px solid #d8dee8;border-radius:14px;color:#0f172a;font-size:14px;min-height:42px;outline:none;padding:10px 12px;width:100%}textarea{line-height:1.5;min-height:96px;resize:vertical}.wxPoolEditor{display:grid;gap:12px}.wxPoolSummary{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;color:#334155;display:flex;font-size:13px;font-weight:800;gap:8px;min-height:46px;padding:10px 12px}.wxPoolSummary svg{color:#2563eb;flex:0 0 auto}.wxPoolSummary span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wxTagList{align-items:flex-start;background:#f8fafcb8;border:1px solid #d8dee8;border-radius:18px;display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));min-height:82px;padding:12px}.wxTag{align-items:center;background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid #dbeafe;border-radius:16px;box-shadow:0 8px 18px #2563eb14;color:#1e3a8a;display:grid;font-size:13px;font-weight:700;gap:8px;grid-template-columns:minmax(0,1fr) minmax(96px,140px) auto;max-width:100%;min-height:52px;padding:8px}.wxTagText{display:grid;gap:2px;min-width:0;overflow:hidden;text-overflow:ellipsis}.wxTagText strong,.wxTagText small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wxTagText strong{font-size:13px;line-height:1.15}.wxTagText small{color:#64748b;font-size:11px;font-weight:700;line-height:1.15}.wxAliasInput{background:#fff;border-radius:12px;font-size:12px;min-height:34px;padding:7px 10px;text-align:center}.wxTag svg{background:#eff6ff;border-radius:999px;color:#64748b;flex:0 0 auto;padding:2px}.wxTag svg:hover{background:#fee2e2;color:#dc2626}.wxPoolEmpty{align-items:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:18px;color:#64748b;display:flex;min-height:82px;padding:14px}.wxAddRow{display:grid;gap:10px;grid-template-columns:minmax(0,1fr) minmax(180px,260px) auto}.excludePanel{background:#fff;border:1px solid #e2e8f0;border-radius:18px;display:grid;gap:10px;padding:12px}.excludeHead{align-items:center;display:flex;gap:10px;justify-content:space-between}.excludeHead strong{color:#0f172a;font-size:13px;font-weight:900}.excludeHead span{color:#64748b;font-size:12px;text-align:right}.excludeList{display:flex;flex-wrap:wrap;gap:8px}.excludeChip{align-items:center;background:#ecfdf5;border:1px solid #bbf7d0;border-radius:999px;color:#166534;display:inline-flex;font-size:12px;font-weight:800;gap:6px;min-height:32px;padding:6px 10px}.excludeChip.excluded{background:#fff1f2;border-color:#fecdd3;color:#be123c}.addWxButton{align-items:center;background:#2563eb;border:1px solid #2563eb;border-radius:14px;color:#fff;display:inline-flex;font-size:14px;font-weight:800;gap:7px;justify-content:center;min-height:42px;padding:10px 14px;white-space:nowrap}.addWxButton:hover{background:#1d4ed8;border-color:#1d4ed8}input:focus,select:focus,textarea:focus{border-color:#2563eb;box-shadow:0 0 0 4px #2563eb1f}input:disabled{color:#64748b;cursor:not-allowed}.timeFieldLabel,.dateFieldLabel{min-width:0;position:relative}.timeField,.dateField{align-items:center;background:linear-gradient(180deg,#fffffff5,#f8fafce6),#f8fafc;border:1px solid #d8dee8;border-radius:14px;box-shadow:inset 0 1px #ffffffdb;color:#2563eb;display:grid;gap:8px;grid-template-columns:auto minmax(0,1fr);min-height:42px;padding:0 10px;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;width:100%}.timeField:hover,.dateField:hover{border-color:#93c5fd}.timeField:focus-within,.dateField:focus-within,.timeField:focus-visible{background:#fff;border-color:#2563eb;box-shadow:0 0 0 4px #2563eb1f;outline:none}.timeField.compact,.dateField.compact{min-height:36px;padding:0 9px}.timeField svg,.dateField svg{color:#2563eb}.timeField strong{color:#0f172a;font-size:13px;font-weight:900;text-align:left}.timeField input,.dateField input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;border-radius:0;box-shadow:none;color:#0f172a;font-size:13px;font-weight:900;min-height:34px;padding:0;width:100%}.timeField input:focus,.dateField input:focus{border-color:transparent;box-shadow:none}.timeField input::-webkit-calendar-picker-indicator,.dateField input::-webkit-calendar-picker-indicator{background:linear-gradient(180deg,#fff,#eef6ff);border:1px solid #bfdbfe;border-radius:10px;cursor:pointer;height:24px;margin-left:4px;padding:3px;width:24px}.timeField input::-webkit-calendar-picker-indicator:hover,.dateField input::-webkit-calendar-picker-indicator:hover{background:#eff6ff}.timePicker{position:relative;z-index:80}.timePopover{background:linear-gradient(180deg,#fffffffa,#f8fafcfa),#fff;border:1px solid #d8dee8;border-radius:20px;box-shadow:0 24px 54px #0f172a38;display:grid;gap:10px;margin-top:8px;padding:12px;position:absolute;right:0;top:100%;width:min(330px,calc(100vw - 48px));z-index:120}.timePopover.compact{width:min(250px,calc(100vw - 48px))}.timeColumns{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.timeColumns.two{grid-template-columns:repeat(2,minmax(0,1fr))}.timeColumn{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;display:grid;gap:6px;grid-template-rows:auto minmax(0,1fr);max-height:206px;overflow:hidden;padding:8px 8px 9px}.timeOptionList{display:grid;gap:6px;min-height:0;overflow:auto;scrollbar-width:none}.timeOptionList::-webkit-scrollbar{display:none}.timeColumnLabel{background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#64748b;display:block;font-size:11px;font-weight:900;line-height:1;margin:-2px 0 2px;padding:2px 0 7px;position:static;text-align:center}.timeOption{background:#fff;border:1px solid transparent;border-radius:10px;color:#334155;flex:0 0 auto;font-size:12px;font-weight:900;line-height:1.2;min-height:32px;padding:6px 8px}.timeOption:hover{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.timeOption.selected{background:#2563eb;border-color:#2563eb;color:#fff;box-shadow:0 8px 18px #2563eb2e}.datePicker{position:relative;z-index:60}.compactDatePicker{min-width:180px}.scopePicker{position:relative}.scopeTrigger{align-items:center;background:#f8fafce0;border:1px solid #d8dee8;border-radius:14px;color:#0f172a;display:grid;gap:8px;grid-template-columns:auto minmax(0,1fr) auto auto;min-height:42px;padding:10px 12px;text-align:left;width:100%}.scopeTrigger:hover{border-color:#2563eb}.scopeTrigger strong{font-size:13px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scopeTrigger span{background:#eff6ff;border-radius:999px;color:#1d4ed8;font-size:12px;font-weight:900;padding:4px 8px;white-space:nowrap}.scopePanel{background:#fffffffa;border:1px solid #d8dee8;border-radius:18px;box-shadow:0 18px 38px #0f172a1f;display:grid;gap:8px;margin-top:8px;max-height:260px;overflow:auto;padding:10px}.scopeAccount{align-items:center;background:#fff;border:1px solid #d8dee8;border-radius:14px;color:#0f172a;display:flex;gap:10px;min-height:48px;padding:8px 10px;text-align:left;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,opacity .18s ease;width:100%}.scopeAccount:hover{border-color:#2563eb;box-shadow:0 10px 24px #2563eb1f}.scopeAccount.selected{background:linear-gradient(180deg,#f8fbff,#eef6ff);border-color:#8bb9ff}.scopeAccount.muted{background:#f8fafc;color:#64748b;opacity:.72}.scopeCheck{align-items:center;background:#e8f1ff;border:1px solid #b8d3ff;border-radius:999px;color:#1d4ed8;display:inline-flex;flex:0 0 auto;height:24px;justify-content:center;width:24px}.scopeAccount.muted .scopeCheck{background:#eef2f7;border-color:#d8dee8;color:#64748b}.scopeAccountText{display:grid;gap:3px;min-width:0}.scopeAccount strong,.scopeAccount small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scopeAccount strong{font-size:13px;font-weight:900}.scopeAccount small,.scopeEmpty{color:#64748b;font-size:12px}.scopeEmpty{background:#f8fafc;border-radius:12px;padding:10px}.dateTrigger{align-items:center;background:linear-gradient(180deg,#fffffff5,#f8fafce6),#f8fafc;border:1px solid #d8dee8;border-radius:14px;box-shadow:inset 0 1px #ffffffdb;color:#0f172a;display:grid;gap:8px;grid-template-columns:auto minmax(0,1fr) auto;min-height:48px;padding:8px 12px;text-align:left;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;width:100%}.dateTrigger.compact{min-height:40px;padding:7px 10px}.dateTrigger:hover{border-color:#93c5fd}.dateTrigger:focus-visible{background:#fff;border-color:#2563eb;box-shadow:0 0 0 4px #2563eb1f;outline:none}.dateTrigger svg{color:#2563eb}.dateTriggerText{display:grid;gap:2px;min-width:0}.dateTrigger strong{font-size:14px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dateTrigger small{color:#64748b;font-size:11px;font-weight:800}.datePopover{background:linear-gradient(180deg,#fffffffa,#f8fafcfa),#fff;border:1px solid #d8dee8;border-radius:20px;box-shadow:0 24px 54px #0f172a2e;display:grid;gap:12px;margin-top:8px;max-width:100%;padding:14px;position:relative;width:min(340px,calc(100vw - 48px));z-index:520}.fixedDatePopover{max-width:calc(100vw - 48px);position:absolute;right:0;top:100%;width:340px;z-index:560}.fixedGroupDatePanel{margin:4px 0 14px;max-width:380px;position:relative;z-index:55}.fixedGroupDatePopover{max-width:calc(100vw - 48px);position:absolute;left:0;top:100%;width:340px;z-index:570}.calendarHead,.calendarFoot{align-items:center;display:flex;gap:10px;justify-content:space-between}.calendarHead strong{color:#0f172a;font-size:14px;font-weight:900}.iconButton{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;color:#334155;display:inline-flex;height:32px;justify-content:center;width:32px}.iconButton:hover{border-color:#2563eb;color:#1d4ed8}.weekRow,.calendarWeek,.calendarGrid{display:grid;gap:6px;grid-template-columns:repeat(7,minmax(0,1fr))}.weekRow span,.calendarWeek span{color:#94a3b8;font-size:11px;font-weight:900;text-align:center}.calendarDay{align-items:center;aspect-ratio:1 / 1;background:#fff;border:1px solid transparent;border-radius:12px;color:#1e293b;display:inline-flex;font-size:13px;font-weight:800;justify-content:center;min-height:34px;padding:0}.calendarDay:hover{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.calendarDay.muted{color:#cbd5e1}.calendarDay.today{border-color:#93c5fd;color:#1d4ed8}.calendarDay.selected{background:#2563eb;border-color:#2563eb;color:#fff;box-shadow:0 8px 18px #2563eb33}.calendarFoot{justify-content:flex-end}.inlineCheck{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;color:#334155;display:inline-flex;gap:9px;min-height:40px;padding:9px 12px;width:fit-content}.inlineCheck input{min-height:auto;width:auto}.customSelect{margin-bottom:14px;position:relative;z-index:6}.fixedMaterialPanel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;margin-bottom:14px;overflow:hidden}.nextDayFriendPanel{background:#fff;border:1px solid #e2e8f0;border-radius:18px;display:grid;gap:12px;margin-bottom:14px;padding:12px}.collapseHeader{align-items:center;background:transparent;border:0;color:#0f172a;display:grid;font-size:13px;font-weight:900;gap:10px;grid-template-columns:auto minmax(0,1fr) auto;min-height:48px;padding:12px 14px;text-align:left;width:100%}.collapseHeader span{align-items:center;display:inline-flex;gap:8px;white-space:nowrap}.collapseHeader strong{color:#64748b;font-size:12px;font-weight:800;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.panelChevron{color:#64748b;transition:transform .18s ease}.panelChevron.open{transform:rotate(180deg)}.fixedMaterialBody{border-top:1px solid #e2e8f0;padding:14px}.materialInlineActions{align-items:center;justify-content:flex-start;margin-bottom:10px}.uploadButton{align-items:center;background:#fff;border:1px solid #d8dee8;border-radius:999px;color:#334155;cursor:pointer;display:inline-flex;font-size:13px;font-weight:900;gap:8px;min-height:38px;padding:9px 13px}.uploadButton:hover{border-color:#2563eb;color:#1d4ed8}.uploadButton.disabled{cursor:not-allowed;opacity:.58}.uploadButton input{display:none}.materialSelect .selectMenu{left:auto;margin-top:8px;max-height:220px;position:static;right:auto;top:auto}.selectTrigger{align-items:center;background:#f8fafceb;border:1px solid #d8dee8;border-radius:14px;color:#0f172a;display:flex;font-size:14px;gap:10px;justify-content:space-between;min-height:42px;padding:10px 12px;text-align:left;width:100%}.selectTrigger span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selectTrigger:hover{border-color:#2563eb}.selectMenu{background:#fffffffa;border:1px solid #d8dee8;border-radius:18px;box-shadow:0 22px 48px #0f172a29;display:grid;gap:4px;left:0;max-height:320px;overflow:auto;padding:8px;position:absolute;right:0;top:calc(100% + 8px)}.selectOption{align-items:center;background:transparent;border:0;border-radius:12px;color:#1e293b;display:flex;font-size:13px;gap:10px;justify-content:space-between;min-height:38px;padding:9px 10px;text-align:left;width:100%}.selectOption:hover{background:#eff6ff;color:#1d4ed8}.selectOption span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.emptyMaterial,.emptyResult,.historyEmpty{align-items:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:18px;color:#64748b;display:flex;gap:10px;justify-content:center;min-height:110px;padding:16px}.materialGrid{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.materialQueue{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin-bottom:10px}.selectedMaterialCard{align-items:center;background:#fff;border:1px solid #bfdbfe;border-radius:18px;box-shadow:0 12px 28px #2563eb14;display:grid;gap:12px;grid-template-columns:76px minmax(0,1fr);padding:10px}.selectedMaterialCard.muted{border-color:#e2e8f0;box-shadow:none}.selectedCover{align-items:center;aspect-ratio:1 / 1;background:#eef2f7;border-radius:14px;color:#64748b;display:flex;justify-content:center;overflow:hidden;width:76px}.selectedCover img{height:100%;object-fit:cover;width:100%}.selectedMaterialBody{display:grid;gap:7px;min-width:0}.selectedMaterialBody .descText{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.selectedActions{display:flex;flex-wrap:wrap;gap:8px}.textButton{background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;color:#1d4ed8;font-size:12px;font-weight:800;min-height:30px;padding:6px 10px}.textButton.danger{background:#fff1f2;border-color:#fecdd3;color:#be123c}.materialCard{background:#fff;border:1px solid #e2e8f0;border-radius:14px;cursor:pointer;display:grid;gap:10px;grid-template-columns:58px minmax(0,1fr);min-height:82px;padding:9px;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.materialCard:hover{border-color:#93c5fd;box-shadow:0 10px 24px #0f172a14;transform:translateY(-1px)}.materialCard.selected{border-color:#2563eb;box-shadow:0 0 0 4px #2563eb1f}.coverBox{align-items:center;aspect-ratio:1 / 1;background:#f1f5f9;border-radius:12px;color:#64748b;display:flex;justify-content:center;overflow:hidden;width:58px}.coverBox img{height:100%;object-fit:cover;width:100%}.materialInfo{display:grid;align-content:center;gap:6px;min-width:0}.chips{display:flex;flex-wrap:wrap;gap:6px}.chips span{align-items:center;background:#f1f5f9;border-radius:999px;color:#64748b;display:inline-flex;font-size:11px;font-weight:700;gap:4px;max-width:100%;overflow:hidden;padding:3px 7px;text-overflow:ellipsis;white-space:nowrap}.chips .selectedChip{background:#2563eb;color:#fff}.descText{color:#1e293b;font-size:13px;line-height:1.35;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}pre{background:#0f172a;border-radius:14px;color:#e2e8f0;font-size:11px;line-height:1.55;margin:8px 0 0;max-height:220px;overflow:auto;padding:12px;scrollbar-width:none;white-space:pre-wrap;word-break:break-word}pre::-webkit-scrollbar{display:none}.fullField{margin-top:12px}.modeSwitch{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px}.modeCard{background:#fff;border:1px solid #d8dee8;border-radius:18px;color:#334155;display:grid;gap:6px;min-height:96px;padding:14px;text-align:left}.modeCard strong{color:#0f172a;font-size:15px}.modeCard span{color:#64748b;font-size:12px;line-height:1.45}.modeCard.active{background:#eff6ff;border-color:#2563eb;box-shadow:0 0 0 4px #2563eb1a}.updatePlanNotice{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;color:#334155;display:flex;flex-wrap:wrap;gap:4px;margin-bottom:14px;padding:10px 12px}.updatePlanNotice strong{color:#0f172a}.taskOptions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-top:12px}.textQueuePanel{display:grid;gap:10px}.textQueueHead{align-items:center;display:flex;justify-content:space-between}.textQueueHead>span{color:#475569;font-size:13px;font-weight:900}.textQueueList{display:grid;gap:10px}.textQueueItem{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;display:grid;gap:8px;padding:10px}.textQueueItem>span{color:#64748b;font-size:12px;font-weight:900}.textQueueItem textarea{min-height:66px}.textQueueItem .textButton{justify-self:end}.textEmpty{min-height:78px}.prepStepList{display:grid;gap:7px;grid-template-columns:repeat(4,minmax(0,1fr))}.prepStepItem{-webkit-appearance:none;-moz-appearance:none;appearance:none;align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;color:#334155;display:flex;font-size:12px;font-weight:900;gap:6px;min-height:34px;padding:7px 8px;text-align:left;transition:background .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease;width:100%}.prepStepItem:hover:not(:disabled){border-color:#93c5fd;box-shadow:0 8px 18px #2563eb1a;color:#1d4ed8}.prepStepItem:disabled{cursor:not-allowed;opacity:.72}.prepStepItem.running{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.prepStepItem.done{background:#ecfdf5;border-color:#86efac;box-shadow:0 10px 24px #16a34a1f;color:#166534}.prepStepIcon{align-items:center;background:#fff;border-radius:999px;display:inline-flex;flex:0 0 auto;height:22px;justify-content:center;width:22px}.prepStepItem.done .prepStepIcon{background:#16a34a;color:#fff}.prepStepText{display:grid;gap:1px;min-width:0}.prepStepText strong,.prepStepText small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prepStepText strong{font-size:11px;line-height:1.2}.prepStepText small{color:#64748b;font-size:10px;font-weight:800}.prepStepItem.done .prepStepText small{color:#15803d}.selectedMaterial{align-items:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;color:#1d4ed8;display:flex;gap:7px;max-width:420px;padding:8px 12px}.selectedMaterial span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.labelBindPanel{background:#fff;border:1px solid #e2e8f0;border-radius:18px;display:grid;gap:12px;margin-bottom:14px;padding:12px;overflow:visible;position:relative}.labelBindPanel.datePanelActive{z-index:540}.labelBindHead,.labelGroupHead{align-items:center;display:flex;gap:12px;justify-content:space-between}.labelBindHead div{display:grid;gap:4px;min-width:0}.labelBindTools{align-items:end;display:grid;gap:10px;grid-template-columns:minmax(150px,180px) auto;overflow:visible;position:relative;z-index:30}.labelBindTools label{gap:6px}.labelBindHead strong,.labelGroupHead strong{color:#0f172a;font-size:13px;font-weight:900}.labelBindHead span,.labelGroupHead span{color:#64748b;font-size:12px;font-weight:800}.labelGroupList{display:grid;gap:10px}.labelGroup{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;display:grid;gap:10px;padding:12px}.labelChipGrid{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(176px,1fr))}.labelChip{align-items:center;background:#fff;border:1px solid #d8dee8;border-radius:14px;color:#0f172a;display:grid;gap:8px;grid-template-columns:24px minmax(0,1fr);min-height:54px;padding:8px;text-align:left}.labelChip.selected{background:#eff6ff;border-color:#93c5fd;box-shadow:0 0 0 3px #2563eb1a}.labelChip.disabled{background:#f1f5f9;border-color:#e2e8f0;box-shadow:none;color:#94a3b8;cursor:not-allowed}.labelChip.disabled .labelCheck{background:#e2e8f0;border-color:#cbd5e1;color:#94a3b8}.labelCheck{align-items:center;background:#fff;border:1px solid #cbd5e1;border-radius:8px;color:#2563eb;display:inline-flex;height:24px;justify-content:center;width:24px}.labelChip.selected .labelCheck{background:#2563eb;border-color:#2563eb;color:#fff}.labelChipText{display:grid;gap:3px;min-width:0}.labelChipText strong{font-size:13px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.labelChipText small{color:#64748b;font-size:12px;font-weight:800;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.labelEmpty{margin-top:0}.friendSearchPanel{background:#fff;border:1px solid #e2e8f0;border-radius:18px;display:grid;gap:12px;margin-top:12px;padding:12px;position:relative;z-index:40}.friendSearchHead{align-items:center;display:flex;gap:10px;justify-content:space-between}.friendSearchHead strong{color:#0f172a;font-size:13px;font-weight:900}.friendSearchHead span{color:#64748b;font-size:12px;text-align:right}.friendSearchGrid{align-items:start;display:grid;gap:10px;grid-template-columns:minmax(220px,.9fr) minmax(240px,1fr) auto}.friendSearchSelect{margin-bottom:0;position:relative;z-index:80}.friendSearchSelect .selectMenu{left:auto;margin-top:8px;max-height:220px;position:static;right:auto;top:auto;z-index:120}.friendSearchButton{align-self:end;height:44px;min-height:44px;padding-bottom:0;padding-top:0}.friendSearchGrid label{align-content:start;grid-template-rows:16px auto}.friendSearchAction{display:grid;gap:7px;grid-template-rows:16px 44px}.friendSearchGrid input,.friendSearchGrid .selectTrigger{height:44px;min-height:44px}.compactSelectMenu{max-height:280px;overflow:auto}.confirmPanel{background:#f8fafcb8;border:1px solid #e2e8f0;border-radius:18px;display:grid;gap:12px;margin-top:14px;max-height:560px;overflow:auto;padding:12px}.confirmToolbar,.friendConfirmHead{align-items:center;display:flex;gap:10px;justify-content:space-between}.confirmToolbar{color:#475569;font-size:12px;font-weight:800}.confirmToolbar span{align-items:center;display:inline-flex;flex-wrap:wrap;gap:8px}.confirmToolbar small{background:#dcfce7;border-radius:999px;color:#166534;font-size:11px;font-weight:900;padding:4px 8px}.confirmToolbar div{display:flex;gap:8px}.primaryMini{background:#111827;border-color:#111827;color:#fff}.friendConfirmGroup{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:12px}.friendConfirmHead{margin-bottom:10px}.friendConfirmHead strong{color:#1e293b;display:grid;gap:2px;font-size:13px}.friendConfirmHead strong small{color:#64748b;font-size:11px;font-weight:700}.friendConfirmHead span{background:#eff6ff;border-radius:999px;color:#1d4ed8;font-size:12px;font-weight:800;padding:4px 8px}.friendGroupActions{align-items:center;display:flex;gap:8px}.groupSelectToggle{align-items:center;background:#fff;border:1px solid #cbd5e1;border-radius:9px;color:#fff;display:inline-flex;height:28px;justify-content:center;width:28px}.groupSelectToggle.checked{background:#2563eb;border-color:#2563eb}.groupSelectToggle:hover{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.friendConfirmGrid{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.friendConfirmItem{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;color:#0f172a;display:grid;gap:10px;grid-template-columns:42px minmax(0,1fr) 22px;min-height:68px;padding:8px;position:relative;text-align:left}.friendConfirmItem.selected{background:#eff6ff;border-color:#93c5fd;box-shadow:0 0 0 3px #2563eb1a}.friendConfirmItem img,.friendAvatarFallback{border-radius:12px;grid-column:1;height:42px;width:42px}.friendConfirmItem img{object-fit:cover}.friendAvatarFallback{align-items:center;background:#dbeafe;color:#1d4ed8;display:flex;font-weight:900;justify-content:center}.friendText{display:grid;gap:4px;grid-column:2;min-width:0}.friendText strong,.friendText small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friendText strong{font-size:13px;line-height:1.25}.friendText small,.friendEmpty{color:#64748b;font-size:12px;line-height:1.25}.selectedEmpty{background:#fff;border:1px dashed #cbd5e1;border-radius:14px;padding:14px}.friendCheck{align-items:center;background:#fff;border:1px solid #cbd5e1;border-radius:999px;color:#2563eb;display:flex;grid-column:3;height:22px;justify-content:center;width:22px}.friendConfirmItem.selected .friendCheck{background:#2563eb;border-color:#2563eb;color:#fff}.friendEmpty,.reviewNotice{background:#f8fafc;border-radius:12px;color:#64748b;font-size:12px;padding:10px}.friendPreviewEmpty{margin-top:14px}.reviewNotice{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-weight:800;margin-bottom:14px}.inspector{display:grid;gap:14px;max-height:calc(100vh - 28px);overflow:auto;position:sticky;top:14px}.glassPanel{border-radius:24px;overflow:hidden;padding:18px}.inspectorHead{align-items:center;display:flex;gap:8px;margin-bottom:14px}.inspectorHead .miniButton{margin-left:auto}.latestResult pre{max-height:360px;width:100%}.receiptLoading{align-items:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:14px;color:#1d4ed8;display:flex;font-size:13px;font-weight:800;gap:8px;margin-top:12px;padding:10px 12px}.receiptLoading.selectedReceipt{background:#f8fafc;border-color:#e2e8f0;color:#334155}.resultLine,.historyItem{align-items:center;display:grid;gap:8px;grid-template-columns:10px minmax(0,1fr) auto}.resultLine strong,.historyItem strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.historyItem p{color:#64748b;font-size:12px;grid-column:2 / 4;line-height:1.45;margin:-2px 0 0;overflow-wrap:anywhere}.resultLine small,.historyItem small{color:#94a3b8}.dot{border-radius:999px;height:9px;width:9px}.dot.ok{background:#16a34a}.dot.bad{background:#e11d48}.dot.running{animation:pulse 1s ease-in-out infinite;background:#2563eb}.compactLogs h2{margin-bottom:12px}.panelTitleRow{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:12px}.panelTitleRow h2{margin-bottom:0}.logScroll{display:grid;max-height:320px;overflow:auto;padding-right:4px;scrollbar-width:none;-ms-overflow-style:none}.logScroll::-webkit-scrollbar{display:none}.miniButton{background:#f8fafc;border:1px solid #d8dee8;border-radius:999px;color:#334155;font-size:12px;font-weight:800;min-height:28px;padding:5px 10px}.miniButton:hover:not(:disabled){border-color:#2563eb;color:#1d4ed8}.historyItem{border-top:1px solid #e2e8f0;padding:10px 0}.historyItem:first-of-type{border-top:0}.logItem{background:transparent;border-left:0;border-right:0;border-bottom:0;color:inherit;text-align:left;width:100%}.logItem:hover,.logItem.active{background:#f8fafc;border-radius:12px;padding-left:8px;padding-right:8px}.logItem.active{box-shadow:inset 3px 0 #2563eb}.historyEmpty{min-height:64px}.configList{display:grid;gap:10px;margin:0}.configList div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:10px 12px}.configList dt{color:#64748b;font-size:12px;font-weight:800;margin-bottom:4px}.configList dd{color:#0f172a;font-size:13px;margin:0;overflow-wrap:anywhere}.configEditor{display:grid;gap:12px}.configEditor label{display:grid;gap:7px}.configStatus{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;color:#64748b;display:grid;font-size:12px;gap:5px;padding:10px 12px}.configGroupTitle{color:#0f172a;font-size:13px;font-weight:900;margin-top:4px}.configSaveButton{width:100%}.userAdminPanel{display:grid;gap:14px}.userCreateGrid{display:grid;gap:10px;grid-template-columns:minmax(0,1fr)}.userCreateGrid label{display:grid;gap:7px}.userCreateGrid label span{color:#64748b;font-size:12px;font-weight:900}.roleSwitch{background:#eef2f7;border:1px solid #d8dee8;border-radius:14px;display:grid;gap:4px;grid-template-columns:repeat(2,minmax(0,1fr));min-height:42px;padding:4px}.roleButton{background:transparent;border:0;border-radius:11px;color:#64748b;font-size:13px;font-weight:900;min-height:32px;padding:7px 10px}.roleButton.active{background:#fff;box-shadow:0 8px 18px #2563eb1f;color:#1d4ed8}.roleButton:hover{color:#1d4ed8}.userList{display:grid;gap:8px}.userItem{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;display:flex;gap:10px;justify-content:space-between;padding:10px 12px}.userItem div{display:grid;gap:3px;min-width:0}.userItem strong{color:#0f172a;font-size:13px}.userItem span{color:#64748b;font-size:12px;font-weight:800}.labelProcessing{align-items:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:14px;color:#1d4ed8;display:flex;font-size:13px;font-weight:900;gap:10px;padding:10px 12px}.modalOverlay{align-items:center;background:#0f172a5c;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:24px;position:fixed;z-index:200}.confirmDialog{background:#fff;border:1px solid #d8dee8;border-radius:22px;box-shadow:0 30px 80px #0f172a3d;display:grid;gap:14px;max-height:min(780px,calc(100vh - 48px));max-width:760px;overflow:auto;padding:18px;scrollbar-width:none;width:min(760px,100%)}.confirmDialog::-webkit-scrollbar{display:none}.confirmDialogHead{align-items:flex-start;display:flex;gap:14px;justify-content:space-between}.confirmDialogHead p{color:#2563eb;font-size:12px;font-weight:900;margin-bottom:4px}.confirmDialogHead h2{color:#0f172a;font-size:20px}.confirmSummaryGrid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.confirmSummaryGrid div,.confirmSection{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;display:grid;gap:6px;padding:11px 12px}.confirmSummaryGrid span,.confirmSection>span{color:#64748b;font-size:12px;font-weight:900}.confirmSummaryGrid strong,.confirmSection strong,.confirmSection p{color:#0f172a;font-size:13px;font-weight:800;line-height:1.55;margin:0;overflow-wrap:anywhere}.warningSection{background:#fffbeb;border-color:#fde68a}.warningSection>span{color:#92400e}.warningSection p{color:#78350f}.confirmTagList{display:flex;flex-wrap:wrap;gap:8px}.confirmTagList span{background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;color:#1d4ed8;font-size:12px;font-weight:900;padding:6px 9px}.confirmScheduleList{display:grid;gap:8px}.confirmScheduleItem{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;display:grid;gap:10px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;padding:9px 10px}.confirmScheduleItem div{display:grid;gap:3px;min-width:0}.confirmScheduleItem strong,.confirmScheduleItem small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.confirmScheduleItem small{color:#64748b;font-size:11px;font-weight:800}.confirmScheduleItem time{background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;color:#1d4ed8;font-size:12px;font-weight:900;padding:6px 9px;white-space:nowrap}.confirmPreviewList{display:grid;gap:8px}.confirmPreviewItem{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;cursor:grab;display:grid;gap:10px;grid-template-columns:44px minmax(0,1fr);padding:8px;transition:border-color .18s ease,box-shadow .18s ease,opacity .18s ease,transform .18s ease}.confirmPreviewItem:hover{border-color:#93c5fd;box-shadow:0 8px 18px #0f172a14}.confirmPreviewItem.dragging{cursor:grabbing;opacity:.48;transform:scale(.99)}.confirmPreviewThumb{align-items:center;aspect-ratio:1 / 1;background:#f1f5f9;border-radius:10px;color:#64748b;display:flex;font-size:12px;font-weight:900;justify-content:center;overflow:hidden;width:44px}.confirmPreviewThumb img{height:100%;object-fit:cover;width:100%}.confirmPreviewThumb.textThumb{background:#eff6ff;color:#1d4ed8}.confirmPreviewText{display:grid;gap:4px;min-width:0}.confirmPreviewText div{align-items:center;display:flex;gap:6px}.confirmPreviewText div span,.confirmPreviewText small{background:#f1f5f9;border-radius:999px;color:#64748b;font-size:11px;font-weight:900;padding:3px 7px}.confirmPreviewText strong{color:#0f172a;display:-webkit-box;font-size:13px;font-weight:900;line-height:1.45;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.confirmDialogActions{display:flex;gap:10px;justify-content:flex-end}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:.45;transform:scale(.9)}50%{opacity:1;transform:scale(1.12)}}@media(max-width:1280px){.pageGrid{grid-template-columns:1fr}.inspector{max-height:none;position:static}}@media(max-width:900px){.shell{padding:18px}.topShell,.commandBar,.schedulePanel{grid-template-columns:1fr}.scheduleControls,.schedulePlanGroup{flex-wrap:wrap}.prepStepList,.topStats{grid-template-columns:repeat(2,minmax(0,1fr))}.commandActions{justify-content:stretch}.stepCard{grid-template-columns:58px minmax(0,1fr)}.stepRail{padding-top:22px}.stepContent{padding:20px 16px 20px 0}.stepHead{align-items:stretch;flex-direction:column}.inputGrid.two,.inputGrid.three{grid-template-columns:1fr}.wxTagList{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.shell{padding:12px}h1{font-size:24px}.materialGrid{grid-template-columns:1fr}.runAllButton,.primaryButton,.ghostButton{width:100%}.topStats{grid-template-columns:1fr}.commandActions{align-items:stretch;flex-direction:column}.friendSearchHead,.friendSearchGrid{align-items:stretch;grid-template-columns:1fr}.friendSearchHead{display:grid}.friendSearchHead span{text-align:left}.confirmSummaryGrid,.confirmDialogActions{grid-template-columns:1fr}.confirmDialogActions{display:grid}.prepStepList,.wxTagList,.wxTag,.wxAddRow{grid-template-columns:1fr}}
