.image-crop-dialog[data-v-81bff31f]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;grid-template-rows:auto minmax(0,1fr) auto;place-items:center;padding:76px 72px 82px;background:#0a0e16e0;color:#fff}.image-crop-dialog-head[data-v-81bff31f]{position:absolute;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:12px 20px;background:linear-gradient(180deg,#00000075,#0000)}.image-crop-dialog-head div[data-v-81bff31f]{display:grid;gap:3px;min-width:0}.image-crop-dialog-head strong[data-v-81bff31f],.image-crop-dialog-head span[data-v-81bff31f]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-crop-dialog-head strong[data-v-81bff31f]{font-size:15px}.image-crop-dialog-head span[data-v-81bff31f]{color:#ffffffc2;font-size:12px}.image-crop-close[data-v-81bff31f],.image-crop-tool[data-v-81bff31f]{display:grid;place-items:center;border:1px solid rgba(255,255,255,.24);border-radius:8px;background:#ffffff24;color:#fff;cursor:pointer}.image-crop-close[data-v-81bff31f]{width:38px;height:38px}.image-crop-close[data-v-81bff31f]:hover:not(:disabled),.image-crop-tool[data-v-81bff31f]:hover:not(:disabled){background:#ffffff3d}.image-crop-stage[data-v-81bff31f]{position:relative;display:grid;place-items:center;max-width:min(100%,1160px);max-height:calc(100vh - 170px)}.image-crop-source[data-v-81bff31f]{display:block;max-width:100%;max-height:calc(100vh - 170px);object-fit:contain;border-radius:8px;box-shadow:0 28px 72px #00000057}.image-crop-mask[data-v-81bff31f]{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.image-crop-box[data-v-81bff31f]{position:absolute;border:2px solid #fff;box-shadow:0 0 0 9999px #0000007a,0 0 0 1px #2f6bffb8;cursor:move;pointer-events:auto;touch-action:none}.image-crop-box[data-v-81bff31f]:before,.image-crop-box[data-v-81bff31f]:after{content:"";position:absolute;top:33.333%;right:33.333%;bottom:33.333%;left:33.333%;border:0 solid rgba(255,255,255,.52);pointer-events:none}.image-crop-box[data-v-81bff31f]:before{left:0;right:0;border-top-width:1px;border-bottom-width:1px}.image-crop-box[data-v-81bff31f]:after{top:0;bottom:0;border-left-width:1px;border-right-width:1px}.image-crop-handle[data-v-81bff31f],.image-crop-corner[data-v-81bff31f]{position:absolute;pointer-events:auto;touch-action:none}.image-crop-handle[data-v-81bff31f]{background:transparent}.image-crop-n[data-v-81bff31f],.image-crop-s[data-v-81bff31f]{left:14px;right:14px;height:16px;cursor:ns-resize}.image-crop-n[data-v-81bff31f]{top:-8px}.image-crop-s[data-v-81bff31f]{bottom:-8px}.image-crop-e[data-v-81bff31f],.image-crop-w[data-v-81bff31f]{top:14px;bottom:14px;width:16px;cursor:ew-resize}.image-crop-e[data-v-81bff31f]{right:-8px}.image-crop-w[data-v-81bff31f]{left:-8px}.image-crop-corner[data-v-81bff31f]{width:18px;height:18px;border:2px solid #fff;border-radius:50%;background:#2f6bff;box-shadow:0 4px 12px #00000047}.image-crop-nw[data-v-81bff31f]{left:-9px;top:-9px;cursor:nwse-resize}.image-crop-ne[data-v-81bff31f]{right:-9px;top:-9px;cursor:nesw-resize}.image-crop-se[data-v-81bff31f]{right:-9px;bottom:-9px;cursor:nwse-resize}.image-crop-sw[data-v-81bff31f]{left:-9px;bottom:-9px;cursor:nesw-resize}.image-crop-actions[data-v-81bff31f]{position:absolute;left:50%;bottom:22px;display:flex;align-items:center;gap:8px;transform:translate(-50%)}.image-crop-tool[data-v-81bff31f]{width:38px;height:38px;font-size:20px;font-weight:800}.image-crop-cancel[data-v-81bff31f]{color:#fff;border-color:#ffffff3d;background:#ffffff1f}@media (max-width: 720px){.image-crop-dialog[data-v-81bff31f]{padding:76px 18px 82px}.image-crop-stage[data-v-81bff31f],.image-crop-source[data-v-81bff31f]{max-height:calc(100vh - 178px)}.image-crop-actions[data-v-81bff31f]{max-width:calc(100vw - 24px);flex-wrap:wrap;justify-content:center}}.tasks-page[data-v-97189fdb]{grid-template-rows:auto minmax(0,1fr);height:calc(100vh - 132px);min-height:0;overflow:hidden}.tasks-page>.empty-state[data-v-97189fdb]{flex:0 0 auto}.task-filter-bar[data-v-97189fdb]{min-height:76px;padding:12px 16px;display:flex;align-items:flex-end;gap:16px}.filter-fields[data-v-97189fdb]{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;flex:1}.filter-field[data-v-97189fdb]{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#5b6472}.filter-field input[data-v-97189fdb],.filter-field select[data-v-97189fdb]{padding:7px 10px;border:1px solid #d7dce4;border-radius:8px;font-size:13px;min-width:150px}.filter-metrics[data-v-97189fdb]{display:flex;gap:16px;font-size:13px;color:#5b6472;white-space:nowrap}.filter-metrics .metric-item[data-v-97189fdb]{font-weight:500}.filter-metrics .metric-item.processing[data-v-97189fdb]{color:#2f6bff}.filter-metrics .metric-item.action-required[data-v-97189fdb]{color:#b66d10}.filter-metrics .metric-item.completed[data-v-97189fdb]{color:#12a67e}.filter-metrics .metric-item.failed[data-v-97189fdb]{color:#e0483d}.primary-button[data-v-97189fdb]{padding:8px 18px;background:#2f6bff;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:13px}.primary-button[data-v-97189fdb]:hover{background:#245adb}.tasks-grid[data-v-97189fdb]{display:grid;grid-template-columns:minmax(320px,400px) minmax(0,1fr);gap:16px;min-height:0;overflow:hidden}.task-list[data-v-97189fdb],.task-detail[data-v-97189fdb]{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden}.task-list .section-title[data-v-97189fdb]{flex:0 0 auto}.task-rows[data-v-97189fdb]{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}.task-detail-inner[data-v-97189fdb]{flex:1;display:flex;min-height:0;flex-direction:column;overflow:hidden;padding:14px 16px}.task-row-main[data-v-97189fdb]{display:flex;align-items:center;gap:10px;min-width:0}.task-avatar[data-v-97189fdb]{width:34px;height:34px;border-radius:50%;object-fit:cover;flex-shrink:0;background:#eef1f6}.task-avatar.placeholder[data-v-97189fdb]{display:inline-flex;align-items:center;justify-content:center;color:#8a93a3;font-weight:600}.task-row-text[data-v-97189fdb]{min-width:0;display:flex;flex-direction:column;gap:2px}.task-row-text span[data-v-97189fdb]{color:#7a828f;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-row-meta[data-v-97189fdb]{display:flex;align-items:center;gap:7px;min-width:0}.type-badge[data-v-97189fdb]{display:inline-flex;flex:0 0 auto;align-items:center;min-height:20px;padding:0 7px;border-radius:6px;font-size:11px;font-weight:800;line-height:20px}.type-material-attendance[data-v-97189fdb]{background:#e8f1ff;color:#245adb}.type-attendance[data-v-97189fdb],.type-single[data-v-97189fdb]{background:#edf7ff;color:#1672b8}.type-material[data-v-97189fdb]{background:#eaf8f2;color:#0f8d68}.type-batch[data-v-97189fdb]{background:#f2edff;color:#6741d9}.type-unknown[data-v-97189fdb]{background:#eef1f6;color:#5b6472}.task-row-time[data-v-97189fdb]{display:flex;flex-wrap:wrap;gap:4px 10px;min-width:0;color:#8a93a3}.task-row-text .task-row-time[data-v-97189fdb]{overflow:visible;white-space:normal}.task-row-text .task-row-time span[data-v-97189fdb]{color:#8a93a3;font-size:11px;line-height:1.35}.task-row-status[data-v-97189fdb]{display:flex;align-items:center;gap:8px}.task-progress-number[data-v-97189fdb]{min-width:34px;color:#5b6472;font-size:12px;font-weight:700;text-align:right}.task-phase-text[data-v-97189fdb]{width:100%;margin:7px 0 0;color:#5b6472;font-size:12px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.task-row-progress[data-v-97189fdb]{width:100%;height:5px;margin-top:8px;overflow:hidden;border-radius:999px;background:#eef1f6}.progress-fill[data-v-97189fdb]{height:100%;border-radius:inherit;background:#2f6bff;transition:width .2s ease}.progress-fill.completed[data-v-97189fdb]{background:#12a67e}.progress-fill.failed[data-v-97189fdb]{background:#e0483d}.progress-fill.action-required[data-v-97189fdb]{background:#e08a1e}.task-retry-button[data-v-97189fdb]{min-height:24px;padding:0 9px;border:1px solid #f2b8b5;border-radius:7px;background:#fff7f6;color:#c62828;cursor:pointer;font-size:12px;font-weight:700;white-space:nowrap}.task-retry-button[data-v-97189fdb]:hover:not(:disabled){border-color:#e0483d;background:#fdeaea}.task-retry-button[data-v-97189fdb]:disabled{cursor:not-allowed;opacity:.58}.task-open-button[data-v-97189fdb]{display:grid;width:26px;height:26px;flex:0 0 26px;place-items:center;padding:0;border:1px solid #d7dce4;border-radius:7px;background:#fff;color:#5b6472;cursor:pointer}.task-open-button[data-v-97189fdb]:hover,.task-open-button[data-v-97189fdb]:focus-visible{border-color:#2f6bff;color:#2f6bff;outline:none}.status-chip[data-v-97189fdb]{padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600}.status-blue[data-v-97189fdb]{background:#e5efff;color:#2f6bff}.status-amber[data-v-97189fdb]{background:#fff1d6;color:#9a5b0d}.status-teal[data-v-97189fdb]{background:#e3f7f1;color:#12a67e}.status-red[data-v-97189fdb]{background:#fdeaea;color:#e0483d}.status-slate[data-v-97189fdb]{background:#eef1f6;color:#6b7482}.pager[data-v-97189fdb]{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 0 2px;font-size:13px;color:#5b6472}.pager button[data-v-97189fdb]{padding:5px 14px;border:1px solid #d7dce4;background:#fff;border-radius:8px;cursor:pointer}.pager button[data-v-97189fdb]:disabled{opacity:.45;cursor:not-allowed}.detail-summary[data-v-97189fdb]{flex:0 0 auto;border-bottom:1px solid #eef1f6;padding-bottom:12px;margin-bottom:10px}.detail-summary.compact[data-v-97189fdb]{padding-bottom:10px;margin-bottom:10px}.detail-head[data-v-97189fdb]{display:flex;align-items:center;gap:12px}.detail-avatar[data-v-97189fdb]{width:44px;height:44px;border-radius:50%;object-fit:cover;background:#eef1f6}.detail-head h3[data-v-97189fdb]{margin:0;font-size:16px}.detail-sub[data-v-97189fdb]{margin:2px 0 0;color:#7a828f;font-size:13px}.detail-status-actions[data-v-97189fdb]{margin-left:auto;display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.detail-retry-button[data-v-97189fdb]{min-height:26px}.detail-progress[data-v-97189fdb]{display:flex;align-items:center;gap:10px;margin-top:12px}.detail-progress .task-row-progress[data-v-97189fdb]{flex:1}.detail-message[data-v-97189fdb]{margin:7px 0 0;color:#5b6472;font-size:13px}.detail-stats[data-v-97189fdb]{display:flex;flex-wrap:wrap;gap:16px;margin-top:10px;font-size:13px;color:#5b6472}.detail-tab-row[data-v-97189fdb]{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;margin-bottom:10px}.detail-tabs[data-v-97189fdb]{display:inline-flex;width:fit-content;max-width:100%;gap:2px;padding:3px;border:1px solid #d7dce4;border-radius:8px;background:#f7f9fc;align-self:flex-start}.detail-tabs button[data-v-97189fdb]{min-height:30px;padding:0 12px;border:0;background:transparent;border-radius:6px;cursor:pointer;font-size:12px;color:#5b6472;font-weight:700;white-space:nowrap}.detail-tabs button.active[data-v-97189fdb]{background:#fff;color:#2f6bff;box-shadow:0 1px 4px #1f27381f}.detail-tabs button span[data-v-97189fdb]{display:inline-flex;min-width:18px;height:18px;align-items:center;justify-content:center;margin-left:5px;padding:0 5px;border-radius:999px;background:#eef2ff;color:inherit;font-size:11px}.detail-month-switcher[data-v-97189fdb]{display:inline-flex;flex:0 0 auto;align-items:center;gap:6px;min-width:0;padding:3px;border:1px solid #d7dce4;border-radius:8px;background:#f7f9fc}.mini-icon-button[data-v-97189fdb]{display:grid;width:30px;height:30px;place-items:center;border:1px solid #d7dce4;border-radius:7px;background:#fff;color:#5b6472;cursor:pointer}.mini-icon-button[data-v-97189fdb]:hover:not(:disabled){border-color:#2f6bff;color:#2f6bff}.month-native-input[data-v-97189fdb]{width:112px;height:30px!important;min-width:112px;min-height:30px!important;padding:0 8px;border:1px solid #d7dce4;border-radius:7px;background:#fff;color:#182235;font-size:12px;font-weight:800;line-height:30px;outline:none}.month-native-input[data-v-97189fdb]:focus{border-color:#2f6bff;box-shadow:0 0 0 2px #2f6bff1f}.month-native-input[data-v-97189fdb]:disabled,.mini-icon-button[data-v-97189fdb]:disabled{cursor:not-allowed;opacity:.55}.tab-body[data-v-97189fdb]{flex:1 1 auto;min-height:0;overflow-y:auto;padding-right:2px}.tab-toolbar[data-v-97189fdb]{display:flex;align-items:center;gap:10px;margin-bottom:12px}.compact-toolbar[data-v-97189fdb]{justify-content:flex-end;min-height:24px}.tab-toolbar .icon-button[data-v-97189fdb]{width:30px;height:30px;border:1px solid #d7dce4;background:#fff;border-radius:8px;cursor:pointer;font-size:16px}.tab-hint[data-v-97189fdb]{margin-left:auto;font-size:12px;color:#12a67e}.calendar-empty-note[data-v-97189fdb]{margin:0 0 10px;padding:8px 10px;border:1px solid #eef1f6;border-radius:8px;background:#f8fafc;color:#7a828f;font-size:12px}.task-log-list[data-v-97189fdb]{list-style:none;margin:0;padding:0;display:grid;gap:8px}.task-log-item[data-v-97189fdb]{display:grid;grid-template-columns:10px minmax(0,1fr);gap:10px;padding:10px 12px;border:1px solid #eef1f6;border-radius:8px;background:#fff;color:#3b4250}.task-log-dot[data-v-97189fdb]{width:8px;height:8px;margin-top:6px;border-radius:50%;background:#2f6bff}.task-log-item.log-error[data-v-97189fdb]{border-color:#fdeaea;background:#fffbfb}.task-log-item.log-error .task-log-dot[data-v-97189fdb]{background:#e0483d}.task-log-item.log-warn .task-log-dot[data-v-97189fdb]{background:#d97706}.task-log-head[data-v-97189fdb]{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.task-log-head strong[data-v-97189fdb]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:#182235}.task-log-head time[data-v-97189fdb]{flex:0 0 auto;color:#8a93a3;font-size:12px}.task-log-item p[data-v-97189fdb]{margin:3px 0 0;color:#5b6472;font-size:13px;line-height:1.45;overflow-wrap:anywhere}.task-log-item small[data-v-97189fdb]{display:block;margin-top:4px;color:#8a93a3;font-size:11px;overflow-wrap:anywhere}.record-list[data-v-97189fdb]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.record-item[data-v-97189fdb]{display:flex;align-items:center;gap:12px;padding:8px 10px;border:1px solid #eef1f6;border-radius:10px}.record-item.highlighted[data-v-97189fdb]{border-color:#12a67e;background:#f2fbf8;box-shadow:0 0 0 1px #12a67e33}.record-thumb[data-v-97189fdb]{width:40px;height:40px;border-radius:8px;object-fit:cover;background:#eef1f6}.record-thumb.placeholder[data-v-97189fdb],.material-noimg[data-v-97189fdb]{display:inline-flex;align-items:center;justify-content:center;color:#a2a9b5;font-size:11px;background:#eef1f6}.record-info[data-v-97189fdb]{display:flex;flex-direction:column;gap:2px}.record-info span[data-v-97189fdb]{font-size:12px;color:#7a828f}.record-flag[data-v-97189fdb]{margin-left:auto;padding:2px 8px;background:#12a67e;color:#fff;border-radius:10px;font-size:11px}.material-group[data-v-97189fdb]{margin-bottom:16px}.material-group-head[data-v-97189fdb]{font-size:13px;font-weight:600;color:#3b4250;margin-bottom:8px}.material-grid[data-v-97189fdb]{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:10px}.material-cell[data-v-97189fdb]{margin:0;border:1px solid #eef1f6;border-radius:10px;overflow:hidden}.material-cell img[data-v-97189fdb]{width:100%;height:90px;object-fit:cover;display:block}.material-cell .material-noimg[data-v-97189fdb]{width:100%;height:90px}.material-cell figcaption[data-v-97189fdb]{display:grid;gap:2px;min-height:34px;padding:5px 6px 6px;text-align:center;font-size:11px;color:#5b6472}.material-cell figcaption strong[data-v-97189fdb]{color:#3b4250;font-size:12px;line-height:1.2}.material-cell figcaption span[data-v-97189fdb]{color:#7a828f;font-size:10px;line-height:1.25;overflow-wrap:anywhere}.material-section[data-v-97189fdb]{margin-bottom:24px}.material-section-title[data-v-97189fdb]{font-size:14px;font-weight:600;color:#3b4250;margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid #12a67e}.material-section-note[data-v-97189fdb]{margin:-4px 0 12px;color:#6b7482;font-size:12px;line-height:1.5}.failed-section[data-v-97189fdb]{margin-top:24px;padding-top:24px;border-top:1px solid #eef1f6}.failed-title[data-v-97189fdb]{border-bottom-color:#e0483d}.failed-cell[data-v-97189fdb]{border-color:#fdeaea;background:#fffbfb}.failed-cell figcaption[data-v-97189fdb]{color:#e0483d}.removed-toolbar[data-v-97189fdb]{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;padding:12px 14px;border:1px solid #ffe1d8;border-radius:8px;background:#fff8f5}.removed-toolbar div[data-v-97189fdb]{display:grid;gap:3px;min-width:0}.removed-toolbar strong[data-v-97189fdb]{color:#3b4250;font-size:14px}.removed-toolbar span[data-v-97189fdb]{color:#7a828f;font-size:12px}.restore-button[data-v-97189fdb]{white-space:nowrap}.restore-button[data-v-97189fdb]:disabled,.restore-card-button[data-v-97189fdb]:disabled,.preview-direct-button[data-v-97189fdb]:disabled{opacity:.58;cursor:not-allowed}.removed-grid[data-v-97189fdb]{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.removed-cell[data-v-97189fdb]{display:grid;gap:8px;padding-bottom:8px}.removed-cell figcaption[data-v-97189fdb]{display:grid;gap:2px;padding:0 8px;text-align:left}.removed-cell figcaption strong[data-v-97189fdb]{font-size:12px;color:#3b4250}.removed-cell figcaption span[data-v-97189fdb]{font-size:11px;color:#e0483d;overflow-wrap:anywhere}.restore-card-actions[data-v-97189fdb]{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:0 8px}.restore-card-button[data-v-97189fdb]{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:0;padding:6px;border:1px solid #d7dce4;border-radius:7px;background:#fff;color:#2f6bff;cursor:pointer;font-size:12px;font-weight:700;white-space:nowrap}.restore-card-button.secondary[data-v-97189fdb]{color:#12a67e;border-color:#cdeee3;background:#f5fffb}.restore-card-button span[data-v-97189fdb]{min-width:0;overflow:hidden;text-overflow:ellipsis}.task-detail[data-v-97189fdb] .calendar-card{gap:6px}.task-detail[data-v-97189fdb] .calendar-grid{gap:4px}.task-detail[data-v-97189fdb] .weekday{min-height:18px;font-size:11px}.task-detail[data-v-97189fdb] .calendar-day{min-height:clamp(42px,7.2vh,54px);gap:2px;padding:5px 6px;border-radius:8px}.task-detail[data-v-97189fdb] .calendar-day strong{font-size:13px;line-height:1}.task-detail[data-v-97189fdb] .calendar-counts{display:flex;flex-wrap:wrap;gap:2px;align-items:center}.task-detail[data-v-97189fdb] .calendar-count{min-height:16px;padding:0 5px;font-size:10px;line-height:16px}.task-detail[data-v-97189fdb] .calendar-day.empty .calendar-counts{font-size:10px;line-height:1.15}.task-detail[data-v-97189fdb] .calendar-day.highlighted:after{padding:1px 5px;font-size:10px;line-height:14px}.removed-selection-surface[data-v-97189fdb]{position:relative;-webkit-user-select:none;user-select:none}.removed-selection-surface.dragging[data-v-97189fdb]{cursor:crosshair}.removed-preview-trigger[data-v-97189fdb]{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.removed-preview-trigger img[data-v-97189fdb]{pointer-events:none}.removed-cell[data-v-97189fdb]{position:relative;transition:border-color .14s ease,background-color .14s ease,box-shadow .14s ease,transform .14s ease}.removed-cell.selected[data-v-97189fdb]{border-color:#0078d4;background:#f1f8ff;box-shadow:inset 0 0 0 2px #0078d4bf,0 0 0 1px #0078d42e}.removed-cell.selected[data-v-97189fdb]:after{content:"";position:absolute;top:7px;right:7px;width:16px;height:16px;border-radius:50%;background:#0078d4;box-shadow:0 0 0 2px #fff}.selection-box[data-v-97189fdb]{position:fixed;z-index:40;border:1px solid #0078d4;background:#0078d42e;box-shadow:inset 0 0 0 1px #ffffff7a;pointer-events:none}.removed-context-menu[data-v-97189fdb]{position:fixed;z-index:80;min-width:220px;padding:6px;border:1px solid rgba(0,0,0,.12);border-radius:8px;background:#fff;box-shadow:0 18px 42px #141c2e2e}.removed-context-menu button[data-v-97189fdb]{display:flex;width:100%;align-items:center;gap:9px;min-height:36px;padding:0 10px;border:0;border-radius:6px;background:transparent;color:#1a2230;font-size:13px;font-weight:700;text-align:left}.removed-context-menu button[data-v-97189fdb]:hover:not(:disabled){background:#eef6ff;color:#0067b8}.removed-preview-modal[data-v-97189fdb]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;grid-template-rows:auto minmax(0,1fr) auto;place-items:center;padding:76px 72px 82px;background:#0a0e16db;color:#fff}.preview-topbar[data-v-97189fdb]{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:12px 20px;background:linear-gradient(180deg,#0000006b,#0000)}.preview-topbar div[data-v-97189fdb]{display:grid;gap:3px;min-width:0}.preview-topbar strong[data-v-97189fdb],.preview-topbar span[data-v-97189fdb]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-topbar strong[data-v-97189fdb]{font-size:15px}.preview-topbar span[data-v-97189fdb]{color:#ffffffc2;font-size:12px}.preview-icon-button[data-v-97189fdb],.preview-nav[data-v-97189fdb]{display:grid;place-items:center;border:1px solid rgba(255,255,255,.22);border-radius:8px;background:#ffffff1f;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.preview-icon-button[data-v-97189fdb]{width:38px;height:38px}.preview-nav[data-v-97189fdb]{position:absolute;top:50%;width:46px;height:64px;transform:translateY(-50%)}.preview-prev[data-v-97189fdb]{left:18px}.preview-next[data-v-97189fdb]{right:18px}.preview-icon-button[data-v-97189fdb]:hover,.preview-nav[data-v-97189fdb]:hover{background:#fff3}.preview-crop-stage[data-v-97189fdb]{position:relative;grid-row:2;display:grid;place-items:center;max-width:min(100%,1160px);max-height:calc(100vh - 170px)}.preview-image[data-v-97189fdb]{display:block;max-width:100%;max-height:calc(100vh - 170px);object-fit:contain;border-radius:8px;box-shadow:0 28px 72px #00000057}.crop-mask[data-v-97189fdb]{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.crop-box[data-v-97189fdb]{position:absolute;border:2px solid #fff;box-shadow:0 0 0 9999px #0000007a,0 0 0 1px #2f6bffb8;cursor:move;pointer-events:auto;touch-action:none}.crop-box[data-v-97189fdb]:before,.crop-box[data-v-97189fdb]:after{content:"";position:absolute;top:33.333%;right:33.333%;bottom:33.333%;left:33.333%;border:0 solid rgba(255,255,255,.52);pointer-events:none}.crop-box[data-v-97189fdb]:before{left:0;right:0;border-top-width:1px;border-bottom-width:1px}.crop-box[data-v-97189fdb]:after{top:0;bottom:0;border-left-width:1px;border-right-width:1px}.crop-resize-handle[data-v-97189fdb],.crop-resize-corner[data-v-97189fdb]{position:absolute;pointer-events:auto;touch-action:none}.crop-resize-handle[data-v-97189fdb]{background:transparent}.crop-resize-n[data-v-97189fdb],.crop-resize-s[data-v-97189fdb]{left:14px;right:14px;height:16px;cursor:ns-resize}.crop-resize-n[data-v-97189fdb]{top:-8px}.crop-resize-s[data-v-97189fdb]{bottom:-8px}.crop-resize-e[data-v-97189fdb],.crop-resize-w[data-v-97189fdb]{top:14px;bottom:14px;width:16px;cursor:ew-resize}.crop-resize-e[data-v-97189fdb]{right:-8px}.crop-resize-w[data-v-97189fdb]{left:-8px}.crop-resize-corner[data-v-97189fdb]{width:18px;height:18px;border:2px solid #fff;border-radius:50%;background:#2f6bff;box-shadow:0 4px 12px #00000047}.crop-resize-nw[data-v-97189fdb]{left:-9px;top:-9px;cursor:nwse-resize}.crop-resize-ne[data-v-97189fdb]{right:-9px;top:-9px;cursor:nesw-resize}.crop-resize-se[data-v-97189fdb]{right:-9px;bottom:-9px;cursor:nwse-resize}.crop-resize-sw[data-v-97189fdb]{left:-9px;bottom:-9px;cursor:nesw-resize}.preview-actions[data-v-97189fdb]{position:absolute;left:50%;bottom:22px;display:flex;align-items:center;gap:8px;transform:translate(-50%)}.preview-tool-button[data-v-97189fdb]{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.24);border-radius:8px;background:#ffffff24;color:#fff;font-size:20px;font-weight:800;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer}.preview-tool-button[data-v-97189fdb]:hover{background:#ffffff38}.preview-restore-button[data-v-97189fdb]{display:inline-flex;align-items:center;gap:8px;min-height:38px;box-shadow:0 12px 28px #0000003d}.preview-direct-button[data-v-97189fdb]{padding:0 14px;border:1px solid rgba(255,255,255,.26);border-radius:8px;background:#ffffff24;color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.preview-direct-button[data-v-97189fdb]:hover:not(:disabled){background:#ffffff38}@media (max-width: 900px){.tasks-page[data-v-97189fdb]{grid-template-rows:auto auto;height:auto;overflow:visible}.task-filter-bar[data-v-97189fdb]{flex-direction:column;align-items:stretch}.filter-fields[data-v-97189fdb]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.filter-field[data-v-97189fdb],.filter-field input[data-v-97189fdb],.filter-field select[data-v-97189fdb]{width:100%;min-width:0}.filter-metrics[data-v-97189fdb]{flex-wrap:wrap;gap:8px 14px;white-space:normal}.tasks-grid[data-v-97189fdb]{grid-template-columns:1fr;height:auto;overflow:visible}.task-list[data-v-97189fdb],.task-detail[data-v-97189fdb]{height:auto;min-height:420px;overflow:visible}.task-list .task-rows[data-v-97189fdb]{max-height:min(62vh,560px)}.task-detail-inner[data-v-97189fdb]{overflow:visible}.detail-head[data-v-97189fdb]{align-items:flex-start;flex-wrap:wrap}.detail-head>div[data-v-97189fdb]:nth-child(2){min-width:0;flex:1 1 180px}.detail-head h3[data-v-97189fdb],.detail-sub[data-v-97189fdb],.detail-message[data-v-97189fdb]{overflow-wrap:anywhere}.detail-status-actions[data-v-97189fdb]{margin-left:0}.detail-tab-row[data-v-97189fdb]{align-items:stretch;flex-direction:column}.detail-month-switcher[data-v-97189fdb]{width:100%;justify-content:flex-end}.removed-preview-modal[data-v-97189fdb]{padding:76px 52px 82px}.preview-nav[data-v-97189fdb]{width:40px;height:54px}.preview-prev[data-v-97189fdb]{left:8px}.preview-next[data-v-97189fdb]{right:8px}.preview-crop-stage[data-v-97189fdb],.preview-image[data-v-97189fdb]{max-height:calc(100vh - 178px)}}@media (max-width: 520px){.filter-fields[data-v-97189fdb]{grid-template-columns:minmax(0,1fr)}.task-row[data-v-97189fdb]{grid-template-columns:minmax(0,1fr);align-items:stretch}.task-row-status[data-v-97189fdb]{grid-column:1;flex-wrap:wrap;justify-content:flex-start}.detail-status-actions[data-v-97189fdb]{width:100%;justify-content:flex-start}}:root{--bg: #eceff4;--bg-strong: #e3e7ee;--ink: #1a2230;--ink-soft: #384357;--muted: #5c6b81;--line: #e4e8f0;--line-strong: #d5dce7;--surface: #ffffff;--surface-soft: #f5f7fb;--surface-tint: #eef0fe;--brand: #5457e6;--brand-strong: #6d5efc;--brand-soft: #eef0fe;--blue: #5457e6;--violet: #7c6bff;--teal: #0ea88f;--teal-soft: #e7f7f2;--red: #e5484d;--red-soft: #fdecec;--amber: #e08a1e;--amber-soft: #fdf3e3;--rail: #16181f;--rail-raise: #1f232e;--rail-line: #2b3140;--rail-ink: #eceef3;--rail-muted: #9aa3b2;--sidebar-bg: #f8fbff;--sidebar-bg-strong: #edf4ff;--sidebar-line: #dbe5f1;--sidebar-ink: #233047;--sidebar-muted: #708098;--sidebar-hover: #eef5ff;--sidebar-active: #edf0ff;--sidebar-active-line: #c9d1ff;--r-sm: 8px;--r-md: 11px;--r-lg: 16px;--r-pill: 999px;--shadow-sm: 0 1px 2px rgba(20, 28, 46, .06), 0 2px 6px rgba(20, 28, 46, .05);--shadow: 0 12px 30px rgba(20, 28, 46, .08), 0 2px 8px rgba(20, 28, 46, .04);--shadow-md: 0 20px 48px rgba(20, 28, 46, .12);--ring: 0 0 0 3px rgba(84, 87, 230, .28);color:var(--ink);font-family:Microsoft YaHei UI,Segoe UI,system-ui,sans-serif;font-synthesis:none;font-variant-numeric:tabular-nums;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#app{width:100%;min-width:0;height:100%;min-height:100%;margin:0}body{background:var(--bg)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}a{color:inherit;text-decoration:none}.app-shell{display:grid;grid-template-columns:286px minmax(0,1fr);height:100vh;min-height:0;overflow:hidden;transition:grid-template-columns .28s cubic-bezier(.2,0,0,1)}.app-shell.sidebar-collapsed{grid-template-columns:74px minmax(0,1fr)}.sidebar-toggle{display:none}.sidebar-toggle-topbar{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease}.sidebar-toggle-topbar:hover{border-color:var(--sidebar-active-line);background:var(--sidebar-hover);color:var(--brand);transform:translate(-1px)}.sidebar{position:sticky;top:0;display:flex;height:100vh;min-height:0;flex-direction:column;padding:22px 16px;overflow:hidden;background:linear-gradient(180deg,#ffffffe0,#f8fbfff0 56%,#eff6fff5),var(--sidebar-bg);border-right:1px solid var(--sidebar-line);color:var(--sidebar-ink);box-shadow:inset -1px 0 #ffffffd1,10px 0 28px #2330470a;transition:padding .28s cubic-bezier(.2,0,0,1),background-color .2s ease,border-color .2s ease}.brand{display:flex;align-items:center;gap:12px;padding:8px 8px 18px;min-width:0;transition:gap .24s ease,padding .24s ease}.brand-mark{display:grid;flex:0 0 auto;width:42px;height:42px;place-items:center;border:1px solid rgba(84,87,230,.18);border-radius:var(--r-md);background:linear-gradient(135deg,#5457e61f,#0ea88f29),#fff;color:var(--brand);box-shadow:0 8px 20px #5457e61f}.brand strong,.brand span{display:block}.brand-copy,.nav-copy,.button-copy{display:block;min-width:0;max-width:190px;overflow:hidden;opacity:1;transform:translate(0);transition:opacity .2s ease,transform .24s cubic-bezier(.2,0,0,1),max-width .28s cubic-bezier(.2,0,0,1),max-height .28s cubic-bezier(.2,0,0,1);white-space:nowrap}.brand span{margin-top:2px;color:var(--sidebar-muted);font-size:12px}.nav-list{display:grid;gap:8px;flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;padding:8px 0}.nav-item{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;align-items:center;min-height:58px;padding:10px 12px;border:1px solid transparent;border-radius:var(--r-md);color:var(--sidebar-ink);transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,padding .24s ease,min-height .24s ease,height .24s ease,gap .24s ease}.nav-item>svg{color:#74839a;transition:color .18s ease,transform .18s ease}.nav-item:hover{background:var(--sidebar-hover);border-color:var(--sidebar-line);color:var(--ink)}.nav-item:hover>svg{color:var(--brand);transform:translate(1px)}.nav-item.active{border-color:var(--sidebar-active-line);background:linear-gradient(135deg,#5457e61f,#0ea88f1a),var(--sidebar-active);color:var(--brand);box-shadow:inset 3px 0 0 var(--brand),0 10px 24px #5457e61f}.nav-item.active>svg{color:var(--brand)}.nav-item strong,.nav-item small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-item small{margin-top:2px;color:var(--sidebar-muted);font-size:12px}.nav-item:hover small,.nav-item.active small{color:#5f6e86}.sidebar-footer{display:grid;gap:8px;margin-top:auto;padding-top:16px;transition:padding .24s ease}.socket-chip,.status-pill{display:inline-flex;align-items:center;gap:7px;width:fit-content;max-width:100%;min-height:30px;padding:0 11px;border:1px solid var(--line-strong);border-radius:var(--r-pill);background:var(--surface-soft);color:var(--ink-soft);font-size:12px;font-weight:800}.socket-chip{width:100%;border-color:var(--sidebar-line);background:#ffffffc7;color:var(--sidebar-muted)}.app-shell.sidebar-collapsed .sidebar{padding:18px 10px}.app-shell.sidebar-collapsed .brand{justify-content:center;gap:0;padding-right:0;padding-left:0}.app-shell.sidebar-collapsed .brand-copy,.app-shell.sidebar-collapsed .nav-copy,.app-shell.sidebar-collapsed .button-copy,.app-shell.sidebar-collapsed .sidebar .socket-chip span{max-width:0;max-height:0;opacity:0;overflow:hidden;pointer-events:none;transform:translate(-8px)}.app-shell.sidebar-collapsed .nav-item{grid-template-columns:minmax(0,1fr) 0;grid-template-rows:1fr;place-items:center;gap:0;width:100%;height:44px;min-height:44px;padding:0}.app-shell.sidebar-collapsed .nav-list{align-content:start;grid-auto-rows:max-content}.app-shell.sidebar-collapsed .nav-item>svg{align-self:center;justify-self:center}.app-shell.sidebar-collapsed .sidebar .socket-chip,.app-shell.sidebar-collapsed .sidebar .ghost-button{justify-content:center;width:100%;padding-right:0;padding-left:0}.app-shell.sidebar-collapsed .sidebar-footer{grid-template-columns:1fr}.socket-chip.online,.status-pill.ok{border-color:#0f9f8f59;background:#e7f7f2;color:#0b8a76}.main-shell{display:flex;min-height:0;min-width:0;flex-direction:column;overflow:hidden;background:linear-gradient(180deg,#f5f7fb 0%,var(--bg) 260px)}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:82px;padding:14px 28px;border-bottom:1px solid var(--line);background:#f6f8fbd1;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.topbar h1,.hero-band h2,.section-title h3,.login-hero h1,.login-card h2,.progress-panel h2{margin:0;letter-spacing:0}.panel-title-row h2,.panel-title-row h3,.section-title h3,.attendance-detail-panel h3,.calendar-selection-toolbar h3{margin:0;font-size:17px;font-weight:800;line-height:1.25;letter-spacing:0}.topbar h1{font-size:24px}.topbar-status{display:flex;align-items:center;gap:10px;min-width:0}.account-pill{display:inline-flex;align-items:center;gap:9px;min-width:0;max-width:min(360px,40vw);padding:7px 10px;border:1px solid rgba(16,92,82,.14);border-radius:10px;background:#ffffffbd;color:var(--text);box-shadow:0 8px 24px #0f172a0d}.account-pill>svg{flex:0 0 auto;color:#0b8a76}.account-pill>span{display:grid;min-width:0;gap:1px}.account-pill small{color:var(--muted);font-size:11px;font-weight:700;line-height:1}.account-pill strong,.account-pill em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-pill strong{font-size:13px;line-height:1.18}.account-pill em{flex:0 1 auto;max-width:130px;padding-left:2px;color:#5b6472;font-size:12px;font-style:normal}.view-host{flex:1 1 auto;min-height:0;min-width:0;overflow-y:auto;padding:22px 28px 28px}.view-host:has(.tasks-page){overflow:hidden}.page-layout{display:grid;gap:18px}.hero-band{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:18px;align-items:stretch;padding:22px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow)}.hero-band h2{font-size:30px;line-height:1.12}.hero-band p{max-width:780px;margin:10px 0 0;color:var(--muted);line-height:1.65}.workbench-page{gap:14px}.attendance-process-tabs{display:inline-grid;grid-auto-flow:column;grid-auto-columns:minmax(96px,auto);align-self:flex-start;gap:6px;padding:4px;border:1px solid #e4e8f0;border-radius:8px;background:#f8fafc}.attendance-process-tab{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;border-radius:6px;color:#64748b;font-size:13px;font-weight:900;text-decoration:none;white-space:nowrap}.attendance-process-tab:hover{color:var(--blue);background:#ffffffb8}.attendance-process-tab.active{background:#fff;color:var(--blue);box-shadow:0 8px 18px #0f172a14}.workbench-status-banner{position:sticky;top:0;z-index:20;display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:12px;background:var(--surface);box-shadow:var(--shadow)}.workbench-status-banner.processing{border-left-color:var(--blue)}.workbench-status-banner.action-required{border-left-color:var(--amber);background:var(--amber-soft)}.workbench-status-banner.completed{border-left-color:var(--teal);background:#e7f7f2}.workbench-status-banner.failed{border-left-color:var(--red);background:#fdecec}.status-banner-icon{flex:none;margin-top:2px}.workbench-status-banner.processing .status-banner-icon{color:var(--blue);animation:banner-spin 1s linear infinite}.workbench-status-banner.action-required .status-banner-icon{color:var(--amber)}.workbench-status-banner.completed .status-banner-icon{color:var(--teal)}.workbench-status-banner.failed .status-banner-icon{color:var(--red)}@keyframes banner-spin{to{transform:rotate(360deg)}}.status-banner-copy{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.status-banner-copy strong{font-size:15px;color:var(--ink)}.status-banner-copy>span{font-size:13px;color:var(--muted)}.status-banner-steps{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;margin:6px 0 0;padding:0;list-style:none}.status-banner-steps li{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--muted)}.status-banner-steps li:not(:last-child):after{content:"";width:16px;height:1px;margin-left:2px;background:var(--line)}.status-banner-dot{width:9px;height:9px;border-radius:50%;background:var(--line);flex:none}.status-banner-steps li.processing{color:var(--blue);font-weight:600}.status-banner-steps li.processing .status-banner-dot{background:var(--blue);box-shadow:0 0 0 3px #5457e626}.status-banner-steps li.completed{color:var(--teal)}.status-banner-steps li.completed .status-banner-dot{background:var(--teal)}.status-banner-steps li.action-required{color:var(--amber);font-weight:600}.status-banner-steps li.action-required .status-banner-dot{background:var(--amber)}.status-banner-steps li.failed{color:var(--red)}.status-banner-steps li.failed .status-banner-dot{background:var(--red)}.status-banner-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.status-banner-action{border:1px solid var(--line);background:#ffffffb8;color:var(--ink);border-radius:8px;padding:6px 10px;font-size:12px;font-weight:600}.status-banner-action:hover:not(:disabled){border-color:var(--blue);color:var(--blue)}.status-banner-action.danger{border-color:#e0483d59;color:var(--red)}.status-banner-action.danger:hover:not(:disabled){background:#e0483d14;border-color:var(--red)}.status-banner-action:disabled{opacity:.5;cursor:not-allowed}.status-banner-close{flex:none;border:none;background:transparent;color:var(--muted);font-size:15px;line-height:1;padding:4px;border-radius:6px}.status-banner-close:hover{background:#0000000d;color:var(--ink)}.workbench-page .hero-band{align-items:center;padding:14px 18px}.workbench-page .hero-band h2{font-size:24px}.workbench-page .hero-band p{margin-top:6px;line-height:1.45}.workbench-page .hero-metrics .metric-card{min-height:74px;padding:12px}.workbench-page .hero-metrics .metric-card strong{font-size:24px}.hero-metrics,.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.detail-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.workspace-grid{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);grid-template-areas:"picker calendar";gap:18px;align-items:stretch}.picker-slot{grid-area:picker}.workbench-page .picker-slot{--picker-sticky-offset: 18px;position:sticky;top:var(--picker-sticky-offset);display:grid;gap:14px;grid-template-rows:auto minmax(0,1fr);align-self:start;height:calc(100vh - var(--picker-sticky-offset) - 24px);max-height:calc(100vh - var(--picker-sticky-offset) - 24px);overflow:hidden}.workbench-page .picker-slot.has-mode-switch{grid-template-rows:auto auto minmax(0,1fr)}.workbench-page .picker-slot .picker-panel{display:grid;height:100%;grid-template-rows:auto auto minmax(0,1fr);max-height:100%;min-height:0;overflow:hidden}.workbench-page .picker-slot .worker-list{display:flex;flex-direction:column;min-height:320px;max-height:none;overflow-y:auto}.workbench-page .picker-slot .worker-row,.workbench-page .picker-slot .worker-list>.empty-state{flex:0 0 auto}.workbench-page .picker-slot .picker-pagination.worker-pagination{position:sticky;bottom:0;z-index:2;flex:0 0 auto;margin-top:auto;padding-top:8px;border-top:1px solid rgba(207,218,231,.72);background:linear-gradient(180deg,#ffffffeb,#fff 48%)}.calendar-slot{grid-area:calendar}.batch-grid{grid-template-areas:none;grid-template-columns:minmax(240px,300px) minmax(0,1fr) minmax(260px,320px)}.split-workspace{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:18px;align-items:start}.material-main-stack{display:grid;min-width:0;gap:18px}.table-panel{grid-column:1 / -1}.panel,.progress-panel{min-width:0;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow)}.panel{padding:18px}.section-title,.panel-title-row,.action-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.action-row.wrap{flex-wrap:wrap;justify-content:flex-start}.section-title{margin-bottom:14px}.workbench-page .section-title{margin-bottom:10px}.workbench-page .calendar-slot>.section-title{align-items:flex-start;gap:12px}.calendar-title-actions{display:flex;flex:1 1 auto;min-width:0;align-items:center;justify-content:flex-end;gap:8px}.calendar-title-actions .ghost-button{flex:0 0 auto;min-height:30px;padding:0 8px;gap:5px;font-size:12px;line-height:1;white-space:nowrap}.calendar-title-actions .ghost-button svg{width:14px;height:14px}.app-shell.sidebar-collapsed .workbench-page .calendar-title-actions .ghost-button{width:auto;padding-right:8px;padding-left:8px}.app-shell.sidebar-collapsed .workbench-page .calendar-title-actions .compact-icon-button{min-width:58px}.calendar-inline-stats{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;min-width:0}.calendar-stat{color:var(--muted);font-size:13px;white-space:nowrap}.calendar-stat strong{color:var(--ink);font-weight:800}.attendance-target-stat{display:inline-flex;align-items:baseline;gap:3px}.attendance-target-stat b{font-weight:900}.attendance-target-stat.met,.attendance-target-stat.met strong,.attendance-target-stat.met b{color:#0d8f67}.attendance-target-stat.missed,.attendance-target-stat.missed strong,.attendance-target-stat.missed b{color:#d92d20}.eyebrow{margin:0 0 4px;color:var(--brand);font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.metric-card{min-width:0;min-height:86px;padding:14px;border:1px solid var(--line);border-top:3px solid var(--brand);border-radius:var(--r-md);background:var(--surface-soft)}.metric-card span,.metric-card small,.metric-card strong{display:block;min-width:0;overflow-wrap:anywhere}.metric-card span{color:var(--muted);font-size:12px;font-weight:800}.metric-card strong{margin-top:8px;color:var(--ink);font-size:28px;line-height:1}.metric-card small{margin-top:8px;color:var(--muted);font-size:12px}.metric-card.is-loading{border-top-color:#b8c7d7}.tone-teal{border-top-color:var(--teal)}.tone-violet{border-top-color:var(--violet)}.tone-red{border-top-color:var(--red)}.tone-amber{border-top-color:var(--amber)}label{display:grid;gap:6px;min-width:0;color:var(--muted);font-size:12px;font-weight:800}input,select{width:100%;min-width:0;min-height:42px;padding:0 12px;border:1px solid var(--line-strong);border-radius:var(--r-md);background:#fff;color:var(--ink);outline:none;transition:border-color .16s ease,box-shadow .16s ease}input:focus,select:focus{border-color:var(--brand);box-shadow:var(--ring)}.field-hint{color:var(--muted);font-size:12px;line-height:1.45;overflow-wrap:anywhere}.combo-field{display:grid;gap:6px;min-width:0;color:var(--muted);font-size:12px;font-weight:800}.field-label{color:var(--muted)}.project-combobox{position:relative;min-width:0}.combo-input input{padding-right:42px}.combo-toggle{position:absolute;top:50%;right:5px;display:grid;width:32px;height:32px;place-items:center;border:0;border-radius:8px;background:transparent;color:var(--muted);transform:translateY(-50%)}.combo-toggle:hover,.combo-toggle:focus-visible{background:#eef0fe;color:var(--ink);outline:none}.combo-popover{position:absolute;z-index:30;top:calc(100% + 6px);left:0;right:0;display:grid;max-height:290px;overflow-y:auto;padding:6px;border:1px solid #d5dce7;border-radius:8px;background:#fff;box-shadow:0 18px 38px #161f2d29}.combo-option{display:grid;width:100%;min-width:0;gap:3px;padding:10px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--ink);text-align:left}.combo-option strong,.combo-option span{min-width:0;overflow-wrap:anywhere}.combo-option strong{font-size:13px}.combo-option span{color:var(--muted);font-size:12px}.combo-option.highlighted,.combo-option:hover{background:#eef0fe}.combo-option.selected{border-color:#5457e66b;background:var(--brand-soft);box-shadow:inset 3px 0 0 var(--brand)}.combo-empty{display:grid;min-height:58px;place-items:center;padding:10px;color:var(--muted);text-align:center}.picker-pagination{display:flex;width:100%;min-width:0;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px 4px;border-top:1px solid #e6eef7}.picker-pagination.worker-pagination{margin-top:2px;padding-right:2px;padding-left:2px;border-top:0}.picker-page-button{display:grid;width:30px;height:30px;place-items:center;border:1px solid #d5dce7;border-radius:8px;background:#fff;color:var(--ink)}.picker-page-button:hover:not(:disabled),.picker-page-button:focus-visible:not(:disabled){border-color:#5457e661;background:#eef0fe;outline:none}.picker-page-button:disabled{cursor:not-allowed;opacity:.45}.picker-page-label{min-width:0;flex:1;color:var(--muted);font-size:12px;font-weight:800;text-align:center;white-space:nowrap}.time-window-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;min-width:0;padding:12px;border:1px solid #e4e8f0;border-radius:8px;background:#fff}.time-window-fields.compact{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px;background:#fafbfe}.time-window-title{grid-column:1 / -1;display:flex;align-items:center;gap:8px;color:var(--ink);font-size:12px;font-weight:900}.time-window-title svg{color:var(--blue)}.time-window-fields label{min-width:0;gap:4px}.time-window-fields label span{min-width:0;line-height:1.35;overflow-wrap:anywhere}.time-window-fields input[type=time]{min-width:0;padding:0 10px}.policy-title-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.policy-dialog{width:min(720px,100%)}.record-delete-button{display:grid;align-self:center;flex:0 0 auto;width:32px;height:32px;place-items:center;margin-left:auto;border:1px solid rgba(220,38,38,.3);border-radius:8px;background:#fff;color:var(--red)}.record-delete-button:hover:not(:disabled),.record-delete-button:focus-visible:not(:disabled){border-color:var(--red);background:var(--red);color:#fff;outline:none}.record-delete-button:disabled{cursor:not-allowed;opacity:.45}.material-delete-one{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:0 8px;border:1px solid rgba(220,38,38,.3);border-radius:999px;background:#fff;color:var(--red);font-size:11px;font-weight:900}.material-delete-one:hover,.material-delete-one:focus-visible{border-color:var(--red);background:#fdecec;outline:none}.combo-native-select{display:none}.input-with-icon{position:relative}.input-with-icon svg{position:absolute;top:50%;left:12px;color:var(--muted);transform:translateY(-50%)}.input-with-icon input{padding-left:38px}.date-picker-field{position:relative;display:grid;gap:6px;min-width:0}.date-picker-field.open{z-index:120}.date-picker-field:focus-within .date-picker-native-input{border-color:var(--blue);box-shadow:0 0 0 3px #5457e621}.date-picker-field.compact{width:min(210px,100%)}.date-picker-control{position:relative;min-width:0}.date-picker-label{color:var(--muted);font-size:12px;font-weight:800}.date-picker-trigger{position:relative;display:flex;width:100%;min-width:0;min-height:50px;align-items:center;justify-content:flex-start;padding:8px 92px 8px 12px;border:1px solid #d5dce7;border-radius:8px;cursor:pointer;background:linear-gradient(180deg,#fff,#f5f7fb);color:var(--ink);text-align:left;outline:none;box-shadow:inset 0 0 0 1px #ffffffb8}.date-picker-trigger:hover:not(:disabled){border-color:#5457e67a;background:linear-gradient(180deg,#fff,#eef0fe);box-shadow:0 10px 24px #5457e61a}.date-picker-trigger:focus-visible{border-color:var(--blue);box-shadow:0 0 0 3px #5457e621}.date-picker-trigger:disabled{cursor:not-allowed;background:#f5f7fb}.date-picker-text{display:grid;min-width:0;gap:2px}.date-picker-value{min-width:0;overflow:hidden;color:var(--ink);font-weight:900;text-overflow:ellipsis;white-space:nowrap}.date-picker-value.placeholder{color:#5457e6}.date-picker-hint{min-width:0;overflow:hidden;color:var(--muted);font-size:11px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.date-picker-button{position:absolute;top:50%;right:6px;display:grid;width:36px;height:36px;place-items:center;border:0;border-radius:8px;background:var(--blue);box-shadow:0 8px 18px #5457e638;color:var(--blue);transform:translateY(-50%)}.date-picker-button svg{color:#fff}.date-picker-pick-label{position:absolute;top:50%;right:48px;pointer-events:none;color:#5457e6;font-size:12px;font-weight:900;transform:translateY(-50%)}.date-picker-trigger:hover:not(:disabled) .date-picker-button,.date-picker-trigger:focus-visible .date-picker-button{background:#4a4dd0;color:#fff}.date-picker-trigger:disabled .date-picker-button{background:#f5f7fb;color:#8b95a6;box-shadow:none}.date-picker-trigger:disabled .date-picker-button svg{color:#8b95a6}.date-picker-trigger:disabled .date-picker-pick-label{color:#8b95a6}.date-picker-native-input{position:relative;display:flex;width:100%;min-width:0;min-height:50px;align-items:center;gap:2px;padding:8px 72px 8px 12px;border:1px solid #d5dce7;border-radius:8px;background:linear-gradient(180deg,#fff,#f5f7fb);color:var(--ink);font:inherit;font-weight:900;outline:none;cursor:text;box-shadow:inset 0 0 0 1px #ffffffb8}.date-picker-native-input.clearable{padding-right:96px}.date-picker-native-input:hover{border-color:#5457e67a;background:linear-gradient(180deg,#fff,#eef0fe);box-shadow:0 10px 24px #5457e61a}.date-picker-native-input.empty{color:#5457e6}.date-picker-native-input[aria-disabled=true]{cursor:not-allowed;background:#f5f7fb;color:#8b95a6}.date-segment-control{display:inline-flex;min-width:0;align-items:center;gap:2px;color:var(--ink);font-weight:900}.date-segment-control.range{position:relative;width:100%}.date-segment-control.range.end.clearable{padding-right:24px}.date-segment-control.range.end.empty{min-height:30px}.date-segment-empty-button{width:100%;min-width:0;height:30px;border:0;border-radius:6px;background:transparent;cursor:text}.date-segment-empty-button:focus-visible{background:#eef0fe;outline:none}.date-segment-input{width:2.25ch;min-width:0;height:30px;padding:0;border:0;border-radius:6px;background:transparent;color:inherit;font:inherit;font-weight:inherit;line-height:30px;text-align:center;outline:none}.date-segment-input.year{width:4.65ch;text-align:left}.date-segment-input::placeholder{color:#94a3b8;font-weight:800}.date-segment-input:focus{background:#eef0fe;color:var(--blue)}.date-segment-input:disabled{cursor:not-allowed;color:#8b95a6}.date-segment-separator{flex:0 0 auto;color:#8b95a6;font-weight:900;-webkit-user-select:none;user-select:none}.date-end-clear-button{position:absolute;top:50%;right:0;display:grid;width:20px;height:20px;place-items:center;border:0;border-radius:999px;background:#eef2f7;color:#64748b;font-size:16px;font-weight:900;line-height:1;transform:translateY(-50%)}.date-end-clear-button:hover:not(:disabled),.date-end-clear-button:focus-visible:not(:disabled){background:#fee2e2;color:var(--red);outline:none}.date-end-clear-button:disabled{cursor:not-allowed;opacity:.55}.date-value-clear-button{position:absolute;top:50%;right:48px;z-index:3;display:grid;width:20px;height:20px;place-items:center;border:0;border-radius:999px;background:#eef2f7;color:#64748b;transform:translateY(-50%)}.date-value-clear-button:hover:not(:disabled),.date-value-clear-button:focus-visible:not(:disabled){background:#fee2e2;color:var(--red);outline:none}.date-value-clear-button:disabled{cursor:not-allowed;opacity:.55}.date-picker-native-input::-webkit-datetime-edit{color:var(--ink)}.date-picker-native-input.empty::-webkit-datetime-edit{color:#5457e6}.date-picker-native-input:disabled{cursor:not-allowed;background:#f5f7fb;color:#8b95a6}.date-picker-native-input::-webkit-calendar-picker-indicator{display:none}.date-picker-fallback-button{position:absolute;top:50%;right:6px;z-index:2;display:inline-flex;height:36px;width:36px;min-width:36px;align-items:center;justify-content:center;padding:0;border:0;border-radius:8px;background:var(--blue);color:#fff;font-size:12px;font-weight:900;transform:translateY(-50%);box-shadow:0 8px 18px #5457e638}.date-picker-fallback-button:hover:not(:disabled),.date-picker-fallback-button:focus-visible:not(:disabled){background:#4a4dd0;outline:none}.date-picker-fallback-button:disabled{background:#f5f7fb;color:#8b95a6;box-shadow:none;cursor:not-allowed}.date-picker-popover{position:fixed;z-index:180;display:grid;width:min(320px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow-y:auto;gap:10px;padding:12px;border:1px solid #d5dce7;border-radius:8px;background:#fff;box-shadow:0 20px 42px #161f2d2e}.date-picker-panel-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:2px 2px 0}.date-picker-panel-title span{color:var(--muted);font-size:12px;font-weight:900}.date-picker-panel-title strong{min-width:0;color:var(--ink);font-size:15px;font-weight:950;text-align:right}.date-picker-field.drop-up .date-picker-popover{bottom:auto}.date-picker-field.compact .date-picker-popover{width:min(300px,calc(100vw - 32px))}.date-picker-head{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;gap:8px;align-items:center}.date-picker-head strong{min-width:0;text-align:center}.date-picker-head-selects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;min-width:0}.date-picker-head-selects.single{grid-template-columns:1fr}.date-picker-select{min-height:34px;padding:0 9px;border:1px solid #d8e2ef;border-radius:8px;background:#f5f7fb;color:var(--ink);font-size:13px;font-weight:900;text-align:center}.date-picker-weekdays,.date-picker-day-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.date-picker-weekdays span{color:var(--muted);font-size:12px;font-weight:900;text-align:center}.date-picker-day,.date-picker-month{display:grid;min-height:38px;place-items:center;border:1px solid transparent;border-radius:8px;background:#f5f7fb;color:var(--ink);font-size:13px;font-weight:900}.date-picker-day:hover:not(:disabled),.date-picker-day:focus-visible:not(:disabled),.date-picker-month:hover:not(:disabled),.date-picker-month:focus-visible:not(:disabled){border-color:#5457e657;background:#eef0fe;color:var(--blue);outline:none}.date-picker-day.selected,.date-picker-month.selected{border-color:var(--blue);background:var(--blue);color:#fff}.date-picker-day.today:not(.selected){border-color:#0f9f8f5c;color:var(--teal)}.date-picker-day.muted{color:#8b95a6}.date-picker-day:disabled,.date-picker-month:disabled{background:#f5f7fb;color:#b2bfce;cursor:not-allowed}.date-picker-day.in-range:not(.selected){border-color:transparent;background:var(--brand-soft, #eef0fe);color:var(--blue);border-radius:0}.date-picker-day.range-start:not(.range-end){border-top-right-radius:0;border-bottom-right-radius:0}.date-picker-day.range-end:not(.range-start){border-top-left-radius:0;border-bottom-left-radius:0}.date-range-inputs{display:grid;grid-template-columns:minmax(118px,1fr) auto minmax(118px,1fr);flex:1 1 auto;min-width:0;min-height:42px;align-items:center;gap:6px;padding:0 48px 0 8px;border:1px solid var(--line);border-radius:10px;background:#fff}.date-range-inputs.display{min-height:66px;align-items:end;gap:8px;padding:8px 48px 8px 10px}.date-range-inputs>span{color:var(--muted);font-size:12px;font-weight:900}.date-range-arrow{display:inline-grid;height:32px;place-items:center}.date-range-display-field{position:relative;display:grid;min-width:0;gap:4px}.date-range-display-field>span{min-width:0;color:var(--muted);font-size:11px;font-weight:800;line-height:1.25;white-space:nowrap}.date-range-display-field.end.clearable{padding-right:24px}.date-range-display-input{width:100%;min-width:0;height:32px;padding:0 8px;border:0;border-radius:6px;background:#f8fafc;color:var(--ink);font:inherit;font-size:13px;font-weight:850;outline:none}.date-range-display-input::placeholder{color:#94a3b8;font-weight:700}.date-range-display-input:focus{background:#eef0fe;color:var(--blue)}.date-range-display-input:disabled{cursor:not-allowed;color:#8b95a6}.date-range-input{width:100%;min-width:0;height:30px;padding:0 4px;border:0;border-radius:6px;background:transparent;color:var(--ink);font:inherit;font-size:13px;font-weight:800;outline:none}.date-range-input::placeholder{color:#94a3b8;font-weight:600}.date-range-input:focus{background:#f5f7ff}.date-range-input:disabled{cursor:not-allowed;color:#b2bfce}.date-picker-month-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.date-picker-footer{display:flex;justify-content:space-between;gap:8px;padding-top:2px}.date-picker-footer .ghost-button{flex:1 1 0}.primary-button,.ghost-button,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border:1px solid transparent;border-radius:var(--r-md);font-weight:800;transition:transform .12s ease,box-shadow .16s ease,background-color .16s ease,border-color .16s ease,color .16s ease}.primary-button{padding:0 18px;background-image:linear-gradient(135deg,var(--brand) 0%,var(--brand-strong) 100%);color:#fff;box-shadow:0 6px 16px #5457e647}.primary-button:hover:not(:disabled){box-shadow:0 10px 22px #5457e65c;transform:translateY(-1px)}.primary-button:active:not(:disabled){transform:translateY(0);box-shadow:0 4px 12px #5457e64d}.primary-button.danger-button{background-image:linear-gradient(135deg,#f05a5f 0%,var(--red) 100%);box-shadow:0 6px 16px #e5484d47}.ghost-button{padding:0 13px;border-color:var(--line-strong);background:var(--surface);color:var(--ink-soft);box-shadow:var(--shadow-sm)}.ghost-button:hover:not(:disabled){border-color:var(--brand);color:var(--brand);background:var(--brand-soft)}.ghost-button.danger{color:var(--red)}.ghost-button.danger:hover:not(:disabled){border-color:var(--red);color:var(--red);background:var(--red-soft)}.admin-page{display:flex;min-height:0;height:100%;flex-direction:column;gap:16px}.admin-toolbar,.editor-head,.editor-actions,.role-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.editor-head>div,.role-section-head>div{min-width:0}.editor-head .ghost-button,.role-section-head .ghost-button{flex:0 0 auto;white-space:nowrap}@media (min-width: 641px){.editor-actions{justify-content:flex-end;flex-wrap:wrap}.editor-actions .primary-button,.editor-actions .ghost-button,.app-shell.sidebar-collapsed .editor-actions .ghost-button{flex:0 0 auto;width:auto;min-width:108px;padding-right:18px;padding-left:18px;white-space:nowrap}.editor-actions .primary-button{min-width:124px}}.admin-toolbar h2,.editor-head h3,.role-section-head h4,.permission-group h4{margin:0}.editor-head h3{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-grid{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:16px;min-height:0;flex:1 1 auto}.admin-list,.admin-editor{min-height:0;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.admin-list{display:flex;flex-direction:column;gap:8px;overflow-y:auto;padding:12px}.admin-list-item{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:64px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);color:var(--ink);text-align:left}.admin-list-item:hover,.admin-list-item.active{border-color:var(--brand);background:var(--brand-soft)}.admin-list-item.muted{opacity:.7}.admin-list-item span,.admin-list-item strong,.admin-list-item small{display:block;min-width:0}.admin-list-item strong,.admin-list-item small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-list-item small{margin-top:4px;color:var(--muted);font-size:12px}.admin-list-item em{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:26px;padding:0 8px;border-radius:var(--r-pill);background:var(--surface-soft);color:var(--muted);font-style:normal;font-weight:800}.admin-empty{padding:22px 12px;color:var(--muted);text-align:center}.admin-editor{display:flex;flex-direction:column;gap:18px;overflow-y:auto;padding:18px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid label{display:grid;gap:7px}.form-grid label>span{color:var(--muted);font-size:13px;font-weight:800}.form-grid input,.form-grid select{width:100%;min-width:0;height:40px;border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface);color:var(--ink);padding:0 12px;outline:none}.form-grid input:focus,.form-grid select:focus{border-color:var(--brand);box-shadow:var(--ring)}.form-grid .span-2{grid-column:1 / -1}.permission-matrix{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.permission-group{min-width:0;padding:14px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-soft)}.permission-group h4{margin-bottom:10px;color:var(--ink)}.role-section-head{align-items:flex-start;margin-bottom:10px}.role-section-head p{margin:4px 0 0;color:var(--muted);font-size:13px}.check-row{display:grid;grid-template-columns:18px minmax(120px,.8fr) minmax(0,1fr);align-items:center;gap:9px;min-height:34px;color:var(--ink-soft);font-size:13px}.check-row input{width:16px;height:16px;accent-color:var(--brand)}.check-row span,.check-row small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.check-row small{color:var(--muted);font-family:Consolas,SFMono-Regular,monospace;font-size:12px}@media (max-width: 980px){.admin-grid,.permission-matrix,.form-grid{grid-template-columns:1fr}.admin-list{max-height:260px}.form-grid .span-2{grid-column:auto}}@media (max-width: 640px){.admin-toolbar,.editor-head,.editor-actions,.role-section-head{align-items:stretch;flex-direction:column}.admin-toolbar .primary-button,.editor-actions .primary-button,.editor-actions .ghost-button{width:100%}.check-row{grid-template-columns:18px minmax(0,1fr)}.check-row small{grid-column:2}}.icon-button{width:38px;padding:0;border-color:var(--line-strong);background:var(--surface);color:var(--ink-soft);box-shadow:var(--shadow-sm)}.icon-button:hover:not(:disabled){border-color:var(--brand);color:var(--brand);background:var(--brand-soft)}.picker-panel{display:grid;gap:14px}.worker-list{display:grid;gap:8px;max-height:540px;min-height:180px;overflow:auto;padding-right:4px}.worker-row,.batch-row,.task-row{display:grid;width:100%;min-width:0;gap:4px;padding:10px;border:1px solid transparent;border-radius:8px;background:#f5f7fb;color:inherit;text-align:left}.worker-row{grid-template-columns:42px minmax(0,1fr);align-items:center;column-gap:10px}.worker-avatar{display:inline-flex;width:42px;height:42px;flex:0 0 42px;align-items:center;justify-content:center;overflow:hidden;border:1px solid rgba(207,218,231,.9);border-radius:50%;background:#eef1f6;color:var(--ink-soft);font-size:15px;font-weight:800;line-height:1;object-fit:cover}.worker-avatar.placeholder{background:linear-gradient(145deg,#f3f5ff,#e6e9fb);color:var(--brand)}.worker-row-main{display:grid;min-width:0;gap:4px}.worker-row.active .worker-avatar{border-color:#5457e68f;box-shadow:0 0 0 2px #5457e61a}.worker-row.skeleton-row .worker-avatar{border-color:transparent}.worker-row.skeleton-row .worker-row-main{gap:6px}.worker-row.active,.batch-row.selected,.task-row.selected{border-color:#5457e66b;background:var(--brand-soft);box-shadow:inset 3px 0 0 var(--brand)}.worker-row strong,.worker-row span,.worker-row small,.batch-row strong,.batch-row span,.batch-row small,.task-row strong,.task-row span,.task-row small{min-width:0;overflow-wrap:anywhere}.worker-row span,.worker-row small,.batch-row span,.batch-row small,.task-row span,.task-row small{color:var(--muted);font-size:12px}.detail-card{display:grid;gap:6px;grid-column:span 2;min-width:0;padding:14px;border:1px solid #e4e8f0;border-radius:8px;background:#fafbfe}.detail-card span{color:var(--muted);overflow-wrap:anywhere}.detail-copy-button{width:100%;margin-top:4px}.calendar-card{display:grid;gap:12px}.workbench-page .calendar-card{gap:8px}.calendar-toolbar{display:flex;align-items:center;gap:8px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.workbench-page .calendar-grid{gap:5px}.calendar-grid-wrap{position:relative;min-width:0;-webkit-user-select:none;user-select:none}.calendar-loading-overlay{position:absolute;top:26px;right:0;bottom:0;left:0;z-index:3;display:grid;place-items:center;gap:8px;min-height:120px;border-radius:var(--r-md);background:#f7faffb8;color:var(--text);font-size:13px;font-weight:700;pointer-events:none;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.calendar-loading-spinner{width:20px;height:20px;border:2px solid rgba(47,107,255,.18);border-top-color:var(--brand);border-radius:50%;animation:calendar-loading-spin .8s linear infinite}@keyframes calendar-loading-spin{to{transform:rotate(360deg)}}.weekday{color:var(--muted);font-size:12px;font-weight:900;text-align:center}.calendar-day{display:grid;min-height:70px;gap:6px;padding:8px;border:1px solid var(--line);border-radius:var(--r-md);background:#fff;text-align:left;cursor:pointer;touch-action:none;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.calendar-day:hover{border-color:var(--brand);box-shadow:var(--shadow-sm)}.workbench-page .calendar-day{min-height:60px;gap:4px;padding:6px}.calendar-day.outside{opacity:.48}.calendar-day.complete{border-color:#0ea88f6b;background:var(--teal-soft)}.calendar-day.partial{border-color:#e08a1e6b;background:var(--amber-soft)}.calendar-day.selected{border-color:var(--brand);outline:2px solid var(--brand);outline-offset:1px;box-shadow:var(--ring)}.calendar-day.highlighted{border-color:#0ea88fb8;background:linear-gradient(180deg,#0ea88f24,#0ea88f12);box-shadow:inset 0 0 0 2px #0ea88f33}.calendar-day.highlighted:after{content:attr(data-highlight-label);width:fit-content;max-width:100%;padding:2px 6px;border-radius:999px;background:#12a67e;color:#fff;font-size:10px;font-weight:800}.calendar-day.empty{background:var(--surface-soft);color:#8b93a2}.calendar-day span{color:var(--muted);font-size:12px}.calendar-counts{display:grid;gap:3px;min-width:0}.workbench-page .calendar-counts{gap:2px}.calendar-counts.muted{color:#8b95a6}.calendar-count{display:inline-flex;width:fit-content;max-width:100%;min-height:18px;align-items:center;padding:0 6px;border-radius:999px;color:#fff;font-size:11px;font-weight:900}.workbench-page .calendar-count{min-height:16px;padding:0 5px;font-size:10px}.calendar-count.in-count{background:var(--blue)}.calendar-count.out-count{background:var(--teal)}.calendar-count.zero{background:#d5dce7;color:#64708a}.calendar-selection-marquee{position:absolute;z-index:4;pointer-events:none;border:1px solid rgba(84,87,230,.65);border-radius:6px;background:#5457e624;box-shadow:0 0 0 1px #ffffffa6 inset}.attendance-workbench-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:stretch}.attendance-calendar-pane{min-width:0}.attendance-detail-panel,.calendar-selection-toolbar{display:grid;gap:12px;margin-top:14px;padding:16px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-soft);box-shadow:var(--shadow-sm)}.attendance-detail-panel{background:#fff}.workbench-page .attendance-detail-panel,.workbench-page .calendar-selection-toolbar{gap:9px;padding:12px}.side-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.side-detail-grid .metric-card{min-height:74px;padding:10px}.side-detail-grid .metric-card strong{font-size:24px}.compact-detail-card{grid-column:span 2;padding:12px}.compact-icon-button{min-height:34px;padding:0 10px}.calendar-selection-toolbar{border-color:#dc26263d;background:#fdf0f0}.calendar-selection-toolbar.move-dates-toolbar{border-color:#c7c9f7;background:#f5f7fb}.calendar-selection-toolbar strong,.calendar-selection-toolbar span{display:block;min-width:0;overflow-wrap:anywhere}.calendar-selection-toolbar strong{margin-bottom:4px;color:var(--ink)}.calendar-selection-toolbar span{color:var(--muted);font-size:12px;line-height:1.45}.calendar-selection-rail{display:none;border-color:#c7c9f7;background:#f5f7fb}.calendar-selection-rail .action-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.calendar-selection-rail .ghost-button{min-width:0}@media (hover: none),(pointer: coarse),(max-width: 1180px){.calendar-selection-rail{display:grid}}.calendar-context-menu{position:fixed;z-index:88;display:grid;width:228px;max-height:calc(100vh - 20px);overflow-y:auto;overscroll-behavior:contain;gap:3px;padding:6px;border:1px solid rgba(148,163,184,.45);border-radius:8px;background:#fffffff5;box-shadow:0 18px 45px #0f172a2e,0 2px 8px #0f172a14;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.calendar-context-head{display:grid;gap:2px;padding:7px 9px 6px}.calendar-context-head strong,.calendar-context-head span,.calendar-context-item span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-context-head strong{color:var(--ink);font-size:13px}.calendar-context-head span{color:var(--muted);font-size:12px}.calendar-context-item{display:grid;grid-template-columns:20px minmax(0,1fr);gap:9px;align-items:center;min-height:36px;padding:0 9px;border:0;border-radius:6px;background:transparent;color:var(--ink);font-size:13px;font-weight:850;text-align:left}.calendar-context-item:hover:not(:disabled),.calendar-context-item:focus-visible{background:#eef0fe;outline:none}.calendar-context-item.danger{color:var(--red)}.calendar-context-item:disabled{cursor:not-allowed;opacity:.46}.calendar-context-separator{height:1px;margin:4px 6px;background:#e4e8f0}.selection-dialog-backdrop{position:fixed;z-index:96;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:18px;background:#0f172a52}.selection-dialog{display:grid;width:min(560px,100%);max-height:calc(100vh - 36px);grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid #d5dce7;border-radius:8px;background:#fff;box-shadow:0 24px 70px #0f172a3d}.selection-dialog.selection-dialog-wide{width:min(760px,100%)}.return-material-dialog{width:min(760px,calc(100vw - 32px))}.return-mode-tabs{align-self:flex-start}.return-season-field{max-width:320px}.return-preview-block{display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:6px;background:var(--surface-soft)}.return-preview-block.blocked{border-color:color-mix(in srgb,var(--red) 45%,var(--line))}.return-preview-summary{margin:0}.return-season-summary{display:flex;flex-wrap:wrap;gap:8px}.return-season-summary span{padding:5px 8px;border:1px solid var(--line);border-radius:4px;background:var(--surface);font-size:12px}.return-blocker-list{display:grid;gap:6px;max-height:220px;overflow:auto}.return-blocker-list article{display:grid;gap:3px;padding:9px 10px;border-left:3px solid var(--red);background:var(--surface)}.return-blocker-list strong,.return-blocker-list span{font-size:12px}.selection-dialog-head,.selection-dialog-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px}.selection-dialog-head{border-bottom:1px solid #e4e8f0}.selection-dialog-head h3{margin:2px 0}.selection-dialog-head span{display:block;color:var(--muted);font-size:12px}.selection-dialog-body{display:grid;gap:12px;min-height:0;padding:16px;overflow:auto}.selection-dialog-note{display:grid;grid-template-columns:20px minmax(0,1fr);gap:8px;align-items:center;padding:10px 12px;border:1px solid #e4e8f0;border-radius:8px;background:#f5f7fb;color:#475569;font-size:12px;font-weight:800}.selection-dialog-note span{min-width:0;overflow-wrap:anywhere}.selection-dialog-note.danger{border-color:#dc26263d;background:#fdf0f0;color:var(--red)}.selection-move-grid{margin-bottom:0}.selection-move-anchor{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:end}.move-draft-list{display:grid;gap:6px;max-height:320px;overflow:auto;padding:4px;border:1px solid #e4e8f0;border-radius:8px;background:#fbfcfe}.move-draft-head,.move-draft-row{display:grid;grid-template-columns:minmax(150px,1.2fr) minmax(150px,1.4fr) minmax(96px,.9fr) minmax(74px,.7fr) 32px;gap:8px;align-items:center}.move-draft-head{padding:4px 6px;font-size:11px;font-weight:800;color:#94a3b8}.move-draft-row{padding:6px;border-radius:8px;background:#fff;border:1px solid #eef1f6}.move-draft-source{display:grid;grid-template-columns:40px minmax(0,1fr);gap:8px;align-items:center;min-width:0}.move-draft-source-text{display:grid;gap:2px;min-width:0}.move-draft-source strong{font-size:13px;color:#1f2937}.move-draft-source small{font-size:11px;color:#64748b}.move-draft-thumb{display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid #d8dee9;border-radius:8px;background:#f1f5f9;cursor:pointer;overflow:hidden}.move-draft-thumb img{width:100%;height:100%;object-fit:cover}.move-draft-thumb-empty{cursor:default;color:#94a3b8}.move-draft-thumb:hover:not(.move-draft-thumb-empty){border-color:var(--blue)}.move-draft-remove{display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid #f0d4d4;border-radius:8px;background:#fdf3f3;color:var(--red);cursor:pointer}.move-draft-remove:hover{background:#fbe3e3}.move-draft-time,.move-draft-direction,.single-move-field input,.single-move-field select{width:100%;padding:6px 8px;border:1px solid #d8dee9;border-radius:8px;background:#fff;font-size:12px;font-weight:700;color:#1f2937}.move-draft-row .date-picker-field.compact,.single-move-fields .date-picker-field.compact{width:100%}.move-draft-row .date-picker-trigger,.single-move-fields .date-picker-trigger{min-height:40px;padding:6px 44px 6px 10px}.move-draft-row .date-picker-pick-label,.single-move-fields .date-picker-pick-label{display:none}.move-draft-row .date-picker-button,.single-move-fields .date-picker-button{width:30px;height:30px;right:5px}.move-draft-row .date-picker-value,.single-move-fields .date-picker-value{font-size:12px;font-weight:800}.move-draft-row .date-picker-hint,.single-move-fields .date-picker-hint{display:none}.move-draft-empty{padding:12px;text-align:center;color:#94a3b8;font-size:12px;font-weight:700}.material-range-absent-field{min-width:0}.material-range-absent-field input{width:100%}.material-range-absent-field small{display:block;margin-top:5px;color:var(--muted);font-size:11px;font-weight:700}.delete-range-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:14px;border:1px solid rgba(220,38,38,.2);border-radius:var(--r-md);background:#fff7f7}.delete-range-preview span,.delete-range-preview strong{display:block;min-width:0}.delete-range-preview span{color:var(--muted);font-size:12px;font-weight:800}.delete-range-preview strong{margin-top:4px;color:#b91c1c;font-size:20px;font-weight:900}.copy-range-preview{border-color:#cbd5e1;background:#f8fafc}.copy-range-preview strong{color:#0f766e}.record-preview-move-form{display:grid;gap:10px;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.14);background:#0f172a59}.single-move-fields{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,.9fr);gap:10px;align-items:end}.single-move-field{display:grid;gap:4px;font-size:11px;font-weight:800;color:#e2e8f0}.single-move-field input,.single-move-field select{color:#1f2937}.single-move-actions{display:flex;justify-content:flex-end;gap:8px}@media (max-width: 560px){.single-move-fields,.selection-move-anchor{grid-template-columns:minmax(0,1fr)}.move-draft-head{display:none}.move-draft-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 32px}.move-draft-source{grid-column:1 / -1}.delete-range-preview{grid-template-columns:minmax(0,1fr)}}.selection-dialog-footer{border-top:1px solid #e4e8f0;background:#f5f7fb}@media (max-width: 560px){.calendar-selection-rail .action-row{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-context-menu{width:min(228px,calc(100vw - 20px))}.selection-dialog-backdrop{align-items:end;padding:10px}.selection-dialog{max-height:calc(100vh - 20px)}.selection-dialog-head,.selection-dialog-footer,.record-preview-head{align-items:stretch;flex-direction:column}.selection-dialog-footer .primary-button,.selection-dialog-footer .ghost-button{width:100%}}.record-badge{display:inline-flex;width:fit-content;min-height:22px;align-items:center;padding:0 8px;border-radius:999px;background:#eef0f4;color:#475569;font-size:12px;font-weight:900}.record-badge.in{background:#eef0fe;color:var(--blue)}.record-badge.out{background:#e7f7f2;color:var(--teal)}.record-preview-backdrop{position:fixed;z-index:118;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:18px;background:#0f172ab8}.record-preview-dialog{display:grid;width:min(1180px,calc(100vw - 36px));height:min(860px,calc(100vh - 36px));grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid rgba(203,215,229,.42);border-radius:8px;background:#fff;box-shadow:0 28px 84px #0f172a57}.record-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0;padding:14px 16px;border-bottom:1px solid #e4e8f0}.record-preview-head>div:first-child{min-width:0}.record-preview-head h3{margin:2px 0}.record-preview-head span{display:block;color:var(--muted);font-size:12px;line-height:1.45}.record-preview-head-actions{display:inline-flex;flex:0 0 auto;align-items:center;gap:10px}.record-preview-count{display:inline-flex;min-height:30px;align-items:center;padding:0 10px;border:1px solid #d5dce7;border-radius:999px;background:#f5f7fb;color:var(--muted);font-size:12px;font-weight:900;white-space:nowrap}.record-preview-stage{display:grid;position:relative;min-height:0;place-items:center;overflow:hidden;padding:20px 84px;background:#0f172a}.record-preview-image-frame{display:flex;width:100%;height:100%;min-width:0;min-height:0;align-items:center;justify-content:center;overflow:hidden}.record-preview-stage img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;min-width:0;min-height:0;border-radius:8px;background:transparent;object-fit:contain;object-position:center;box-shadow:0 18px 42px #00000059}.record-preview-nav{position:absolute;z-index:1;top:50%;display:inline-flex;width:58px;min-height:64px;align-items:center;justify-content:center;gap:4px;border:1px solid rgba(226,232,240,.38);border-radius:8px;background:#0f172ab8;color:#fff;cursor:pointer;transform:translateY(-50%);transition:background .18s ease,border-color .18s ease,transform .18s ease}.record-preview-nav span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.record-preview-nav.previous{left:18px}.record-preview-nav.next{right:18px}.record-preview-nav:hover,.record-preview-nav:focus-visible{border-color:#ffffffa3;background:#5457e6d1;outline:none;transform:translateY(-50%) scale(1.03)}.record-gallery-backdrop{position:fixed;z-index:112;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:18px;background:#0f172ab8}.record-gallery-dialog{display:grid;width:min(1120px,calc(100vw - 36px));height:min(820px,calc(100vh - 36px));grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid rgba(203,215,229,.42);border-radius:8px;background:#fff;box-shadow:0 28px 84px #0f172a57}.record-gallery-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0;padding:14px 16px;border-bottom:1px solid #e4e8f0}.record-gallery-head>div:first-child{min-width:0}.record-gallery-head h3{margin:2px 0}.record-gallery-head span{display:block;color:var(--muted);font-size:12px;line-height:1.45}.record-gallery-head-actions{display:inline-flex;flex:0 0 auto;align-items:center;gap:10px}.record-gallery-body{display:grid;gap:18px;align-content:start;overflow:auto;padding:16px;background:#f5f7fb}.record-gallery-group{display:grid;gap:10px}.record-gallery-group-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding-bottom:6px;border-bottom:1px dashed #d5dce7}.record-gallery-group-head strong{color:var(--ink);font-size:15px}.record-gallery-group-head span{color:var(--muted);font-size:12px;font-weight:900}.record-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:12px}.record-gallery-card{display:grid;gap:8px;padding:8px;border:1px solid #dbe5ef;border-radius:8px;background:#fff;box-shadow:0 8px 18px #0f172a0a}.record-gallery-thumb{display:grid;position:relative;width:100%;aspect-ratio:5 / 4;place-items:center;overflow:hidden;box-sizing:border-box;padding:0;border:1px solid #d5dce7;border-radius:8px;background:linear-gradient(135deg,#eef0fe,#f5f7fb);color:var(--muted)}button.record-gallery-thumb{cursor:zoom-in;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}button.record-gallery-thumb:hover,button.record-gallery-thumb:focus-visible{border-color:#5457e6b8;box-shadow:0 10px 24px #5457e624,0 0 0 3px #5457e61f;transform:translateY(-1px)}.record-gallery-thumb img{display:block;position:absolute;top:2px;right:2px;bottom:2px;left:2px;width:calc(100% - 4px);height:calc(100% - 4px);object-fit:contain;object-position:center}.record-gallery-thumb.no-image{gap:2px}.record-gallery-thumb.no-image small{font-size:11px}.record-gallery-meta{display:flex;align-items:center;gap:8px;min-width:0}.record-gallery-meta-info{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0;flex:1 1 auto}.record-gallery-meta strong{color:var(--ink);font-size:14px}.record-gallery-meta small{color:var(--muted);font-size:11px;white-space:nowrap}.record-delete-button.gallery-delete{width:30px;height:30px;margin-left:0;flex:0 0 auto}@media (max-width: 560px){.record-preview-head{align-items:stretch;flex-direction:column}.record-preview-head-actions{justify-content:space-between}.record-gallery-backdrop{align-items:end;padding:10px}.record-gallery-dialog{width:100%;height:calc(100vh - 20px);max-height:calc(100vh - 20px)}.record-gallery-head{align-items:stretch;flex-direction:column}.record-gallery-head-actions{justify-content:space-between}.record-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:10px}.record-delete-button{width:32px;height:32px}.record-preview-backdrop{align-items:end;padding:10px}.record-preview-dialog{width:100%;height:calc(100vh - 20px);max-height:calc(100vh - 20px)}.record-preview-stage{padding:10px 12px 76px}.record-preview-image-frame,.record-preview-stage img{max-height:100%}.record-preview-nav{top:auto;bottom:12px;width:calc(50% - 18px);min-height:48px;transform:none}.record-preview-nav:hover,.record-preview-nav:focus-visible{transform:none}.record-preview-nav.previous{left:12px}.record-preview-nav.next{right:12px}}.inline-grid.compact-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin-bottom:0}.field-card-label{display:inline-flex;align-items:center;gap:5px}.field-help{position:relative;display:inline-flex;align-items:center;line-height:0}.field-help-trigger{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted);cursor:help;transition:color .15s ease,background .15s ease}.field-help-trigger:hover,.field-help-trigger:focus-visible{color:var(--brand);background:var(--brand-soft);outline:none}.field-help-pop{position:absolute;bottom:calc(100% + 8px);left:50%;z-index:60;width:max-content;max-width:240px;transform:translate(-50%);padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:var(--shadow);color:var(--ink);font-size:12px;font-weight:500;line-height:1.5;white-space:normal;pointer-events:none}.field-help-pop:after{content:"";position:absolute;top:100%;left:50%;width:10px;height:10px;margin-left:-5px;margin-top:-5px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;transform:rotate(45deg)}.date-range-field.open .date-range-inputs,.date-range-field:focus-within .date-range-inputs{border-color:var(--brand)}.date-range-field .date-picker-day.in-range{background:var(--brand-soft);color:var(--brand);border-radius:0}.date-range-field .date-picker-day.range-start{border-top-right-radius:0;border-bottom-right-radius:0}.date-range-field .date-picker-day.range-end{border-top-left-radius:0;border-bottom-left-radius:0}.danger-text{color:var(--red)}.material-prepare-card,.material-progress-card,.material-gallery-panel{display:grid;gap:14px}.material-selected-worker{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:center;padding:12px;border:1px solid #e4e8f0;border-radius:8px;background:#f5f7fb}.material-selected-worker svg{color:var(--teal)}.material-selected-worker strong,.material-selected-worker span{display:block;min-width:0;overflow-wrap:anywhere}.material-selected-worker span{margin-top:2px;color:var(--muted);font-size:12px}.material-form-grid{display:grid;grid-template-columns:1fr auto auto;gap:12px}.material-form-grid>.archive-dropzone{grid-column:1;min-width:0}.material-form-grid>.form-actions{grid-column:1 / -1;display:flex;gap:8px;flex-wrap:wrap}.upload-dropzone,.field-card,.toggle-card{display:grid;min-width:0;gap:7px;align-content:center;min-height:96px;padding:12px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);transition:border-color .16s ease,box-shadow .16s ease}.field-card:focus-within,.toggle-card:focus-within{border-color:var(--brand);box-shadow:var(--ring)}.upload-dropzone{position:relative;border-style:dashed;color:var(--blue)}.archive-dropzone{position:relative;cursor:pointer;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease,color .18s ease}.upload-dropzone input[type=file],.archive-dropzone input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.upload-dropzone strong,.upload-dropzone span,.archive-dropzone strong,.archive-dropzone span,.field-card span,.toggle-card strong,.toggle-card small{min-width:0;overflow-wrap:anywhere}.upload-dropzone span,.archive-dropzone span,.toggle-card small{color:var(--muted);font-size:12px}.archive-dropzone:hover,.archive-dropzone:focus-visible,.archive-dropzone.is-drag-over{border-color:var(--brand);background:var(--brand-soft);box-shadow:0 0 0 3px #5457e624;outline:none}.archive-dropzone.is-disabled,.archive-dropzone.disabled{cursor:not-allowed;opacity:.58}.archive-dropzone.is-disabled input[type=file],.archive-dropzone.disabled input[type=file]{cursor:not-allowed}.archive-dropzone--button{min-width:0;min-height:42px}.archive-dropzone--button strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.field-card input{width:100%;min-width:0;height:40px;padding:0 11px;border:1px solid #d5dce7;border-radius:8px;background:#f5f7fb;color:var(--ink)}.toggle-card{grid-template-columns:22px minmax(0,1fr);align-items:center}.toggle-card input{width:18px;height:18px;accent-color:var(--teal)}.confirmation-card{grid-column:span 2}.form-actions,.material-filter-bar,.material-result-summary{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.material-progress-list{display:grid;gap:10px}.material-progress-row{display:grid;grid-template-columns:22px minmax(180px,.7fr) minmax(180px,1fr) 46px;gap:10px;align-items:center;min-width:0;padding:10px;border:1px solid #e4e8f0;border-radius:8px;background:#fafbfe}.material-progress-row svg.processing,.material-progress-row svg.waiting{color:var(--blue)}.material-progress-row svg.completed{color:var(--teal)}.material-progress-row svg.failed{color:var(--red)}.material-progress-row div{min-width:0}.material-progress-row strong,.material-progress-row span{display:block;min-width:0;overflow-wrap:anywhere}.material-progress-row span,.material-progress-row small{color:var(--muted);font-size:12px}.material-result-summary{padding:10px;border:1px solid rgba(15,159,143,.26);border-radius:8px;background:#e7f7f2;color:#0b8a76;font-weight:900}.material-filter-bar{justify-content:space-between}.material-group-select{min-height:36px;min-width:170px;border:1px solid #d5dce7;border-radius:8px;background:#fff;color:var(--ink)}.material-group-list{display:grid;gap:14px}.material-suite{display:grid;gap:12px;min-width:0;padding:12px;border:1px solid #e4e8f0;border-radius:8px;background:#fafbfe}.material-suite>header,.material-direction-section h3{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;margin:0}.material-suite>header span,.material-direction-section h3{color:var(--muted);font-size:12px}.material-direction-section{display:grid;gap:8px;min-width:0}.material-direction-section .material-grid{max-height:none;overflow:visible}.material-card.readonly{cursor:default}.material-flow-panel{display:grid;gap:12px;margin-top:12px;padding:14px;border:1px solid #c7c9f7;border-radius:8px;background:#f5f7fb}.material-flow-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.generate-material-shortcut{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid #e4e8f0;border-radius:8px;background:#fff}.generate-material-shortcut strong,.generate-material-shortcut span{display:block;min-width:0;overflow-wrap:anywhere}.generate-material-shortcut span{margin-top:3px;color:var(--muted);font-size:12px;line-height:1.45}.workbench-upload-card{display:flex;flex-direction:column;gap:10px;min-width:0;padding:12px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-sm)}.compact-title-row h3{margin:2px 0 0;font-size:16px}.workbench-upload-fields{display:grid;gap:12px}.workbench-upload-split{grid-template-columns:minmax(0,1.3fr) minmax(300px,1fr);align-items:stretch}.workbench-upload-left{display:grid;grid-template-rows:auto auto 1fr;gap:10px;min-width:0}.workbench-upload-right{display:grid;gap:10px;align-content:start;min-width:0}.workbench-upload-right .time-window-fields{align-content:start}.workbench-upload-left .upload-dropzone{min-height:88px}.workbench-range-field{display:flex;align-items:stretch}.workbench-range-field .date-range-field{width:100%}.workbench-setting-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:0}.workbench-setting-grid .field-card{min-height:0}.compact-toggle-card{align-items:center}.workbench-upload-actions{justify-content:flex-end;align-items:end}.workbench-upload-left .workbench-upload-actions{flex-wrap:wrap;gap:8px;align-self:end}.workbench-upload-left .workbench-upload-actions .primary-button{flex:1 1 100%}.workbench-upload-card .workbench-upload-left,.workbench-upload-card .workbench-upload-right{gap:8px}.workbench-upload-card .field-card,.workbench-upload-card .toggle-card{min-height:0;gap:4px;padding:6px 9px}.workbench-upload-card .field-card-label,.workbench-upload-card .toggle-card small,.workbench-upload-card .date-picker-label,.workbench-upload-card .time-window-fields label span{font-size:11px}.workbench-upload-card .field-card input,.workbench-upload-card input,.workbench-upload-card select,.workbench-upload-card .date-range-inputs,.workbench-upload-card .time-window-fields input[type=time]{min-height:32px;height:32px;padding:0 9px;font-size:13px}.workbench-upload-card .date-range-inputs{grid-template-columns:minmax(92px,1fr) auto minmax(92px,1fr);padding:0 44px 0 6px}.workbench-upload-card .date-range-inputs.display{min-height:62px;height:auto;padding:7px 44px 7px 8px}.workbench-upload-card .date-range-input{height:28px;padding:0 2px;font-size:12px}.workbench-upload-card .upload-dropzone,.workbench-upload-left .upload-dropzone{min-height:60px;padding:8px}.workbench-upload-card .time-window-fields.compact{gap:6px;padding:8px 10px}.workbench-upload-card .time-window-title{font-size:12px}.workbench-upload-card .form-actions .primary-button{min-height:38px}.attendance-generate-card{border-color:#dbe2ec;box-shadow:none}.attendance-inventory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.attendance-inventory-grid>div{display:grid;min-width:0;gap:2px;padding:10px;border:1px solid #e0e6ee;border-radius:8px;background:#f7f9fc}.attendance-inventory-grid strong{color:var(--ink);font-size:20px;line-height:1.1}.attendance-inventory-grid span{color:var(--muted);font-size:11px;font-weight:800}.attendance-generate-progress{display:flex;min-width:0;align-items:center;gap:12px;padding:9px 10px;border:1px solid #cfd7e4;border-radius:8px;background:#f7f9fc;color:var(--muted);font-size:12px}.attendance-generate-progress-icon{flex:0 0 auto;color:var(--primary)}.attendance-generate-progress-copy{display:grid;width:min(260px,30vw);min-width:180px;gap:5px}.attendance-generate-progress-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.attendance-generate-progress-title b{color:var(--ink);font-size:15px;font-variant-numeric:tabular-nums}.attendance-generate-progress-track{display:block;width:100%;height:6px;overflow:hidden;border-radius:3px;background:#e1e7ef}.attendance-generate-progress-track i{display:block;height:100%;border-radius:inherit;background:var(--primary);transition:width .22s ease}.attendance-generate-progress-records{white-space:nowrap}.attendance-generate-progress.completed{border-color:#0f9f8f59;background:#0f9f8f0f}.attendance-generate-progress.failed{border-color:#dc26264d;background:#dc26260d}.attendance-generate-progress.failed .attendance-generate-progress-icon,.attendance-generate-progress.failed .attendance-generate-progress-title strong{color:var(--red)}.attendance-generate-progress.action-required{border-color:#e08a1e66;background:#e08a1e0f}.attendance-generate-progress strong{color:var(--ink)}.attendance-generate-progress-status{min-width:0;margin-left:auto;overflow-wrap:anywhere;text-align:right}.generation-diagnosis{display:grid;gap:12px;padding:14px;border:1px solid #e4a94d;border-radius:8px;background:#fffaf0;color:#3d3327}.generation-diagnosis-heading,.generation-diagnosis-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.generation-diagnosis-heading>div{display:grid;gap:2px}.generation-diagnosis-kicker{color:#9a5b0b;font-size:11px;font-weight:800}.generation-diagnosis-heading strong{color:var(--ink);font-size:15px}.generation-diagnosis p{margin:0;color:#695743;font-size:13px;line-height:1.6}.generation-diagnosis p b{color:#9a5b0b}.generation-diagnosis-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.generation-diagnosis-metrics>div{display:grid;gap:3px;min-width:0;padding:9px 10px;border:1px solid #eadcc5;border-radius:6px;background:#fff}.generation-diagnosis-metrics span{color:var(--muted);font-size:11px;font-weight:700}.generation-diagnosis-metrics strong{color:var(--ink);font-size:18px}.generation-diagnosis-suites{display:grid;gap:6px}.generation-suite-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(90px,2fr) 48px;align-items:center;gap:10px;min-width:0;color:#695743;font-size:12px}.generation-suite-row b{overflow-wrap:anywhere}.generation-suite-row i{display:block;height:6px;border-radius:3px;background:#6db7aa}.generation-suite-row.dominant i{background:#e08a1e}.generation-suite-row strong{color:var(--ink);text-align:right}.generation-diagnosis-actions{justify-content:flex-start}.field-card-label{display:inline-flex;align-items:center;gap:4px}.field-help{position:relative;display:inline-flex;align-items:center}.field-help-trigger{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--muted);cursor:help}.field-help-trigger:hover,.field-help-trigger:focus-visible{color:var(--brand, #5457e6);outline:none}.field-help-pop{position:absolute;bottom:calc(100% + 8px);left:50%;z-index:60;width:max-content;max-width:240px;transform:translate(-50%);padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:var(--shadow, 0 18px 48px rgba(15, 23, 42, .18));color:var(--ink);font-size:12px;font-weight:500;line-height:1.5;white-space:normal;pointer-events:none}.field-help-pop:after{content:"";position:absolute;top:100%;left:50%;width:8px;height:8px;transform:translate(-50%,-50%) rotate(45deg);border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.workbench-upload-actions .primary-button{flex:1 1 auto}.workbench-upload-actions .primary-button,.workbench-upload-actions .ghost-button{min-height:40px}.material-progress-hint{display:flex;gap:8px;align-items:center;padding:9px 10px;border:1px solid #e4e8f0;border-radius:8px;background:#f5f7fb;color:var(--muted);font-size:12px;line-height:1.45}.material-progress-hint svg{flex:0 0 auto;color:var(--blue)}.material-progress-hint.stale{border-color:#f56c6c52;background:#fdf0f0;color:#9f2f2f}.material-progress-hint.stale svg{color:var(--red)}.flow-card{display:grid;gap:12px;min-width:0;padding:12px;border:1px solid #e4e8f0;border-radius:8px;background:#fff}.flow-step-header{display:grid;grid-template-columns:28px minmax(0,1fr);gap:9px;align-items:start}.flow-step-header strong,.flow-step-header small,.upload-result-card strong,.upload-result-card span,.upload-result-card small,.flow-status-line small{display:block;min-width:0;overflow-wrap:anywhere}.flow-step-header small,.upload-result-card span,.upload-result-card small,.flow-status-line small{color:var(--muted);font-size:12px;line-height:1.45}.flow-step-index{display:inline-grid;width:28px;height:28px;place-items:center;border-radius:999px;background:var(--blue);color:#fff;font-size:13px;font-weight:900}.dropzone{display:grid;place-items:center;min-height:172px;padding:18px;border:1px dashed #98adc3;border-radius:8px;background:linear-gradient(135deg,#fff,#e7f7f2);color:var(--muted);text-align:center}.compact-dropzone{min-height:132px;padding:14px}.upload-result-card{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;align-items:center;min-height:132px;padding:14px;border:1px solid #c7c9f7;border-radius:8px;background:#f5f7fb;color:var(--blue)}.upload-result-card.completed{border-color:#0f9f8f52;background:#e7f7f2;color:var(--teal)}.inline-progress{display:grid;gap:6px}.flow-status-line{display:flex;align-items:center;justify-content:space-between;gap:10px}.flow-status-line span{color:var(--ink);font-size:12px;font-weight:900}.inline-confirm-panel{margin-top:0}.file-repick-button{width:100%}.file-repick-button input{display:none}.generate-action-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0}.calendar-generate-actions{grid-template-columns:repeat(4,minmax(0,1fr));margin:10px 0 12px;padding:10px;border:1px solid #e4e8f0;border-radius:8px;background:#fafbfe}.quick-upload-button{cursor:pointer}.quick-upload-button input{display:none}.quick-upload-button.disabled{cursor:not-allowed;opacity:.55}.material-drawer-backdrop{position:fixed;z-index:80;top:0;right:0;bottom:0;left:0;display:flex;justify-content:flex-end;background:#0f172a47}.material-drawer{display:grid;width:min(1120px,calc(100vw - 28px));height:100%;grid-template-rows:auto minmax(0,1fr);border-left:1px solid #d5dce7;background:#fff;box-shadow:-18px 0 48px #0f172a2e}.material-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:18px;border-bottom:1px solid #e4e8f0}.material-drawer-head h3{margin:2px 0}.material-drawer-head span{display:block;color:var(--muted);font-size:12px;line-height:1.45}.material-drawer-body{display:grid;grid-template-rows:auto auto minmax(0,1fr) minmax(124px,auto);gap:14px;min-height:0;padding:16px;overflow:hidden}.material-drawer-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.material-drawer-summary div,.material-target-panel,.material-preview-panel,.material-confirm-panel{min-width:0;padding:12px;border:1px solid #e4e8f0;border-radius:8px;background:#f5f7fb}.material-drawer-summary strong,.material-drawer-summary span{display:block;min-width:0;overflow-wrap:anywhere}.material-drawer-summary strong{color:var(--ink);font-size:22px;line-height:1}.material-drawer-summary span{margin-top:6px;color:var(--muted);font-size:12px;font-weight:900}.material-workspace{display:grid;grid-template-columns:minmax(340px,.95fr) minmax(380px,1.05fr);gap:14px;min-height:0}.material-library-panel,.material-assignment-panel{display:grid;min-width:0;min-height:0;border:1px solid #e4e8f0;border-radius:8px;background:#f5f7fb}.material-library-panel{grid-template-rows:auto auto auto auto minmax(0,1fr);gap:10px;padding:12px}.material-assignment-panel{grid-template-rows:auto minmax(0,1fr);gap:12px;overflow:hidden;padding:12px}.material-assign-mode{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.material-assign-mode button{min-height:36px;border:1px solid #e4e8f0;border-radius:8px;background:#fff;color:var(--muted);font-weight:900}.material-assign-mode button:hover,.material-assign-mode button:focus-visible{border-color:#5457e657;background:#eef0fe;color:var(--blue);outline:none}.material-assign-mode button.active{border-color:#5457e67a;background:var(--blue);color:#fff}.material-day-list{display:flex;flex-wrap:wrap;gap:8px;max-height:92px;margin-top:10px;overflow-y:auto;padding-right:4px}.material-day-list button{display:inline-flex;min-height:32px;align-items:center;gap:6px;padding:0 10px;border:1px solid transparent;border-radius:999px;background:#eef0fe;color:var(--blue);font-size:12px;font-weight:900}.material-day-list button:hover,.material-day-list button:focus-visible{border-color:#5457e65c;background:#dfe1fb;outline:none}.material-day-list button.active{border-color:var(--blue);background:var(--blue);color:#fff}.material-day-list button.complete:not(.active){border-color:#0f9f8f47;background:#e7f7f2;color:var(--teal)}.material-day-list button small{color:currentColor;font-size:11px;font-weight:900;opacity:.82}.material-filter-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.material-filter-tabs button{min-height:36px;border:1px solid #e4e8f0;border-radius:8px;background:#fff;color:var(--muted);font-weight:900}.material-filter-tabs button.active{border-color:#5457e66b;background:#eef0fe;color:var(--blue)}.material-delete-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.material-delete-toolbar span{min-width:0;color:var(--muted);font-size:12px;font-weight:800;line-height:1.45;overflow-wrap:anywhere}.material-delete-confirm{margin-top:0;padding:12px}.notice.danger-notice{border-color:#dc262647;background:#fdf0f0;color:#991b1b}.notice.success-notice{border-color:#0f9f8f47;background:#e7f7f2;color:#0f766e}.material-notice-list{display:grid;gap:8px}.notice.warning-notice{border-color:#d9770647;background:#fdf3e3;color:#8a5212}.material-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));align-content:start;gap:10px;min-height:0;max-height:min(58vh,620px);overflow-y:auto;padding-right:4px}.material-card{position:relative;display:grid;min-width:0;padding:8px;border:1px solid #e4e8f0;border-radius:8px;background:#fff;color:var(--ink);text-align:left}.material-card-main{display:grid;width:100%;min-width:0;gap:7px;padding:0;border:0;background:transparent;color:inherit;cursor:grab;text-align:left}.material-card-main:active{cursor:grabbing}.material-card:hover,.material-card:focus-within{border-color:#5457e65c;outline:none;box-shadow:0 10px 24px #5457e61f}.material-card.selected{border-color:var(--blue);background:#eef0fe;box-shadow:inset 0 0 0 2px #5457e629}.material-card.dragging{opacity:.58;outline:2px dashed rgba(84,87,230,.46);outline-offset:2px}.material-card.deleteSelected{border-color:#dc262680;background:#fdf0f0}.material-delete-toggle{position:absolute;top:8px;right:8px;display:grid;width:30px;height:30px;place-items:center;border:1px solid rgba(220,38,38,.32);border-radius:8px;background:#ffffffeb;color:var(--red)}.material-delete-toggle:hover,.material-delete-toggle:focus-visible,.material-delete-toggle.active{border-color:var(--red);background:var(--red);color:#fff;outline:none}.material-thumb{display:grid;aspect-ratio:1 / 1;width:100%;place-items:center;overflow:hidden;border-radius:8px;background:#e4e8f0;color:var(--muted)}.material-thumb img,.material-preview-thumb img{width:100%;height:100%;object-fit:contain;object-position:center}.material-card strong,.material-card small{min-width:0;overflow-wrap:anywhere}.material-card strong{font-size:12px}.material-card small{color:var(--muted);font-size:11px}.skeleton-material-card{pointer-events:none}.material-preview-list{display:grid;align-content:start;gap:8px;margin-top:10px;min-height:0;max-height:min(56vh,620px);overflow-y:auto;padding-right:4px}.material-preview-panel{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;overflow:hidden}.material-preview-panel .material-preview-list{height:100%;max-height:none}.material-preview-row{display:grid;grid-template-columns:108px minmax(0,1fr);gap:8px;align-items:stretch;min-width:0;padding:8px;border:1px solid #e4e8f0;border-radius:8px;background:#fff;color:var(--ink);text-align:left}.material-preview-row.complete{border-color:#0f9f8f4d;background:#e7f7f2}.material-preview-row.focused{border-color:var(--blue);box-shadow:inset 3px 0 0 var(--blue)}.material-preview-row strong,.material-preview-row small{min-width:0;overflow-wrap:anywhere}.material-slot-card{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr);gap:8px;align-items:center;min-width:0;padding:8px 34px 8px 8px;border:1px solid #e4e8f0;border-radius:8px;background:#f5f7fb;cursor:pointer}.material-slot-card+.material-slot-card{grid-column:2}.material-slot-card:hover,.material-slot-card:focus-visible{border-color:#5457e65c;background:#eef0fe;outline:none}.material-slot-card.active{border-color:var(--blue);background:#eef0fe;box-shadow:inset 3px 0 0 var(--blue)}.material-slot-card.filled:not(.active){border-color:#0f9f8f3d;background:#e7f7f2}.material-slot-card[draggable=true]{cursor:grab}.material-slot-card[draggable=true]:active{cursor:grabbing}.material-slot-card.drop-target{border-color:var(--blue);background:#dfe1fb;box-shadow:0 0 0 3px #5457e629}.material-slot-card small{display:grid;gap:2px}.material-slot-card small strong{color:var(--ink);font-size:12px}.material-slot-card small span{color:var(--muted);font-size:12px}.material-preview-thumb{display:grid;width:42px;height:42px;place-items:center;overflow:hidden;border-radius:8px;background:#e4e8f0;color:var(--muted)}.material-preview-row small{color:var(--muted);font-size:12px}.slot-clear-button{position:absolute;top:50%;right:7px;display:grid;width:24px;height:24px;place-items:center;border:1px solid #d5dce7;border-radius:7px;background:#fff;color:var(--muted);transform:translateY(-50%)}.slot-clear-button:hover,.slot-clear-button:focus-visible{border-color:#dc26265c;color:var(--red);outline:none}.material-confirm-panel{display:grid;gap:12px;min-height:124px;background:#fff}.inline-move-panel,.confirm-panel{display:grid;gap:12px;margin-top:14px;padding:14px;border:1px solid #e4e8f0;border-radius:8px;background:#fafbfe}.confirm-panel>div:first-child{display:grid;gap:5px}.confirm-panel strong,.confirm-panel span,.inline-move-panel strong,.inline-move-panel span{display:block;min-width:0;overflow-wrap:anywhere}.confirm-panel strong,.inline-move-panel strong{margin-bottom:6px;color:var(--ink)}.confirm-panel span,.inline-move-panel span{color:var(--muted);line-height:1.55}.danger-panel{display:grid;gap:12px;margin-top:14px;padding:14px;border:1px solid rgba(220,38,38,.28);border-radius:8px;background:#fdf0f0}.danger-panel strong,.danger-panel span{display:block;min-width:0;overflow-wrap:anywhere}.danger-panel strong{margin-bottom:6px;color:var(--red)}.danger-panel span{color:#7f1d1d;line-height:1.55}.dropzone strong{color:var(--ink);font-size:16px}.dropzone input{display:none}.inline-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}.progress-panel{display:grid;gap:12px;padding:16px}.accordion-root{display:grid;gap:8px}.accordion-item{overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fff}.accordion-trigger{display:grid;grid-template-columns:22px minmax(0,1fr) auto 22px;align-items:center;gap:8px;width:100%;min-height:46px;padding:0 12px;border:0;background:transparent;color:var(--ink);text-align:left}.accordion-trigger span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.accordion-chevron{transition:transform .16s ease}.accordion-trigger[data-state=open] .accordion-chevron{transform:rotate(180deg)}.trigger-icon{color:var(--blue)}.trigger-icon.completed{color:var(--teal)}.trigger-icon.failed{color:var(--red)}.accordion-content{padding:0 12px 14px}.accordion-content p{margin:8px 0 2px;color:var(--ink);overflow-wrap:anywhere}.accordion-content small{color:var(--muted)}.progress-track{height:10px;overflow:hidden;border-radius:999px;background:#e6e9f1}.progress-fill{height:100%;border-radius:inherit;background-image:linear-gradient(90deg,var(--brand) 0%,var(--brand-strong) 100%);transition:width .18s ease}.progress-fill.completed{background-image:none;background:var(--teal)}.progress-fill.failed{background-image:none;background:var(--red)}.batch-list,.task-rows,.alert-list{display:grid;gap:10px;max-height:650px;overflow:auto}.batch-row,.task-row,.alert-row{grid-template-columns:minmax(0,1fr) auto;align-items:center}.alert-row{display:grid;grid-template-columns:minmax(0,1fr) 140px auto;gap:12px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fff}.alerts-page{gap:14px;height:100%;min-height:0}.alerts-page .alert-panel{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:14px;height:100%;min-height:0;overflow:hidden;padding:18px}.view-host:has(.alerts-page){overflow:hidden}.alerts-page .alert-list{align-content:start;max-height:none;min-height:0;padding-bottom:2px}.alerts-page .alert-row{min-height:96px;align-self:start}.alert-panel-head{display:block}.alert-title-block{min-width:0}.alert-title-line{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 10px;min-width:0}.alert-title-line h2{margin:0;color:var(--ink);font-size:24px;line-height:1.15;letter-spacing:0}.alert-title-line span{color:var(--muted);font-size:13px;font-weight:800}.alert-title-block>p:not(.eyebrow){max-width:640px;margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.alert-command-strip{display:grid;grid-template-columns:minmax(440px,auto) minmax(360px,1fr);gap:12px;align-items:stretch;min-width:0}.alert-summary-strip{display:grid;grid-template-columns:repeat(3,minmax(110px,1fr));height:100%;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#f8fafc}.alert-summary-item{min-width:0;padding:12px 14px;border-left:1px solid var(--line);box-shadow:inset 3px 0 #94a3b8}.alert-summary-item:first-child{border-left:0}.alert-summary-item span,.alert-summary-item strong{display:block;min-width:0;overflow-wrap:anywhere}.alert-summary-item span{color:var(--muted);font-size:12px;font-weight:800}.alert-summary-item strong{margin-top:6px;color:var(--ink);font-size:24px;line-height:1}.alert-summary-item.danger{box-shadow:inset 3px 0 0 var(--red)}.alert-summary-item.info{box-shadow:inset 3px 0 0 var(--blue)}.alert-summary-item.success{box-shadow:inset 3px 0 0 var(--teal)}.alert-row>div{display:grid;gap:4px}.alert-toolbar{display:grid;grid-template-columns:minmax(220px,260px) auto auto;gap:10px;align-items:end;justify-content:start;min-width:0}.alert-toolbar .date-picker-field{width:100%;min-width:0}.alert-toolbar .ghost-button{min-width:92px;height:40px;justify-content:center;white-space:nowrap}.alert-toolbar .date-picker-popover{right:auto;left:0}.alert-row strong,.alert-row span,.alert-row small{display:block;min-width:0;overflow-wrap:anywhere}.alert-row span,.alert-row small{color:var(--muted)}.alert-stat{text-align:right}.tasks-grid{display:grid;grid-template-columns:minmax(340px,.55fr) minmax(420px,1fr);gap:18px;align-items:start}.task-row{row-gap:8px}.task-row-progress{grid-column:1 / -1;height:6px;overflow:hidden;border-radius:999px;background:#e6e9f1}.task-detail{display:grid;align-content:start}.task-detail-inner{display:grid;gap:12px}.empty-state{display:grid;min-height:180px;place-items:center;padding:20px;border:1px dashed #bed0e2;border-radius:8px;background:#f5f7fb;color:var(--muted);text-align:center}.empty-state.compact{min-height:78px}.workbench-page .empty-state.compact{min-height:58px;padding:14px}.skeleton-line,.skeleton-input,.skeleton-image{display:block;overflow:hidden;border-radius:999px;background:linear-gradient(90deg,#e2ebf4b8,#f6fafdf5,#e2ebf4b8 88%);background-size:220% 100%;animation:skeleton-shimmer 1.25s ease-in-out infinite}.skeleton-line{height:12px}.skeleton-line-xs{width:34%}.skeleton-line-sm{width:48%}.skeleton-line-md{width:66%}.skeleton-line-lg{width:88%}.skeleton-input{width:100%;height:42px;border-radius:8px}.skeleton-control{min-height:42px}.skeleton-hint{display:block;min-height:18px}.skeleton-row,.skeleton-detail-card,.skeleton-record{pointer-events:none}.skeleton-calendar-day{border-color:#e4e8f0;background:#f5f7fb}@keyframes skeleton-shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}@media (prefers-reduced-motion: reduce){.skeleton-line,.skeleton-input,.skeleton-image{animation:none}.progress-fill,.accordion-chevron{transition:none}}.toast{position:fixed;right:24px;bottom:24px;z-index:50;max-width:min(460px,calc(100vw - 48px));padding:13px 15px;border:1px solid var(--line);border-radius:var(--r-md);background:#fff;color:var(--ink);box-shadow:var(--shadow-md);overflow-wrap:anywhere;display:flex;align-items:flex-start;gap:10px}.toast>span{flex:1;min-width:0}.toast-close{flex-shrink:0;background:none;border:none;padding:0;cursor:pointer;color:inherit;opacity:.55;font-size:14px;line-height:1;margin-top:1px}.toast-close:hover{opacity:1}.toast.success{border-color:#0f9f8f59}.toast.warning{border-color:#e08a1e73;color:#9a5b0d}.toast.error{border-color:#dc262659;color:var(--red)}.confirm-dialog-backdrop{position:fixed;z-index:140;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#0f172a8c}.confirm-dialog{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"icon body" "actions actions";gap:12px 14px;width:min(420px,calc(100vw - 40px));padding:22px;border:1px solid rgba(203,215,229,.5);border-radius:var(--r-md);background:#fff;box-shadow:0 28px 84px #0f172a57}.confirm-dialog-icon{grid-area:icon;display:grid;width:42px;height:42px;place-items:center;border-radius:10px;background:var(--brand-soft);color:var(--brand)}.confirm-dialog-icon.danger{background:#e5484d1f;color:var(--red)}.confirm-dialog-body{grid-area:body;display:grid;gap:6px;align-content:start;min-width:0}.confirm-dialog-body h3{margin:4px 0 0;font-size:17px;font-weight:800;line-height:1.3;color:var(--ink)}.confirm-dialog-body p{margin:0;font-size:14px;line-height:1.55;color:var(--muted);overflow-wrap:anywhere}.confirm-dialog-detail{font-size:13px}.confirm-dialog-actions{grid-area:actions;display:flex;justify-content:flex-end;gap:10px;margin-top:6px}.confirm-dialog-actions .ghost-button,.confirm-dialog-actions .primary-button{min-width:88px;justify-content:center}.primary-button.danger-button{background:var(--red);border-color:var(--red)}.primary-button.danger-button:hover:not(:disabled),.primary-button.danger-button:focus-visible:not(:disabled){background:#c93a3f;border-color:#c93a3f}@media (max-width: 560px){.confirm-dialog{grid-template-columns:auto minmax(0,1fr)}.confirm-dialog-actions{flex-direction:column-reverse}.confirm-dialog-actions .ghost-button,.confirm-dialog-actions .primary-button{width:100%}}.login-page{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(390px,.65fr);min-height:100vh;gap:42px;padding:54px;background:radial-gradient(1100px 620px at 12% -8%,rgba(84,87,230,.18),transparent 60%),linear-gradient(180deg,#eef0f6,#e3e7ef)}.login-hero{display:grid;align-content:center;gap:24px;min-width:0;padding:44px;border-radius:var(--r-lg);background:radial-gradient(680px 320px at 88% 0%,rgba(109,94,252,.32),transparent 62%),linear-gradient(160deg,#1c1f2b 0%,var(--rail) 68%);color:#fff;box-shadow:var(--shadow-md)}.hero-badge{display:inline-flex;align-items:center;gap:8px;width:fit-content;padding:8px 12px;border:1px solid rgba(169,176,255,.32);border-radius:999px;background:#5457e629;color:#b7bcff;font-size:13px;font-weight:900}.login-hero h1{font-size:clamp(42px,6vw,76px);line-height:.95}.login-hero p{max-width:760px;margin:0;color:#c3c9d6;font-size:18px;line-height:1.72}.hero-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.hero-grid article{display:grid;gap:6px;min-width:0;padding:16px;border:1px solid rgba(255,255,255,.08);border-radius:var(--r-md);background:#ffffff0d}.hero-grid span{color:#9aa3b2;overflow-wrap:anywhere}.login-card{align-self:center;min-width:0;padding:28px;border:1px solid var(--line);border-radius:var(--r-lg);background:#fffffff5;box-shadow:var(--shadow)}.login-card-head p{color:var(--muted);line-height:1.6}.login-form{display:grid;gap:16px;margin-top:20px}.login-error{margin:0;padding:10px 12px;border:1px solid rgba(220,38,38,.28);border-radius:8px;background:#fdf0f0;color:#991b1b;font-size:14px}.notice{margin:0;padding:12px;border:1px solid #f3d69a;border-radius:8px;background:#fdf3e3;color:#8a5212;line-height:1.5}.login-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:13px}.login-meta.secondary{justify-content:flex-start;line-height:1.45}@media (max-width: 980px){.workbench-upload-split{grid-template-columns:minmax(0,1fr)}.workbench-setting-grid,.attendance-inventory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 981px) and (max-width: 1200px){.attendance-generate-card .workbench-setting-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width: 560px){.workbench-setting-grid{grid-template-columns:minmax(0,1fr)}.attendance-generate-progress{align-items:flex-start;flex-direction:column;gap:5px}.attendance-generate-progress-copy{width:100%;min-width:0}.attendance-generate-progress-status{margin-left:0;text-align:left}.generation-diagnosis-heading,.generation-diagnosis-actions{align-items:stretch;flex-direction:column}.generation-diagnosis-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.generation-suite-row{grid-template-columns:minmax(0,1fr) 42px}.generation-suite-row i{grid-column:1 / -1;grid-row:2}.generation-diagnosis-actions button{width:100%}}@media (max-width: 1180px){.workbench-page .calendar-slot>.section-title{align-items:stretch;flex-direction:column}.calendar-title-actions{justify-content:flex-start;flex-wrap:wrap}.workbench-page .side-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workbench-page .compact-detail-card{grid-column:1 / -1}}@media (max-width: 1440px){.workspace-grid,.batch-grid,.split-workspace{grid-template-columns:1fr;grid-template-areas:none}.picker-slot,.calendar-slot{grid-area:auto}.attendance-workbench-grid,.material-flow-grid,.side-detail-grid{grid-template-columns:1fr}.compact-detail-card{grid-column:auto}.workbench-page .workspace-grid{grid-template-columns:minmax(240px,300px) minmax(0,1fr);grid-template-areas:"picker calendar"}.workbench-page .picker-slot{grid-area:picker}.workbench-page .calendar-slot{grid-area:calendar}}@media (max-width: 1180px){.app-shell{grid-template-columns:74px minmax(0,1fr)}.sidebar .brand-copy,.sidebar .nav-copy,.sidebar .button-copy{max-width:0;opacity:0;pointer-events:none;transform:translate(-8px)}.sidebar{padding:18px 12px}.sidebar-toggle{display:grid;place-items:center;width:42px;height:42px;margin:0 auto 10px;border:1px solid var(--sidebar-line);border-radius:8px;background:#fff;color:var(--brand);box-shadow:var(--shadow-sm)}.nav-item{grid-template-columns:1fr;justify-items:center}.material-flow-grid{grid-template-columns:1fr}.material-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.material-progress-row{grid-template-columns:22px minmax(0,1fr) 46px}.material-progress-row .progress-track{grid-column:2 / -1}.calendar-inline-stats{flex:1 1 220px}.material-workspace{grid-template-columns:1fr}.material-grid,.material-preview-list{max-height:min(48vh,520px)}}@media (max-width: 980px){.attendance-workbench-grid{grid-template-columns:1fr}.time-window-fields:not(.compact){grid-template-columns:repeat(2,minmax(0,1fr))}.time-window-fields.compact{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.generate-action-row{grid-template-columns:1fr}}@media (max-width: 820px){.app-shell{display:grid;grid-template-columns:1fr}.sidebar{position:sticky;top:0;z-index:20;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;height:auto;min-height:0;padding:14px}.nav-list{flex:1 1 100%;grid-template-columns:repeat(6,minmax(0,1fr));overflow-x:auto}.nav-item{min-height:46px;padding:8px}.sidebar-footer{width:100%;grid-template-columns:1fr repeat(2,minmax(0,120px))}.topbar{flex-direction:column;align-items:flex-start;min-height:0;padding:14px 16px}.topbar h1{font-size:24px}.view-host{padding:16px}.material-form-grid{grid-template-columns:1fr}.confirmation-card{grid-column:auto}.material-filter-bar,.form-actions{align-items:stretch;flex-direction:column}.material-filter-tabs,.material-group-select,.form-actions .primary-button,.form-actions .ghost-button{width:100%}.hero-band,.alert-panel-head,.workbench-page .workspace-grid,.login-page,.tasks-grid{grid-template-columns:1fr}.workbench-page .workspace-grid{grid-template-areas:none}.workbench-page .picker-slot,.workbench-page .calendar-slot{grid-area:auto}.workbench-page .picker-slot{position:static;height:auto;max-height:none;overflow:visible}.workbench-page .picker-slot .picker-panel,.workbench-page .picker-slot .worker-list{max-height:none;overflow:visible}.workbench-page .picker-slot .picker-pagination.worker-pagination{position:static;margin-top:2px;border-top:0;background:transparent}.hero-metrics,.detail-grid,.hero-grid,.inline-grid{grid-template-columns:1fr}.time-window-fields:not(.compact){grid-template-columns:1fr}.time-window-fields.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-title-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.calendar-inline-stats{grid-column:1 / -1}.calendar-title-actions .status-pill,.calendar-title-actions .ghost-button{width:100%;justify-content:center}.date-picker-popover,.date-picker-field.compact .date-picker-popover{position:fixed;top:50%;right:16px;bottom:auto;left:16px;width:auto;max-height:calc(100vh - 32px);overflow-y:auto;transform:translateY(-50%)}.material-drawer{width:100vw}.material-drawer-summary,.material-filter-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.material-preview-row,.material-flow-grid,.attendance-workbench-grid{grid-template-columns:1fr}.workbench-page .hero-band{padding:16px}.workbench-page .attendance-detail-panel,.workbench-page .calendar-selection-toolbar,.workbench-page .material-flow-panel{padding:12px}.material-slot-card,.material-slot-card+.material-slot-card{grid-column:1}.material-delete-toolbar{align-items:stretch;flex-direction:column}.login-page{gap:18px;padding:18px}.login-hero{padding:26px}.login-card{padding:22px}.alert-row{grid-template-columns:1fr;align-items:stretch}.view-host:has(.alerts-page){overflow:visible}.alerts-page,.alerts-page .alert-panel{height:auto;overflow:visible}.alerts-page .alert-list{overflow:visible}.alert-stat{text-align:left}.alert-command-strip,.alert-toolbar{grid-template-columns:1fr;align-items:stretch}.alert-summary-strip{grid-template-columns:1fr}.alert-toolbar .date-picker-field,.alert-toolbar .ghost-button,.alert-row .ghost-button{width:100%}.alert-summary-item{border-top:1px solid var(--line);border-left:0}.alert-summary-item:first-child{border-top:0}}@media (min-width: 1181px) and (max-width: 1500px){.sidebar-toggle{display:grid;place-items:center;width:42px;height:42px;margin:0 auto 10px;border:1px solid var(--sidebar-line);border-radius:8px;background:#fff;color:var(--brand);box-shadow:var(--shadow-sm)}.app-shell.sidebar-collapsed .sidebar{padding:18px 10px}.app-shell.sidebar-collapsed .sidebar-toggle{display:grid}.app-shell.sidebar-collapsed .nav-item{grid-template-columns:1fr;justify-items:center}.app-shell.sidebar-collapsed .sidebar .socket-chip,.app-shell.sidebar-collapsed .sidebar .ghost-button{justify-content:center;width:100%;padding-right:0;padding-left:0}.app-shell.sidebar-collapsed .sidebar-footer{grid-template-columns:1fr}}@media (min-width: 1501px){.sidebar-toggle{display:grid;place-items:center;width:40px;height:40px;margin:0 auto 10px;border:1px solid var(--sidebar-line);border-radius:8px;background:#fff;color:var(--brand);box-shadow:var(--shadow-sm)}.app-shell.sidebar-collapsed .sidebar{padding:18px 10px}.app-shell.sidebar-collapsed .nav-item{grid-template-columns:1fr;justify-items:center}.app-shell.sidebar-collapsed .sidebar .socket-chip,.app-shell.sidebar-collapsed .sidebar .ghost-button{justify-content:center;width:100%;padding-right:0;padding-left:0}.app-shell.sidebar-collapsed .sidebar-footer{grid-template-columns:1fr}}@media (min-width: 821px){.nav-list{align-content:start;grid-auto-rows:58px}.nav-item{height:58px;min-height:58px}.app-shell.sidebar-collapsed .nav-list{align-content:start;grid-auto-rows:max-content}.app-shell.sidebar-collapsed .nav-item{grid-template-columns:minmax(0,1fr) 0;grid-template-rows:1fr;place-items:center;width:100%;height:44px;min-height:44px;padding:0}.app-shell.sidebar-collapsed .nav-item>svg{align-self:center;justify-self:center}}.material-generate-page{width:100%;height:calc(100vh - 132px);min-height:560px;overflow:hidden}.material-generate-page .split-workspace{display:grid;grid-template-columns:minmax(320px,360px) minmax(0,1fr);gap:20px;align-items:start;height:100%;min-height:0;overflow:hidden}.material-generate-page .picker-slot{grid-area:auto;display:grid;gap:14px;grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0;overflow:hidden;z-index:4}.material-generate-page .picker-panel{display:grid;grid-template-rows:auto auto minmax(0,1fr);min-height:0;overflow:hidden}.material-generate-page .material-main-stack{display:grid;grid-template-columns:minmax(420px,1.1fr) minmax(300px,.9fr);grid-template-rows:minmax(0,304px) minmax(220px,1fr);align-items:stretch;height:100%;min-height:0;gap:16px;overflow:hidden}.material-generate-page .material-prepare-card,.material-generate-page .material-progress-card{min-height:0;max-height:304px}.material-generate-page .material-prepare-card{grid-column:1 / -1;align-content:start;gap:10px;overflow:hidden}.material-generate-page .material-progress-card{align-content:start;gap:10px;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.material-generate-page .material-gallery-panel{grid-column:1 / -1;grid-row:2;display:grid;grid-template-rows:auto auto auto minmax(0,1fr);min-height:0;overflow:hidden}.material-generate-page .material-form-grid{grid-template-columns:minmax(220px,1fr) minmax(170px,.72fr);align-content:start;gap:10px}.material-generate-page .material-selected-worker{grid-template-columns:28px minmax(0,1fr);gap:8px;padding:6px 8px}.material-generate-page .upload-dropzone{grid-column:auto;grid-row:span 3;min-height:126px}.material-generate-page .upload-dropzone,.material-generate-page .field-card,.material-generate-page .toggle-card{padding:10px}.material-generate-page .field-card,.material-generate-page .toggle-card{min-height:62px}.material-generate-page .toggle-card small{display:none}.material-generate-page .form-actions{grid-column:1 / -1;align-self:stretch;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:8px}.material-generate-page .form-actions .primary-button,.material-generate-page .form-actions .ghost-button{min-height:40px}@media (min-width: 1181px){.material-generate-page .material-form-grid{grid-template-columns:minmax(150px,1fr) minmax(118px,.7fr) minmax(132px,.76fr);grid-template-rows:repeat(2,minmax(0,1fr));align-items:stretch}.material-generate-page .upload-dropzone{grid-column:1;grid-row:1 / span 2;min-height:112px}.material-generate-page .field-card{grid-column:2;grid-row:1}.material-generate-page .toggle-card{grid-column:2;grid-row:2}.material-generate-page .form-actions{grid-column:3;grid-row:1 / span 2;grid-template-columns:1fr;align-content:center}.material-generate-page .form-actions .primary-button,.material-generate-page .form-actions .ghost-button{min-height:36px;padding-right:8px;padding-left:8px;gap:5px;font-size:13px}}.material-generate-page .material-progress-row{grid-template-columns:22px minmax(0,1fr) 42px;gap:8px;padding:7px 9px}.material-generate-page .material-progress-row .progress-track{grid-column:2 / -1}.material-generate-page .material-progress-row strong{line-height:1.28}.material-generate-page .material-progress-row span{display:none;overflow-wrap:anywhere;white-space:normal}.material-generate-page .material-filter-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:flex-start;position:relative;z-index:2}.material-generate-page .material-filter-tabs{display:grid;flex:0 0 220px;grid-template-columns:repeat(3,minmax(0,1fr))}.material-group-search{flex:1 1 280px;width:auto;max-width:360px;min-width:0;min-height:36px;padding:0 11px;border:1px solid #d5dce7;border-radius:8px;background:#fff;color:var(--ink)}.material-generate-page .material-group-select{flex:0 1 240px;width:auto;min-width:0;padding:0 9px}.material-gallery-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;padding:8px 10px;border:1px solid #e4e8f0;border-radius:8px;background:#f5f7fb;color:var(--muted);font-size:12px;font-weight:800}.material-generate-page .material-result-summary{gap:6px;padding:8px;font-size:12px}.material-gallery-meta span{min-width:0;overflow-wrap:anywhere}.material-gallery-pager{display:inline-flex;flex:0 0 auto;align-items:center;gap:8px}.material-gallery-pager strong{min-width:88px;color:var(--ink);text-align:center}.material-generate-page .material-group-list{display:grid;align-content:start;gap:12px;height:auto;min-height:0;max-height:none;overflow:visible;padding-right:0}.material-gallery-body{min-height:0;height:100%;max-height:none;overflow:auto;padding-right:4px;overscroll-behavior:contain}.material-generate-page .material-suite .material-grid{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));max-height:none;overflow:visible}.material-generate-page .material-direction-section .material-grid{grid-template-columns:repeat(auto-fill,minmax(136px,1fr));max-height:none;overflow:visible}.material-generate-page .material-flat-grid{grid-template-columns:repeat(auto-fill,minmax(128px,1fr));max-height:none;overflow:visible}.material-generate-page .material-card{box-shadow:none}@media (max-width: 1360px){.material-generate-page .split-workspace{grid-template-columns:minmax(300px,340px) minmax(0,1fr);gap:16px}.material-generate-page .material-main-stack{grid-template-columns:minmax(360px,1fr) minmax(280px,.8fr);grid-template-rows:minmax(0,276px) minmax(240px,1fr);gap:16px}.material-generate-page .panel{padding:14px}.material-generate-page .material-form-grid{grid-template-columns:minmax(200px,1fr) minmax(160px,.78fr)}.material-generate-page .material-progress-row{grid-template-columns:22px minmax(0,1fr) 42px;gap:8px;padding:7px 8px}.material-generate-page .material-selected-worker{padding:5px 8px}.material-generate-page .upload-dropzone{min-height:104px}.material-generate-page .upload-dropzone span{display:none}.material-generate-page .material-gallery-toolbar{gap:8px}.material-generate-page .material-filter-bar,.material-generate-page .material-gallery-meta{padding:7px 8px}.material-generate-page .material-filter-tabs button,.material-generate-page .material-group-search,.material-generate-page .material-group-select{min-height:34px}}@media (max-width: 1360px) and (min-width: 1181px){.material-generate-page .material-prepare-card,.material-generate-page .material-progress-card{gap:8px}.material-generate-page .material-prepare-card .panel-title-row,.material-generate-page .material-progress-card .panel-title-row{align-items:start}.material-generate-page .material-prepare-card .panel-title-row h2,.material-generate-page .material-progress-card .panel-title-row h2{font-size:23px;line-height:1.14}.material-generate-page .material-prepare-card .status-pill,.material-generate-page .material-progress-card .status-pill{min-height:28px;padding:0 10px}.material-generate-page .material-form-grid{grid-template-columns:minmax(140px,1fr) minmax(108px,.68fr) minmax(118px,.76fr);gap:8px}.material-generate-page .upload-dropzone{grid-column:1;grid-row:span 2;min-height:112px}.material-generate-page .field-card,.material-generate-page .toggle-card{min-height:52px;padding:8px}.material-generate-page .field-card input{height:34px}.material-generate-page .form-actions{grid-column:3;grid-row:1 / span 2;grid-template-columns:1fr}.material-generate-page .material-progress-list{gap:6px}.material-generate-page .material-progress-row{grid-template-columns:20px minmax(82px,.85fr) minmax(104px,1fr) 34px;gap:6px;min-height:36px;padding:6px 8px}.material-generate-page .material-progress-row .progress-track{grid-column:auto}.material-generate-page .material-progress-row strong{font-size:13px}}@media (max-width: 1180px) and (min-width: 901px){.material-generate-page,.material-generate-page .split-workspace,.material-generate-page .picker-slot,.material-generate-page .material-main-stack{height:auto;min-height:0;max-height:none;overflow:visible}.material-generate-page .material-main-stack{grid-template-columns:minmax(300px,1fr) minmax(240px,.82fr);grid-template-rows:auto auto}.material-generate-page .split-workspace{grid-template-columns:minmax(260px,300px) minmax(0,1fr)}.material-generate-page .material-form-grid{grid-template-columns:minmax(0,1fr)}.material-generate-page .upload-dropzone{grid-column:auto;grid-row:auto;min-height:72px}.material-generate-page .worker-list{max-height:none}.material-generate-page .material-progress-row{grid-template-columns:24px minmax(0,1fr) 48px}.material-generate-page .material-progress-row .progress-track{grid-column:2 / -1}.material-generate-page .material-gallery-panel{grid-column:1 / -1;grid-row:2;overflow:hidden}.material-generate-page .material-prepare-card,.material-generate-page .material-progress-card{max-height:none}.material-gallery-body{height:clamp(280px,42vh,360px);max-height:min(42vh,360px)}}@media (min-width: 1181px){.material-generate-page .picker-slot{max-height:none;overflow:hidden}.material-generate-page .picker-panel{min-height:0;max-height:none}.material-generate-page .worker-list{max-height:none;overflow-y:auto}}@media (max-width: 900px){.material-generate-page{height:auto;min-height:0;overflow:visible}.material-generate-page .split-workspace,.material-generate-page .picker-slot,.material-generate-page .material-main-stack{height:auto;min-height:0;max-height:none;overflow:visible}.material-generate-page .split-workspace,.material-generate-page .material-main-stack{grid-template-columns:1fr;grid-template-rows:none}.material-generate-page .material-gallery-panel{grid-row:auto}.material-generate-page .material-prepare-card,.material-generate-page .material-progress-card{max-height:none}.material-generate-page .material-progress-row span,.material-generate-page .toggle-card small{display:block}.material-gallery-body{height:clamp(360px,54vh,480px);max-height:min(54vh,480px)}}@media (max-width: 820px){.app-shell.sidebar-collapsed{grid-template-columns:1fr}.material-generate-page .material-filter-bar{align-items:stretch;flex-direction:column}.material-generate-page .material-filter-tabs,.material-group-search,.material-generate-page .material-group-select{flex-basis:auto;width:100%;max-width:none}.material-gallery-meta{align-items:stretch;flex-direction:column}.material-gallery-pager{justify-content:space-between;width:100%}.material-generate-page .material-form-grid{grid-template-columns:1fr}.material-generate-page .form-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.material-gallery-body{height:clamp(320px,50vh,420px);max-height:min(50vh,420px)}.generate-material-shortcut{grid-template-columns:1fr}}@media (max-width: 560px){.sidebar{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;width:100%;max-width:100vw;min-width:0;height:64px;gap:8px;padding:8px 10px;overflow-x:hidden}.brand{grid-column:1;padding:4px 0}.brand-mark,.sidebar-toggle{width:40px;height:40px}.sidebar .brand-copy,.sidebar .nav-copy,.sidebar .button-copy,.sidebar .socket-chip span,.app-shell.sidebar-collapsed .sidebar .brand-copy,.app-shell.sidebar-collapsed .sidebar .nav-copy,.app-shell.sidebar-collapsed .sidebar .button-copy,.app-shell.sidebar-collapsed .sidebar .socket-chip span{max-width:0;opacity:0;pointer-events:none;transform:translate(-8px)}.nav-list{display:flex;grid-column:2;width:auto;min-width:0;gap:4px;padding:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.nav-list::-webkit-scrollbar{display:none}.nav-item,.app-shell.sidebar-collapsed .nav-item{flex:0 0 36px;width:36px;height:36px;min-height:36px;padding:0}.sidebar-footer{display:block;grid-column:3;width:40px;margin:0;padding:0}.sidebar .socket-chip,.sidebar .ghost-button,.app-shell.sidebar-collapsed .sidebar .socket-chip,.app-shell.sidebar-collapsed .sidebar .ghost-button{justify-content:center;width:100%;min-height:40px;padding-right:0;padding-left:0}.workbench-page .picker-slot{max-height:460px;overflow-y:auto}.workbench-page .calendar-title-actions .ghost-button{justify-self:start;width:auto;padding:0 8px}.workbench-page .calendar-title-actions .compact-icon-button{min-width:58px}.material-generate-page .material-form-grid{grid-template-columns:1fr}.material-generate-page .upload-dropzone{grid-row:auto;min-height:118px}.material-generate-page .form-actions{grid-template-columns:1fr}.material-generate-page .material-progress-row{grid-template-columns:22px minmax(0,1fr) 42px;padding:9px}.material-generate-page .material-direction-section .material-grid,.material-generate-page .material-suite .material-grid,.material-generate-page .material-flat-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}.material-gallery-body{height:clamp(300px,48vh,380px);max-height:min(48vh,380px);padding-right:2px}.material-gallery-pager strong{min-width:70px}}.material-generate-page .material-gallery-panel{grid-template-rows:auto minmax(0,1fr);gap:12px}.material-generate-page .material-gallery-toolbar{display:grid;gap:10px;min-width:0}.material-generate-page .material-gallery-toolbar .panel-title-row,.material-generate-page .material-filter-bar,.material-generate-page .material-gallery-meta{flex-shrink:0}.material-generate-page .material-filter-bar{padding:10px;border:1px solid #e4e8f0;border-radius:8px;background:#f5f7fb}.material-generate-page .material-gallery-body{min-height:0;overflow-y:auto}.material-generate-page .material-gallery-body .material-grid{max-height:none;overflow:visible}@media (max-width: 1180px) and (min-width: 901px){.material-generate-page .material-gallery-panel{min-height:430px}.material-generate-page .material-gallery-body{height:clamp(300px,44vh,390px);max-height:min(44vh,390px)}}@media (max-width: 900px){.material-generate-page .material-gallery-panel{min-height:520px}.material-generate-page .material-gallery-body{height:clamp(340px,52vh,460px);max-height:min(52vh,460px)}}@media (max-width: 820px){.material-generate-page .material-filter-bar{padding:8px}}@media (max-width: 560px){.material-generate-page .material-gallery-panel{min-height:460px}.material-generate-page .material-gallery-body{height:clamp(300px,48vh,380px);max-height:min(48vh,380px)}}@media (min-width: 1181px){.material-generate-page .material-form-grid{grid-template-columns:minmax(150px,1fr) minmax(118px,.7fr) minmax(132px,.76fr);grid-template-rows:repeat(2,minmax(48px,auto));align-items:stretch}.material-generate-page .upload-dropzone{grid-column:1;grid-row:1 / span 2;min-height:104px}.material-generate-page .field-card{grid-column:2;grid-row:1;min-height:48px}.material-generate-page .toggle-card{grid-column:2;grid-row:2;min-height:48px}.material-generate-page .form-actions{grid-column:3;grid-row:1 / span 2;grid-template-columns:1fr;align-content:center;align-self:stretch}.material-generate-page .form-actions .primary-button,.material-generate-page .form-actions .ghost-button{min-height:36px;padding-right:8px;padding-left:8px;gap:5px;font-size:13px}}@media (max-width: 1360px) and (min-width: 1181px){.material-generate-page .material-form-grid{grid-template-columns:minmax(140px,1fr) minmax(108px,.68fr) minmax(118px,.76fr)}.material-generate-page .field-card,.material-generate-page .toggle-card{padding:7px 8px}.material-generate-page .field-card input{height:32px;min-height:32px}.material-generate-page .material-gallery-toolbar{gap:6px}.material-generate-page .material-gallery-toolbar .eyebrow{display:none}.material-generate-page .material-gallery-toolbar .panel-title-row{align-items:center;min-height:32px}.material-generate-page .material-gallery-toolbar .panel-title-row h2{font-size:24px;line-height:1.08}.material-generate-page .material-gallery-toolbar .status-pill{min-height:26px;padding:0 9px}.material-generate-page .material-filter-bar{padding:6px 8px}.material-generate-page .material-gallery-meta{min-height:26px;padding:5px 8px}}.material-generate-page{height:calc(100vh - 132px);min-height:620px;overflow:hidden}.material-generate-page .split-workspace{grid-template-columns:minmax(300px,360px) minmax(0,1fr);align-items:stretch;height:100%;min-height:0;gap:16px;overflow:visible}.material-generate-page .picker-slot{position:relative;z-index:8;grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0;overflow:visible}.material-generate-page .picker-slot.has-mode-switch{grid-template-rows:auto auto minmax(0,1fr)}.material-generate-page .picker-panel{display:grid;grid-template-rows:auto auto minmax(0,1fr);height:100%;min-height:0;overflow:visible}.material-generate-page .worker-list{min-height:0;max-height:none;overflow-y:auto}.material-generate-page .material-main-stack{display:grid;grid-template-columns:minmax(460px,1.12fr) minmax(340px,.88fr);grid-template-rows:minmax(260px,auto) minmax(0,1fr);height:100%;min-height:0;gap:16px;overflow:hidden}.material-generate-page .material-prepare-card,.material-generate-page .material-progress-card{min-height:0;max-height:none;overflow:hidden}.material-generate-page .material-prepare-card{align-content:start;gap:12px}.material-generate-page .material-progress-card{grid-template-rows:auto minmax(0,1fr) auto;align-content:stretch;gap:12px}.material-generate-page .material-selected-worker{min-height:48px;padding:8px 10px}.material-generate-page .material-selected-worker span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-generate-page .material-form-grid{display:grid;grid-template-columns:minmax(240px,1fr) minmax(220px,.78fr);grid-template-rows:auto auto auto;gap:10px;align-items:stretch}.material-generate-page .upload-dropzone{grid-column:1;grid-row:1 / span 3;min-height:150px}.material-generate-page .field-card{grid-column:2;grid-row:1;min-height:58px}.material-generate-page .toggle-card{grid-column:2;grid-row:2;min-height:58px}.material-generate-page .field-card,.material-generate-page .toggle-card,.material-generate-page .upload-dropzone{padding:10px}.material-generate-page .toggle-card small{display:block}.material-generate-page .form-actions{grid-column:2;grid-row:3;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-self:stretch}.material-generate-page .form-actions .primary-button,.material-generate-page .form-actions .ghost-button{width:100%;min-height:40px;padding-right:10px;padding-left:10px;white-space:normal}.material-generate-page .material-progress-list{min-height:0;overflow-y:auto}.material-generate-page .material-progress-row{grid-template-columns:22px minmax(130px,.86fr) minmax(130px,1fr) 42px;gap:8px;min-height:46px;padding:8px 10px}.material-generate-page .material-progress-row span{display:block}.material-generate-page .material-gallery-panel{grid-column:1 / -1;grid-row:2;display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;gap:10px;overflow:hidden}.material-generate-page .material-gallery-toolbar{position:sticky;top:0;z-index:6;display:grid;gap:8px;min-width:0;padding-bottom:2px;background:var(--surface)}.material-generate-page .material-filter-bar{display:grid;grid-template-columns:220px minmax(220px,1fr) minmax(180px,240px);align-items:center;gap:10px;padding:9px 10px;border:1px solid #e4e8f0;border-radius:8px;background:#f5f7fb}.material-generate-page .material-filter-tabs{display:grid;width:100%;grid-template-columns:repeat(3,minmax(0,1fr));flex-basis:auto}.material-generate-page .material-group-search,.material-generate-page .material-group-select{width:100%;max-width:none;min-width:0;min-height:36px}.material-generate-page .material-gallery-meta{min-height:34px;padding:7px 10px}.material-generate-page .material-gallery-body{min-height:0;height:100%;max-height:none;overflow-y:auto;overflow-x:hidden;padding-right:4px;overscroll-behavior:contain}.material-generate-page .material-group-list{display:grid;align-content:start;gap:12px}.material-generate-page .material-suite{padding:10px}.material-generate-page .material-suite>header{padding-bottom:8px;border-bottom:1px solid #e4e8f0}.material-generate-page .material-suite .material-grid,.material-generate-page .material-flat-grid{grid-template-columns:repeat(auto-fill,minmax(118px,1fr))}.material-generate-page .material-card{min-height:0;box-shadow:none}@media (max-width: 1460px) and (min-width: 1181px){.material-generate-page{min-height:596px}.material-generate-page .split-workspace{grid-template-columns:minmax(280px,330px) minmax(0,1fr);gap:14px}.material-generate-page .material-main-stack{grid-template-columns:minmax(430px,1.06fr) minmax(310px,.94fr);grid-template-rows:minmax(242px,auto) minmax(0,1fr);gap:14px}.material-generate-page .panel{padding:14px}.material-generate-page .material-form-grid{grid-template-columns:minmax(220px,1fr) minmax(190px,.8fr);gap:8px}.material-generate-page .upload-dropzone{min-height:132px}.material-generate-page .toggle-card small{display:none}.material-generate-page .material-progress-row{grid-template-columns:20px minmax(104px,.88fr) minmax(104px,1fr) 36px;min-height:40px;padding:6px 8px}.material-generate-page .material-progress-row span{display:none}}@media (max-width: 1180px){.material-generate-page{height:auto;min-height:0;overflow:visible}.material-generate-page .split-workspace{grid-template-columns:minmax(260px,320px) minmax(0,1fr);align-items:start;height:auto;overflow:visible}.material-generate-page .picker-slot,.material-generate-page .picker-panel,.material-generate-page .material-main-stack{height:auto;max-height:none;overflow:visible}.material-generate-page .worker-list{max-height:360px}.material-generate-page .material-main-stack{grid-template-columns:1fr;grid-template-rows:none}.material-generate-page .material-gallery-panel{grid-row:auto;min-height:520px}.material-generate-page .material-gallery-body{height:clamp(340px,52vh,460px);max-height:min(52vh,460px)}}@media (max-width: 900px){.material-generate-page .split-workspace{grid-template-columns:1fr}.material-generate-page .picker-slot{max-height:none}.material-generate-page .worker-list{max-height:320px}.material-generate-page .material-form-grid{grid-template-columns:1fr}.material-generate-page .upload-dropzone,.material-generate-page .field-card,.material-generate-page .toggle-card,.material-generate-page .form-actions{grid-column:auto;grid-row:auto}.material-generate-page .upload-dropzone{min-height:118px}.material-generate-page .material-progress-row{grid-template-columns:22px minmax(0,1fr) 42px}.material-generate-page .material-progress-row .progress-track{grid-column:2 / -1}.material-generate-page .material-filter-bar{grid-template-columns:1fr}}@media (max-width: 560px){.material-generate-page .material-gallery-panel{min-height:460px}.material-generate-page .material-gallery-body{height:clamp(300px,48vh,380px);max-height:min(48vh,380px)}.material-generate-page .form-actions{grid-template-columns:1fr}.material-generate-page .material-suite .material-grid,.material-generate-page .material-flat-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}}@media (min-width: 1181px){.material-generate-page .material-main-stack{grid-template-rows:minmax(214px,auto) minmax(0,1fr)}.material-generate-page .material-prepare-card,.material-generate-page .material-progress-card{max-height:246px}.material-generate-page .material-form-grid{grid-template-columns:minmax(220px,1fr) minmax(160px,.72fr) minmax(150px,.78fr);grid-template-rows:repeat(2,minmax(44px,auto));gap:8px}.material-generate-page .upload-dropzone{min-height:104px}.material-generate-page .field-card,.material-generate-page .toggle-card{min-height:48px;padding:8px}.material-generate-page .toggle-card small{display:none}.material-generate-page .material-progress-list{gap:7px}.material-generate-page .material-progress-row{min-height:39px;padding:6px 8px}.material-generate-page .material-progress-row span{display:none}.material-generate-page .material-gallery-toolbar{gap:6px}.material-generate-page .material-gallery-toolbar .panel-title-row{min-height:34px;align-items:center}.material-generate-page .material-gallery-toolbar .eyebrow{display:none}.material-generate-page .material-gallery-toolbar h2{margin:0;font-size:22px;line-height:1.18}.material-generate-page .material-filter-bar{min-height:44px;padding:6px 8px}.material-generate-page .material-filter-tabs button,.material-generate-page .material-group-search,.material-generate-page .material-group-select{min-height:32px}.material-generate-page .material-gallery-meta{min-height:28px;padding:5px 8px}.material-generate-page .material-gallery-body{min-height:320px}}@media (min-width: 1461px){.material-generate-page .material-gallery-body{min-height:360px}}.material-generate-page{height:calc(100vh - 116px);min-height:600px;overflow:hidden}.material-generate-page .split-workspace{grid-template-columns:clamp(260px,22vw,320px) minmax(0,1fr);gap:14px;height:100%;min-height:0;overflow:hidden}.material-generate-page .picker-slot{height:100%;min-height:0;padding:12px;overflow:hidden}.material-generate-page .picker-slot>.panel-title-row{min-height:34px}.material-generate-page .picker-slot>.panel-title-row h2{margin:0;font-size:20px;line-height:1.15}.material-generate-page .picker-slot .eyebrow{display:none}.material-generate-page .picker-panel{grid-template-rows:auto auto minmax(0,1fr);gap:8px;height:100%;min-height:0;overflow:hidden}.material-generate-page .picker-panel label,.material-generate-page .combo-field{display:grid;gap:5px;min-width:0}.material-generate-page .field-label,.material-generate-page .picker-panel label>span{font-size:12px;font-weight:900}.material-generate-page .field-hint{min-height:18px;font-size:11px;line-height:1.35}.material-generate-page .worker-list{display:grid;align-content:start;gap:6px;min-height:0;max-height:none;overflow-y:auto;padding-right:2px}.material-generate-page .worker-row{gap:2px;min-height:58px;padding:8px}.material-generate-page .worker-row strong{font-size:13px;line-height:1.25}.material-generate-page .worker-row span,.material-generate-page .worker-row small{font-size:11px;line-height:1.35}.material-generate-page .picker-pagination.worker-pagination{min-height:32px;padding:4px 0 0}.material-generate-page .picker-page-button{width:28px;height:28px;border-radius:7px}.material-generate-page .picker-page-label{font-size:11px}.material-generate-page .material-main-stack{display:grid;grid-template-columns:minmax(440px,1fr) minmax(300px,.78fr);grid-template-rows:minmax(186px,auto) minmax(0,1fr);gap:12px;height:100%;min-height:0;overflow:hidden}.material-generate-page .material-prepare-card,.material-generate-page .material-progress-card{gap:8px;max-height:224px;padding:12px;overflow:hidden}.material-generate-page .material-prepare-card .panel-title-row,.material-generate-page .material-progress-card .panel-title-row{min-height:30px}.material-generate-page .material-prepare-card .eyebrow,.material-generate-page .material-progress-card .eyebrow{display:none}.material-generate-page .material-prepare-card h2,.material-generate-page .material-progress-card h2{margin:0;font-size:20px;line-height:1.15}.material-generate-page .material-selected-worker{min-height:42px;padding:6px 8px}.material-generate-page .material-form-grid{grid-template-columns:minmax(200px,1fr) minmax(136px,.64fr) minmax(136px,.7fr);grid-template-rows:repeat(2,minmax(42px,auto));gap:8px}.material-generate-page .upload-dropzone{grid-column:1;grid-row:1 / span 2;min-height:96px}.material-generate-page .field-card{grid-column:2;grid-row:1}.material-generate-page .toggle-card{grid-column:2;grid-row:2}.material-generate-page .form-actions{grid-column:3;grid-row:1 / span 2;grid-template-columns:1fr;align-content:center}.material-generate-page .field-card,.material-generate-page .toggle-card,.material-generate-page .upload-dropzone{min-height:42px;padding:8px}.material-generate-page .field-card input{height:32px;min-height:32px}.material-generate-page .toggle-card small,.material-generate-page .upload-dropzone span{display:none}.material-generate-page .form-actions .primary-button,.material-generate-page .form-actions .ghost-button{min-height:34px;padding:0 8px;font-size:13px}.material-generate-page .material-progress-list{gap:6px}.material-generate-page .material-progress-row{grid-template-columns:20px minmax(92px,.85fr) minmax(112px,1fr) 36px;gap:6px;min-height:36px;padding:6px 8px}.material-generate-page .material-progress-row .progress-track{grid-column:auto}.material-generate-page .material-progress-row strong{font-size:12px}.material-generate-page .material-progress-row span{display:none}.material-generate-page .material-result-summary{padding:6px 8px;font-size:12px}.material-generate-page .material-gallery-panel{grid-column:1 / -1;grid-row:2;display:grid;grid-template-rows:auto minmax(0,1fr);gap:8px;min-height:0;padding:12px;overflow:hidden}.material-generate-page .material-gallery-toolbar{position:sticky;top:0;z-index:7;display:grid;gap:6px;min-width:0;padding-bottom:2px;background:var(--surface)}.material-generate-page .material-gallery-toolbar .panel-title-row{min-height:30px}.material-generate-page .material-gallery-toolbar .eyebrow{display:none}.material-generate-page .material-gallery-toolbar h2{margin:0;font-size:20px;line-height:1.15}.material-generate-page .material-filter-bar{display:grid;grid-template-columns:160px minmax(180px,1fr) minmax(150px,210px);gap:8px;min-height:40px;padding:6px 8px}.material-generate-page .material-filter-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.material-generate-page .material-filter-tabs button,.material-generate-page .material-group-search,.material-generate-page .material-group-select{min-height:30px;font-size:12px}.material-generate-page .material-gallery-meta{min-height:28px;padding:5px 8px}.material-selection-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;min-height:36px;padding:6px 8px;border:1px solid #e4e8f0;border-radius:8px;background:#fafbfe}.material-selection-toolbar.active{border-color:#5457e652;background:#eef0fe}.material-auto-crop-status{display:grid;gap:7px;margin:6px 0 8px;padding:8px 10px;border:1px solid rgba(47,107,255,.24);border-radius:8px;background:#f4f7ff;color:#3155a4;font-size:12px}.material-auto-crop-status.failed{border-color:#dc484852;background:#fff6f6;color:#b42318}.material-auto-crop-status-head{display:flex;align-items:center;gap:6px;min-width:0}.material-auto-crop-status-head strong{min-width:0;overflow-wrap:anywhere}.material-auto-crop-progress-track{height:5px;overflow:hidden;border-radius:99px;background:#2f6bff24}.material-auto-crop-progress-track span{display:block;height:100%;border-radius:inherit;background:#2f6bff;transition:width .2s ease}.material-auto-crop-failures{color:#8b1e1e}.material-auto-crop-failures summary{cursor:pointer;font-weight:800}.material-auto-crop-failures div{margin-top:3px;overflow-wrap:anywhere}.material-auto-crop-spinner{animation:material-auto-crop-spin .9s linear infinite}@keyframes material-auto-crop-spin{to{transform:rotate(360deg)}}.material-selection-toolbar>span{min-width:0;color:var(--muted);font-size:12px;font-weight:900;overflow-wrap:anywhere}.material-selection-actions{display:flex;flex:0 0 auto;align-items:center;gap:6px}.material-mode-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:10px;padding:4px;border:1px solid #e4e8f0;border-radius:8px;background:#f8fafc}.material-mode-switch button{min-width:0;min-height:34px;padding:0 10px;border:0;border-radius:6px;background:transparent;color:#64748b;font-size:12px;font-weight:900;cursor:pointer}.material-mode-switch button.active{background:#fff;color:var(--blue);box-shadow:0 8px 18px #0f172a14}.material-generate-page .material-mode-switch{align-self:stretch;flex:0 0 auto;min-height:42px;margin:0;box-sizing:border-box}.material-generate-page .material-mode-switch button{height:32px;min-height:32px;line-height:1;white-space:nowrap}.material-attendance-panel{display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,180px) auto;align-items:center;gap:10px;padding:10px;border:1px solid rgba(84,87,230,.22);border-radius:8px;background:linear-gradient(180deg,#fff,#eef0fe)}.material-attendance-panel>div{min-width:0;display:grid;gap:3px}.material-attendance-panel strong{color:var(--ink);font-size:14px;font-weight:900}.material-attendance-panel span{color:var(--muted);font-size:12px;font-weight:800}.material-generate-page .compact-date-card{min-height:54px;padding:8px 10px}.material-generate-page .compact-date-card input{min-height:24px;padding:0}.compact-material-button{min-height:30px;padding:0 9px;gap:5px;border-radius:7px;font-size:12px;white-space:nowrap}.material-generate-page .material-gallery-body{position:relative;min-height:0;height:100%;max-height:none;overflow-y:auto;overflow-x:hidden;padding:0 4px 4px 0;overscroll-behavior:contain}.material-generate-page .material-gallery-body .material-grid,.material-generate-page .material-group-list{max-height:none;overflow:visible}.material-generate-page .material-group-list{display:grid;align-content:start;gap:10px}.material-generate-page .material-suite{gap:8px;padding:8px}.material-generate-page .material-suite>header{padding-bottom:6px}.material-generate-page .material-suite .material-grid,.material-generate-page .material-flat-grid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px}.material-card.selectable{cursor:pointer;-webkit-user-select:none;user-select:none}.material-card.selectable:focus-visible{border-color:var(--blue);outline:2px solid rgba(84,87,230,.24);outline-offset:2px}.material-card.selectable.selected{border-color:var(--blue);background:#eef0fe;box-shadow:inset 0 0 0 2px #5457e62e}.material-card.auto-crop-processing{border-color:#2f6bff;box-shadow:inset 0 0 0 2px #2f6bff33}.material-card.auto-crop-failed{border-color:#d64545}.material-auto-crop-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:grid;place-items:center;align-content:center;gap:4px;background:#0f234e94;color:#fff;font-weight:800}.material-auto-crop-error{color:#b42318!important;white-space:normal!important;overflow-wrap:anywhere}.material-select-check{position:absolute;top:7px;right:7px;z-index:2;display:grid;width:24px;height:24px;place-items:center;border:1px solid rgba(84,87,230,.32);border-radius:999px;background:#fffffff0;color:transparent;box-shadow:0 6px 14px #0f172a1f}.material-card.selected .material-select-check{background:var(--blue);color:#fff}.material-selection-marquee{position:absolute;z-index:9;pointer-events:none;border:1px solid rgba(84,87,230,.72);border-radius:4px;background:#5457e629}@media (max-width: 1320px) and (min-width: 1181px){.material-generate-page .split-workspace{grid-template-columns:clamp(240px,20vw,290px) minmax(0,1fr);gap:12px}.material-generate-page .material-main-stack{grid-template-columns:minmax(380px,1fr) minmax(260px,.76fr)}.material-generate-page .material-form-grid{grid-template-columns:minmax(180px,1fr) minmax(120px,.64fr) minmax(124px,.7fr)}.material-generate-page .material-filter-bar{grid-template-columns:140px minmax(160px,1fr) minmax(136px,190px)}.compact-material-button{padding:0 5px;gap:4px;font-size:10px}}@media (max-width: 1180px){.material-generate-page{height:auto;min-height:0;overflow:visible}.material-generate-page .split-workspace{grid-template-columns:minmax(240px,300px) minmax(0,1fr);align-items:start;height:auto;overflow:visible}.material-generate-page .picker-slot,.material-generate-page .picker-panel,.material-generate-page .material-main-stack{height:auto;max-height:none;overflow:visible}.material-generate-page .worker-list{max-height:300px}.material-generate-page .material-main-stack{grid-template-columns:1fr;grid-template-rows:none}.material-generate-page .material-prepare-card,.material-generate-page .material-progress-card{max-height:none}.material-generate-page .material-form-grid{grid-template-columns:minmax(220px,1fr) minmax(180px,.78fr);grid-template-rows:auto auto auto}.material-generate-page .upload-dropzone{grid-column:1;grid-row:1 / span 3;min-height:118px}.material-generate-page .field-card{grid-column:2;grid-row:1}.material-generate-page .toggle-card{grid-column:2;grid-row:2}.material-generate-page .form-actions{grid-column:2;grid-row:3;grid-template-columns:repeat(2,minmax(0,1fr))}.material-generate-page .toggle-card small,.material-generate-page .upload-dropzone span,.material-generate-page .material-progress-row span{display:block}.material-generate-page .material-progress-row{grid-template-columns:22px minmax(0,1fr) 42px;min-height:44px}.material-generate-page .material-progress-row .progress-track{grid-column:2 / -1}.material-generate-page .material-gallery-panel{grid-row:auto;min-height:520px}.material-generate-page .material-gallery-body{height:clamp(340px,52vh,470px);max-height:min(52vh,470px)}}@media (max-width: 900px){.material-generate-page .split-workspace{grid-template-columns:1fr}.material-generate-page .worker-list{max-height:280px}.material-generate-page .material-form-grid,.material-generate-page .material-filter-bar{grid-template-columns:1fr}.material-generate-page .upload-dropzone,.material-generate-page .field-card,.material-generate-page .toggle-card,.material-generate-page .form-actions{grid-column:auto;grid-row:auto}.material-generate-page .material-selection-toolbar{align-items:stretch;flex-direction:column;gap:6px}.material-selection-actions{display:grid;width:100%;grid-template-columns:repeat(3,minmax(0,1fr))}.compact-material-button{width:100%}.material-generate-page .material-gallery-toolbar{gap:6px}.material-generate-page .material-filter-bar{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1fr);gap:6px;padding:6px}.material-generate-page .material-filter-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.material-generate-page .material-group-search{min-width:0}.material-generate-page .material-group-select{grid-column:1 / -1}.material-generate-page .material-gallery-meta{min-height:28px;padding:4px 6px}.material-selection-toolbar{min-height:0;padding:5px 6px}.material-selection-toolbar>span{line-height:1.25}.compact-material-button{min-height:28px;padding:0 6px;font-size:11px}}@media (max-width: 560px){.material-generate-page .picker-slot,.material-generate-page .material-prepare-card,.material-generate-page .material-progress-card,.material-generate-page .material-gallery-panel{padding:10px}.material-generate-page .form-actions,.material-selection-actions{grid-template-columns:1fr}.material-selection-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.compact-material-button{gap:3px;min-height:28px;padding:0 4px}.compact-material-button svg{display:none}.material-generate-page .material-gallery-panel{min-height:460px}.material-generate-page .material-gallery-body{height:clamp(340px,52vh,430px);max-height:min(52vh,430px)}.material-generate-page .material-suite .material-grid,.material-generate-page .material-flat-grid{grid-template-columns:repeat(auto-fill,minmax(102px,1fr))}}@media (min-width: 901px){.material-generate-page .material-gallery-toolbar{grid-template-columns:minmax(128px,auto) minmax(0,1fr);grid-template-areas:"gallery-head gallery-filter" "gallery-meta gallery-select";align-items:center;gap:6px 8px}.material-generate-page .material-gallery-toolbar>.panel-title-row{grid-area:gallery-head}.material-generate-page .material-filter-bar{grid-area:gallery-filter;grid-template-columns:132px minmax(150px,1fr) minmax(126px,180px);min-height:34px;padding:4px 6px}.material-generate-page .material-gallery-meta{grid-area:gallery-meta;min-height:30px;padding:4px 6px}.material-selection-toolbar{grid-area:gallery-select;justify-content:flex-end;min-height:30px;padding:4px 6px}.material-selection-toolbar>span{flex:0 1 auto;white-space:nowrap}.material-selection-actions{flex-wrap:nowrap;gap:5px}.compact-material-button{min-height:28px;padding:0 7px;font-size:11px}.compact-material-button span{display:inline}.material-generate-page .material-filter-tabs button,.material-generate-page .material-group-search,.material-generate-page .material-group-select{min-height:28px}}@media (min-width: 1181px) and (max-height: 760px){.material-generate-page{height:calc(100vh - 92px);min-height:0}.material-generate-page .material-main-stack{grid-template-rows:minmax(168px,178px) minmax(0,1fr);gap:10px}.material-generate-page .material-prepare-card,.material-generate-page .material-progress-card{gap:6px;max-height:178px;padding:10px}.material-generate-page .material-prepare-card h2,.material-generate-page .material-progress-card h2,.material-generate-page .material-gallery-toolbar h2{font-size:18px}.material-generate-page .material-selected-worker{min-height:34px;padding:4px 7px}.material-generate-page .material-selected-worker svg,.material-generate-page .material-selected-worker span{display:none}.material-generate-page .material-form-grid{grid-template-rows:repeat(2,minmax(36px,auto));gap:6px}.material-generate-page .upload-dropzone{min-height:74px}.material-generate-page .field-card,.material-generate-page .toggle-card,.material-generate-page .upload-dropzone{padding:6px 8px}.material-generate-page .field-card input{height:28px;min-height:28px}.material-generate-page .form-actions .primary-button,.material-generate-page .form-actions .ghost-button{min-height:30px}.material-generate-page .material-progress-row{min-height:31px;padding:4px 7px}.material-generate-page .material-result-summary{display:none}.material-generate-page .material-gallery-panel{padding:10px}}.material-generate-page .worker-list{display:flex;flex-direction:column;align-content:stretch}.material-generate-page .worker-row,.material-generate-page .worker-list>.empty-state{flex:0 0 auto}.material-generate-page .picker-pagination.worker-pagination{position:sticky;bottom:0;z-index:3;display:flex;flex:0 0 auto;align-items:center;justify-content:center;gap:8px;margin-top:auto;padding:8px 0 2px;border-top:1px solid rgba(207,218,231,.72);background:linear-gradient(180deg,#ffffffeb,#fff 44%)}@media (min-width: 1181px){.material-generate-page .material-main-stack{grid-template-rows:minmax(228px,248px) minmax(0,1fr)}.material-generate-page .material-prepare-card,.material-generate-page .material-progress-card{max-height:none;min-height:228px;overflow:hidden}.material-generate-page .material-prepare-card{grid-template-rows:auto auto minmax(0,1fr) auto}.material-generate-page .material-progress-card{grid-template-rows:auto minmax(0,1fr) auto}.material-generate-page .material-selected-worker{min-height:40px}.material-generate-page .material-selected-worker svg{display:block}.material-generate-page .material-selected-worker span,.material-generate-page .toggle-card small,.material-generate-page .upload-dropzone span{display:block}.material-generate-page .material-form-grid{grid-template-columns:minmax(220px,1fr) minmax(150px,.68fr) minmax(150px,.72fr);grid-template-rows:repeat(2,minmax(50px,1fr));gap:10px;min-height:118px}.material-generate-page .upload-dropzone{min-height:118px}.material-generate-page .field-card,.material-generate-page .toggle-card,.material-generate-page .upload-dropzone{padding:10px}.material-generate-page .field-card input{height:34px;min-height:34px}.material-generate-page .form-actions{gap:8px}.material-generate-page .form-actions .primary-button,.material-generate-page .form-actions .ghost-button{min-height:36px}.material-generate-page .material-progress-list{display:grid;gap:8px;min-height:0;overflow:visible}.material-generate-page .material-progress-row{grid-template-columns:22px minmax(96px,.78fr) minmax(118px,1fr) 42px;min-height:40px;padding:7px 9px}.material-generate-page .material-progress-row span{display:block;font-size:11px;line-height:1.25}.material-generate-page .material-result-summary{display:flex;flex-wrap:wrap;gap:8px}}@media (min-width: 1181px) and (max-height: 760px){.material-generate-page{height:calc(100vh - 92px)}.material-generate-page .material-main-stack{grid-template-rows:minmax(218px,230px) minmax(0,1fr)}.material-generate-page .material-prepare-card,.material-generate-page .material-progress-card{min-height:218px;max-height:none;padding:11px}.material-generate-page .material-selected-worker{min-height:38px}.material-generate-page .material-selected-worker span{display:block}.material-generate-page .material-form-grid{grid-template-rows:repeat(2,minmax(48px,1fr));min-height:112px;gap:8px}.material-generate-page .upload-dropzone{min-height:112px}.material-generate-page .field-card,.material-generate-page .toggle-card,.material-generate-page .upload-dropzone{padding:8px}.material-generate-page .field-card input{height:32px;min-height:32px}.material-generate-page .form-actions .primary-button,.material-generate-page .form-actions .ghost-button{min-height:34px}.material-generate-page .material-progress-row{min-height:38px;padding:6px 8px}.material-generate-page .material-progress-row span{display:block}.material-generate-page .material-result-summary{display:flex;min-height:28px;padding:5px 8px}}a:focus-visible,button:focus-visible,[role=menuitem]:focus-visible,.nav-item:focus-visible,.worker-row:focus-visible,.batch-row:focus-visible,.task-row:focus-visible,.combo-option:focus-visible,.calendar-day:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:var(--r-sm)}.sidebar a:focus-visible,.nav-item:focus-visible{outline-color:var(--brand)}.nav-list,.worker-list,.batch-list,.task-rows,.alert-list,.combo-popover,.view-host{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.worker-list::-webkit-scrollbar,.batch-list::-webkit-scrollbar,.task-rows::-webkit-scrollbar,.alert-list::-webkit-scrollbar,.combo-popover::-webkit-scrollbar,.view-host::-webkit-scrollbar{width:10px;height:10px}.worker-list::-webkit-scrollbar-thumb,.batch-list::-webkit-scrollbar-thumb,.task-rows::-webkit-scrollbar-thumb,.alert-list::-webkit-scrollbar-thumb,.combo-popover::-webkit-scrollbar-thumb,.view-host::-webkit-scrollbar-thumb{border:3px solid transparent;border-radius:999px;background-clip:padding-box;background-color:var(--line-strong)}.worker-list::-webkit-scrollbar-thumb:hover,.batch-list::-webkit-scrollbar-thumb:hover,.task-rows::-webkit-scrollbar-thumb:hover,.alert-list::-webkit-scrollbar-thumb:hover,.combo-popover::-webkit-scrollbar-thumb:hover,.view-host::-webkit-scrollbar-thumb:hover{background-color:#b7c0cf}.nav-list::-webkit-scrollbar{width:8px}.nav-list::-webkit-scrollbar-thumb{border-radius:999px;background-color:var(--sidebar-line)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.primary-button:hover:not(:disabled){transform:none}}.project-list-panel{display:grid;grid-template-rows:auto auto auto 1fr auto;gap:14px;height:100%;overflow:hidden}.project-list-header{display:flex;align-items:center;justify-content:space-between}.project-search{position:relative;display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg)}.project-search svg{flex-shrink:0;color:var(--muted)}.project-search input{flex:1;min-width:0;border:none;background:transparent;font-size:14px;outline:none}.project-list-body{display:grid;gap:6px;overflow-y:auto;min-height:0}.project-list-item{display:grid;gap:4px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--bg);text-align:left;cursor:pointer;transition:all .15s}.project-list-item:hover{border-color:var(--brand);background:var(--brand-soft)}.project-list-item.active{border-color:var(--brand);background:var(--brand-soft);box-shadow:var(--ring)}.project-list-item strong{display:block;font-size:14px;font-weight:600;color:var(--ink)}.project-list-item span{display:block;font-size:12px;color:var(--muted)}.project-list-empty{padding:40px 20px;text-align:center;color:var(--muted)}.project-list-pagination{display:flex;align-items:center;justify-content:center;gap:12px;padding-top:8px;border-top:1px solid var(--line)}.project-list-pagination span{font-size:13px;font-weight:500;color:var(--muted)}.batch-item-list{display:grid;gap:10px}.batch-item-empty{padding:40px 20px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:8px}.batch-item-card{border:1px solid var(--line);border-radius:8px;background:var(--bg);overflow:hidden;transition:border-color .15s}.batch-item-card.processing{border-color:var(--brand)}.batch-item-card.success{border-color:var(--teal)}.batch-item-card.failed{border-color:var(--red)}.batch-item-card.action-required{border-color:var(--amber)}.batch-item-header{display:grid;grid-template-columns:40px 1fr auto auto;gap:12px;align-items:center;padding:12px;cursor:pointer;transition:background .15s}.batch-item-header:hover{background:var(--row-hover)}.batch-item-header:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.batch-item-avatar{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--brand-soft);color:var(--brand);font-weight:600;font-size:16px}.batch-item-info{display:grid;gap:4px;min-width:0}.batch-item-info strong{font-size:14px;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.batch-item-info span{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.batch-item-status{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500}.batch-item-card.processing .batch-item-status{color:var(--brand)}.batch-item-card.success .batch-item-status{color:var(--teal)}.batch-item-card.failed .batch-item-status{color:var(--red)}.batch-item-card.action-required .batch-item-status{color:var(--amber)}.batch-item-toggle{flex-shrink:0}.batch-item-body{display:grid;gap:14px;padding:0 12px 12px;border-top:1px solid var(--line)}.batch-item-config{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-top:12px}.batch-item-progress{display:grid;gap:8px}.batch-item-progress span{font-size:13px;color:var(--muted)}.batch-item-issue{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;align-items:start;padding:10px;border:1px solid rgba(220,38,38,.24);border-radius:6px;background:#fff4f3;color:var(--red);font-size:13px;line-height:1.5}.batch-item-issue.action-required{border-color:#e08a1e52;background:var(--amber-soft);color:#9a5b0d}.progress-bar{height:6px;border-radius:3px;background:var(--line);overflow:hidden}.progress-fill{height:100%;background:var(--brand);transition:width .3s ease}.batch-item-actions{display:flex;gap:8px;align-items:center}.batch-item-success{display:flex;align-items:center;gap:6px;color:var(--teal);font-size:13px;font-weight:500}.batch-redesign{height:calc(100vh - 132px);min-height:600px;overflow:hidden}.batch-redesign .split-workspace{grid-template-columns:minmax(280px,340px) minmax(0,1fr);height:100%;min-height:0;align-items:stretch}.batch-redesign .split-workspace>aside.panel{height:100%;overflow:hidden;display:flex;flex-direction:column}.batch-main-stack{display:grid;grid-template-rows:auto minmax(0,1fr);gap:18px;min-width:0;overflow-y:auto;min-height:0}.batch-upload-card{display:flex;flex-direction:column;gap:8px;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-sm)}.batch-upload-card .compact-title-row{min-height:28px}.batch-upload-fields{display:grid;gap:12px}.batch-upload-split{grid-template-columns:minmax(380px,1.35fr) minmax(300px,1fr);align-items:stretch}.batch-upload-left{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto 1fr;gap:8px;min-width:0}.batch-upload-left .upload-dropzone{min-height:72px;padding:10px 12px}.batch-setting-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-width:0}.batch-upload-actions{display:flex;gap:8px;flex-wrap:wrap;align-self:end;width:100%}.batch-upload-actions .primary-button:first-child{flex:1 1 100%;width:100%}.batch-upload-right{display:grid;gap:8px;align-content:start;min-width:0}.batch-range-field{display:flex;align-items:stretch;min-width:0}.batch-range-field .date-range-field{width:100%}.batch-upload-card .field-card,.batch-upload-card .toggle-card{min-height:0;gap:4px;padding:5px 9px}.batch-upload-card .field-card-label,.batch-upload-card .toggle-card small{font-size:11px}.batch-upload-card .field-card input{min-height:30px;height:30px;font-size:13px}.batch-upload-card .toggle-card{align-items:center}.batch-upload-card .date-picker-label{font-size:11px}.batch-upload-card .date-range-inputs{min-height:32px;height:32px;grid-template-columns:minmax(92px,1fr) auto minmax(92px,1fr);padding:0 44px 0 6px}.batch-upload-card .date-range-inputs.display{min-height:62px;height:auto;padding:7px 44px 7px 8px}.batch-upload-card .date-range-input{height:28px;padding:0 2px;font-size:12px}.batch-upload-card .time-window-fields{align-content:start}.batch-upload-card .time-window-fields.compact{gap:6px;padding:8px 10px;background:#fafbfe}.batch-upload-card .time-window-title{font-size:12px}.batch-upload-card .time-window-fields label span{font-size:11px}.batch-upload-card .time-window-fields input[type=time]{min-height:32px;height:32px;padding:0 9px;font-size:13px}.batch-upload-card .upload-dropzone strong{font-size:13px}.batch-upload-card .upload-dropzone span{font-size:11px}.batch-list-panel{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;overflow:hidden}.batch-list-panel .batch-item-list{min-height:0}.batch-date-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.batch-time-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}@media (max-width: 1200px){.batch-time-grid{grid-template-columns:repeat(2,1fr)}.batch-upload-split{grid-template-columns:minmax(0,1fr)}}@media (max-width: 768px){.batch-upload-grid,.batch-upload-left{grid-template-columns:1fr}.batch-upload-left .upload-dropzone{grid-row:auto}.batch-date-grid,.batch-time-grid,.batch-setting-grid,.batch-upload-card .time-window-fields.compact{grid-template-columns:1fr}}@media (max-width: 900px){.batch-redesign{height:auto;min-height:0;overflow:visible}.batch-redesign .split-workspace{grid-template-columns:minmax(0,1fr);height:auto}.batch-redesign .split-workspace>aside.panel,.batch-list-panel{height:auto;min-height:0}.batch-main-stack{overflow:visible}}@media (max-width: 560px){.batch-item-header{grid-template-columns:40px minmax(0,1fr) auto}.batch-item-status{grid-column:2;font-size:12px}.batch-item-toggle{grid-column:3;grid-row:1 / span 2}.batch-item-config,.batch-time-fields{grid-template-columns:minmax(0,1fr)}}.batch-time-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}@media (min-width: 768px){.batch-time-fields{grid-template-columns:repeat(4,1fr)}}.compact{font-size:13px}.compact .primary-button,.compact .ghost-button{padding:8px 14px;font-size:13px}@media (max-width: 900px){.app-shell{height:auto;min-height:100vh;overflow:visible}.main-shell,.view-host{overflow:visible}}.material-gallery-title-actions,.material-confirmation-guide-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px}.material-confirmation-guide{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border:1px solid rgba(245,158,11,.32);border-radius:9px;background:#fffbeb}.material-confirmation-guide.complete{border-color:#10b9814d;background:#ecfdf5}.material-confirmation-guide>div:first-child{display:grid;min-width:0;gap:2px}.material-confirmation-guide strong{color:#92400e;font-size:13px}.material-confirmation-guide.complete strong{color:#047857}.material-confirmation-guide span{color:var(--muted);font-size:12px;font-weight:700}.material-problem-guide{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;border:1px solid rgba(220,38,38,.34);border-radius:9px;background:#fef2f2;box-shadow:inset 4px 0 #dc2626}.material-problem-guide>div{display:grid;min-width:0;gap:3px}.material-problem-guide strong,.material-problem-reason{color:#b91c1c}.material-problem-guide span,.material-problem-source,.material-problem-reason{font-size:12px;overflow-wrap:anywhere}.material-problem-source{color:#7f1d1d;font-weight:800}.status-pill.problem{border-color:#dc26264d;background:#fef2f2;color:#b91c1c}.material-generate-page .confirmation-tabs{grid-template-columns:repeat(auto-fit,minmax(88px,1fr))}.material-generate-page .confirmation-tabs .problem-filter-tab{color:#b91c1c}.material-generate-page .confirmation-tabs .problem-filter-tab.active{border-color:#dc262666;background:#fee2e2;color:#991b1b}.material-confirm-badge{position:absolute;top:8px;left:8px;z-index:3;padding:3px 7px;border:1px solid rgba(245,158,11,.28);border-radius:999px;background:#fffbebf5;color:#b45309;font-size:10px;font-weight:900;line-height:1.2;box-shadow:0 4px 10px #0f172a14}.material-confirm-badge.confirmed{border-color:#10b98147;background:#ecfdf5f5;color:#047857}.material-confirm-badge.problem{border-color:#dc262657;background:#fee2e2f7;color:#991b1b}.material-card.problem{border-color:#ef4444;background:#fff7f7;box-shadow:0 0 0 2px #ef44442e,0 10px 22px #7f1d1d1f}.material-card.problem .material-thumb{outline:3px solid rgba(239,68,68,.48);outline-offset:-3px}@media (max-width: 760px){.material-problem-guide{align-items:stretch;flex-direction:column}.material-problem-guide .primary-button{width:100%}}body.material-gallery-fullscreen-open{overflow:hidden}.material-generate-page .material-gallery-panel.is-fullscreen{position:fixed;top:12px;right:12px;bottom:12px;left:12px;z-index:130;grid-column:auto;grid-row:auto;width:auto;height:auto;max-height:none;min-height:0;padding:14px;border:1px solid rgba(84,87,230,.28);background:var(--surface);box-shadow:0 0 0 100vmax #0f172a9e,0 24px 70px #0f172a57}.material-generate-page .material-gallery-panel.is-fullscreen .material-gallery-toolbar{position:static;display:flex;flex-direction:column;align-items:stretch}.material-generate-page .material-gallery-panel.is-fullscreen .material-filter-bar{grid-template-columns:minmax(230px,.9fr) minmax(170px,.65fr) minmax(360px,1.5fr) minmax(210px,.9fr)}.material-generate-page .material-gallery-panel.is-fullscreen .material-gallery-body{height:auto;min-height:0;max-height:none}.material-gate-dialog{max-width:580px}.material-confirmation-warning{display:flex;align-items:center;gap:8px;margin-top:8px;padding:9px 11px;border:1px solid rgba(245,158,11,.28);border-radius:8px;background:#fffbeb;color:#92400e;font-size:12px;font-weight:800}.material-confirmation-warning svg{flex:0 0 auto}.material-gate-blocked{margin:10px 0 0;padding:9px 10px;border:1px solid rgba(220,38,38,.2);border-radius:8px;background:#fef2f2;color:#b91c1c;font-weight:800}.material-gate-actions{flex-wrap:wrap}@media (max-width: 1180px){.material-generate-page .material-gallery-panel.is-fullscreen .material-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.material-generate-page .material-gallery-panel.is-fullscreen .material-filter-bar>:last-child{grid-column:1 / -1}}@media (max-width: 720px){.material-confirmation-guide{align-items:stretch;flex-direction:column}.material-confirmation-guide-actions{justify-content:flex-start}.material-generate-page .material-gallery-panel.is-fullscreen{top:0;right:0;bottom:0;left:0;padding:10px;border:0;border-radius:0}.material-generate-page .material-gallery-panel.is-fullscreen .material-filter-bar{grid-template-columns:minmax(0,1fr)}.material-generate-page .material-gallery-panel.is-fullscreen .material-filter-bar>:last-child{grid-column:auto}}.material-generate-page .material-main-stack{grid-template-rows:minmax(104px,116px) minmax(0,1fr);gap:10px}.material-generate-page .material-prepare-card{grid-template-rows:auto minmax(38px,1fr) auto;min-height:0;max-height:116px;gap:6px;padding:8px 10px}.material-generate-page .material-prepare-card .panel-title-row{min-height:26px}.material-generate-page .material-prepare-card h2{font-size:17px}.material-generate-page .material-form-grid{display:grid;grid-template-columns:minmax(280px,460px) max-content max-content;grid-template-rows:38px;align-items:center;justify-content:start;gap:10px;min-height:38px}.material-generate-page .material-upload-source{grid-column:1;grid-row:1;min-width:0}.material-generate-page .material-upload-source>.archive-dropzone--button{width:100%;height:38px;min-height:38px;justify-content:flex-start;overflow:hidden;border-color:#c8d3e3;background:#fff}.material-generate-page .material-upload-source>.archive-dropzone--button strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-generate-page .material-upload-settings{grid-column:2;grid-row:1;display:flex;align-items:center;gap:12px;min-width:max-content;min-height:38px}.material-generate-page .material-season-field{display:flex;align-items:center;gap:8px;min-width:0;color:#42526b;font-size:13px;font-weight:700;white-space:nowrap}.material-generate-page .material-season-field select{width:108px;height:38px;min-height:38px;padding:0 30px 0 10px;border:1px solid #c8d3e3;border-radius:7px;background-color:#fff;color:#26364d;font-weight:600}.material-generate-page .material-crop-toggle{display:flex;align-items:center;gap:6px;min-width:max-content;min-height:38px;padding:0 2px;cursor:pointer}.material-generate-page .material-crop-toggle input{flex:0 0 auto;width:16px;height:16px;margin:0;accent-color:var(--brand)}.material-generate-page .material-crop-toggle>span{min-width:0;color:#42526b;font-size:13px;font-weight:600;white-space:nowrap}.material-generate-page .material-upload-actions{grid-column:3;grid-row:1;display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap;gap:5px;min-width:max-content;min-height:38px;justify-self:start;padding-left:10px;border-left:1px solid #d7deea}.material-generate-page .material-upload-actions .primary-button,.material-generate-page .material-upload-actions .ghost-button,.material-generate-page .material-upload-actions .icon-button{min-height:36px;height:36px}.material-generate-page .material-upload-actions .primary-button,.material-generate-page .material-upload-actions .ghost-button{width:auto;padding-inline:10px;white-space:nowrap}.material-generate-page .material-upload-actions .icon-button{flex:0 0 36px;width:36px}.material-generate-page .material-gallery-body{min-height:160px;overflow-y:auto}@media (min-width: 901px) and (max-height: 820px){.material-generate-page{height:auto;min-height:calc(100vh - 92px);overflow:visible}.material-generate-page .split-workspace{height:auto;min-height:calc(100vh - 112px);align-items:start;overflow:visible}.material-generate-page .picker-slot{position:sticky;top:0;height:calc(100vh - 112px)}.material-generate-page .material-main-stack{height:auto;min-height:calc(100vh - 112px);grid-template-rows:104px minmax(520px,auto);overflow:visible}.material-generate-page .material-prepare-card{max-height:104px}.material-generate-page .material-gallery-panel{min-height:520px}}@media (max-width: 900px){.material-generate-page .material-main-stack{grid-template-rows:auto auto}.material-generate-page .material-prepare-card{max-height:none}.material-generate-page .material-form-grid{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:repeat(3,38px)}.material-generate-page .material-upload-source{grid-column:1 / -1;grid-row:1}.material-generate-page .material-upload-settings{grid-column:1;grid-row:2;justify-self:start}.material-generate-page .material-upload-actions{grid-column:2;grid-row:2;justify-content:flex-end}}@media (min-width: 901px) and (max-width: 1100px){.material-generate-page .material-main-stack{grid-template-rows:minmax(148px,auto) minmax(0,1fr)}.material-generate-page .material-prepare-card{max-height:none}.material-generate-page .material-form-grid{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:38px 38px}.material-generate-page .material-upload-source{grid-column:1 / -1;grid-row:1}.material-generate-page .material-upload-settings{grid-column:1;grid-row:2;justify-self:start}.material-generate-page .material-upload-actions{grid-column:2;grid-row:2}}@media (max-width: 560px){.material-generate-page .material-form-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(3,38px)}.material-generate-page .material-upload-settings,.material-generate-page .material-upload-actions{grid-column:1;justify-self:stretch}.material-generate-page .material-upload-settings{grid-row:2}.material-generate-page .material-upload-actions{grid-row:3;justify-content:flex-end;padding-left:0;border-left:0}.material-generate-page .material-upload-actions .primary-button{flex:1 1 auto}}.material-generate-page .material-gallery-toolbar,.material-generate-page .material-gallery-panel.is-fullscreen .material-gallery-toolbar{position:static;display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"gallery-head" "gallery-confirm" "gallery-review" "gallery-filter" "gallery-select";align-items:stretch;gap:8px;padding-bottom:0}.material-generate-page .material-gallery-toolbar>.panel-title-row{grid-area:gallery-head;min-height:34px;padding:0 2px 6px;border-bottom:1px solid #edf0f5}.material-generate-page .material-gallery-toolbar .material-confirmation-guide{grid-area:gallery-confirm;min-width:0}.material-generate-page .material-review-workspace{grid-area:gallery-review;display:grid;grid-template-columns:minmax(130px,.55fr) minmax(360px,2.4fr) auto;align-items:center;gap:7px;min-width:0;padding:9px 10px;border-block:1px solid #dfe4ec;background:#f8fafc}.material-review-head,.material-review-actions,.material-review-navigation,.material-review-commands{display:flex;align-items:center}.material-review-head,.material-review-actions{justify-content:space-between;gap:12px}.material-review-head{align-self:stretch;align-content:center}.material-review-head>div,.material-review-figure figcaption{display:grid;min-width:0;gap:3px}.material-review-head strong,.material-review-figure figcaption strong{color:#172033;font-size:13px;line-height:1.3}.material-review-head span,.material-review-figure figcaption span{min-width:0;overflow:hidden;color:#697386;font-size:12px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.material-review-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));height:88px;min-width:0;border:1px solid #dfe4ec;background:#fff}.material-review-figure{display:grid;grid-template-columns:82px minmax(0,1fr);grid-template-rows:74px;align-items:center;gap:8px;min-width:0;margin:0;padding:7px}.material-review-figure+.material-review-figure{border-left:1px solid #dfe4ec}.material-review-figure figcaption{grid-column:2;grid-row:1}.material-review-image-button,.material-review-image-placeholder{position:relative;display:grid;width:100%;min-width:0;min-height:0;height:74px;place-items:center;overflow:hidden;border:0;border-radius:4px;background:#151922}.material-review-image-button{grid-column:1;grid-row:1;padding:0;cursor:zoom-in}.material-review-image-button img{width:100%;height:100%;max-height:74px;object-fit:contain}.material-review-image-button>svg{position:absolute;right:9px;bottom:9px;box-sizing:content-box;padding:7px;border-radius:4px;background:#0a0d12c2;color:#fff}.material-review-image-placeholder{gap:8px;align-content:center;background:#eef1f5;color:#778195;font-size:12px;font-weight:800}.material-review-actions{min-height:74px;align-items:flex-end;flex-direction:column;justify-content:center;gap:7px}.material-review-navigation,.material-review-commands{gap:8px}.material-review-navigation strong{min-width:48px;color:#4f596b;font-size:12px;text-align:center}.material-review-confirmed{display:inline-flex;align-items:center;gap:6px;color:#167451;font-size:12px;font-weight:900}.material-generate-page .material-card.reviewing{box-shadow:0 0 0 3px #f0a328}.material-generate-page .material-card .material-thumb{position:relative}.material-generate-page .material-card .material-thumb img{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;min-width:0;min-height:0;max-width:100%;max-height:100%;object-fit:contain;object-position:center}.material-image-preview{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1300;display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px;padding:14px 18px 20px;background:#080b10f0;color:#fff}.material-image-preview>header{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:16px}.material-image-preview>header>div{display:grid;min-width:0;gap:3px}.material-image-preview>header strong,.material-image-preview>header span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-image-preview>header strong{font-size:15px}.material-image-preview>header span{color:#c5ccd8;font-size:12px}.material-image-preview .icon-button{flex:0 0 auto;border-color:#646d7d;background:#202630;color:#fff}.material-image-preview>img{width:100%;height:100%;min-width:0;min-height:0;object-fit:contain}.material-generate-page .material-filter-bar,.material-generate-page .material-gallery-panel.is-fullscreen .material-filter-bar{grid-area:gallery-filter;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.7fr) minmax(0,1.45fr) minmax(0,1fr);align-items:end;gap:10px;min-width:0;min-height:0;padding:9px 10px;border:1px solid #e4e8f0;border-radius:10px;background:#f7f8fc}.material-generate-page .material-filter-group{display:grid;grid-template-rows:auto minmax(30px,auto);align-content:end;gap:5px;min-width:0}.material-generate-page .material-filter-label{color:#667085;font-size:11px;font-weight:900;line-height:1}.material-generate-page .material-filter-group .material-filter-tabs{min-width:0}.material-generate-page .season-filter-group .material-filter-tabs{grid-template-columns:repeat(5,minmax(0,1fr))}.material-generate-page .material-filter-search-row{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;min-width:0}.material-generate-page .material-filter-search-row.grouped{grid-template-columns:minmax(140px,1fr) minmax(120px,.72fr)}.material-generate-page .material-filter-search-row .material-group-search,.material-generate-page .material-filter-search-row .material-group-select{width:100%;min-width:0}.material-generate-page .material-selection-toolbar{grid-area:gallery-select;justify-content:space-between;min-height:38px;padding:5px 8px}.material-generate-page .material-selection-summary{display:flex;min-width:0;align-items:center;gap:10px}.material-generate-page .material-selection-summary>span{min-width:0;color:var(--muted);font-size:12px;font-weight:900;white-space:nowrap}.material-generate-page .material-selection-summary .material-gallery-pager{flex:0 0 auto}.material-generate-page .material-selection-actions{flex:1 1 auto;min-width:0;flex-wrap:wrap;justify-content:flex-end}.material-generate-page .material-gallery-panel{container-type:inline-size}@container (max-width: 1180px){.material-generate-page .material-selection-toolbar{align-items:stretch;flex-direction:column}.material-generate-page .material-selection-summary,.material-generate-page .material-selection-actions{width:100%}.material-generate-page .material-selection-actions{flex-wrap:nowrap;justify-content:flex-start}.material-generate-page .material-selection-actions .material-group-select{flex:1 1 180px;min-width:150px}}@container (max-width: 760px){.material-generate-page .material-selection-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.material-generate-page .material-selection-actions .material-group-select{grid-column:1 / -1;width:100%}}@media (max-width: 1320px) and (min-width: 721px){.material-generate-page .material-filter-bar,.material-generate-page .material-gallery-panel.is-fullscreen .material-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 900px){.material-generate-page .material-review-workspace{grid-template-columns:minmax(0,1fr)}.material-review-head,.material-review-actions{min-height:34px}.material-review-actions{align-items:center;flex-direction:row;justify-content:space-between}.material-generate-page .material-selection-summary{width:100%;justify-content:space-between}.material-generate-page .material-selection-summary>span{white-space:normal}}@media (max-width: 720px){.material-generate-page .material-review-workspace{padding:7px}.material-review-compare{grid-template-columns:repeat(2,minmax(0,1fr))}.material-review-figure{grid-template-columns:72px minmax(0,1fr);grid-template-rows:68px;padding:6px}.material-review-figure+.material-review-figure{border-top:0;border-left:1px solid #dfe4ec}.material-review-image-button img{max-height:68px}.material-review-image-button,.material-review-image-placeholder{height:68px}.material-review-actions{align-items:stretch;flex-direction:column}.material-review-navigation,.material-review-commands{justify-content:space-between}.material-review-commands>button{flex:1 1 0}.material-image-preview{padding:10px 10px 16px}.material-generate-page .material-filter-bar,.material-generate-page .material-gallery-panel.is-fullscreen .material-filter-bar{grid-template-columns:minmax(0,1fr);padding:8px}.material-generate-page .material-filter-search-row.grouped{grid-template-columns:minmax(0,1fr)}.material-generate-page .material-confirmation-guide-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.material-generate-page .material-selection-summary{align-items:flex-start;flex-direction:column;gap:5px}}
