diff --git a/qimingclaw/crates/agent-electron-client/embedded/sgrobot-digital/src/index.css b/qimingclaw/crates/agent-electron-client/embedded/sgrobot-digital/src/index.css index d9794972..44039237 100644 --- a/qimingclaw/crates/agent-electron-client/embedded/sgrobot-digital/src/index.css +++ b/qimingclaw/crates/agent-electron-client/embedded/sgrobot-digital/src/index.css @@ -2171,10 +2171,18 @@ .de-workday-result-summary { margin: 0; color: #173550; font-size: 13px; line-height: 1.55; } .de-artifact-pills { display: flex; flex-wrap: wrap; gap: 8px; } .de-artifact-source-list { display: grid; gap: 8px; max-height: 320px; overflow-y: auto; padding-right: 4px; } -.de-artifact-source-row { display: grid; grid-template-columns: minmax(120px, 1fr) minmax(88px, 140px); gap: 4px 10px; align-items: center; padding: 9px 10px; border-radius: 8px; border: 1px solid rgba(79,172,254,0.12); background: rgba(244,250,255,0.62); } +.de-artifact-source-row { display: grid; grid-template-columns: minmax(120px, 1fr) minmax(88px, 140px) auto; gap: 4px 10px; align-items: center; padding: 9px 10px; border-radius: 8px; border: 1px solid rgba(79,172,254,0.12); background: rgba(244,250,255,0.62); } .de-artifact-source-row strong { min-width: 0; color: var(--de-text-primary); font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .de-artifact-source-row span { color: var(--de-text-muted); font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-align: right; } .de-artifact-source-row code, .de-artifact-source-row em { grid-column: 1 / -1; min-width: 0; color: var(--de-text-body); font-size: 12px; font-style: normal; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } +.de-artifact-source-actions { display: inline-flex; align-items: center; justify-content: flex-end; gap: 4px; } +.de-icon-btn { width: 28px; height: 28px; display: inline-grid; place-items: center; border: 1px solid rgba(79,172,254,0.18); border-radius: 6px; color: #275a82; background: rgba(255,255,255,0.78); cursor: pointer; } +.de-icon-btn:hover:not(:disabled) { border-color: rgba(79,172,254,0.45); background: #fff; } +.de-icon-btn:disabled { cursor: not-allowed; opacity: 0.42; } +.de-inline-notice { margin: 8px 0 0; color: var(--de-text-muted); font-size: 12px; } +.de-artifact-preview { margin-top: 10px; border: 1px solid rgba(79,172,254,0.14); border-radius: 8px; background: rgba(255,255,255,0.78); overflow: hidden; } +.de-artifact-preview > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 10px; border-bottom: 1px solid rgba(79,172,254,0.1); } +.de-artifact-preview pre { max-height: 220px; margin: 0; padding: 10px; overflow: auto; white-space: pre-wrap; word-break: break-word; color: var(--de-text-body); font-size: 12px; line-height: 1.55; } .de-decision-card { background: rgba(247,251,255,0.96); } .de-decision-chain-note { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; diff --git a/qimingclaw/crates/agent-electron-client/embedded/sgrobot-digital/src/lib/api.ts b/qimingclaw/crates/agent-electron-client/embedded/sgrobot-digital/src/lib/api.ts index 814e096c..322cf1c0 100644 --- a/qimingclaw/crates/agent-electron-client/embedded/sgrobot-digital/src/lib/api.ts +++ b/qimingclaw/crates/agent-electron-client/embedded/sgrobot-digital/src/lib/api.ts @@ -723,6 +723,22 @@ export function getArtifacts(): Promise { .then((data) => data.artifacts ?? []); } +export function accessArtifact(artifactId: string, action: 'preview' | 'download' | 'open_location'): Promise { + return apiFetch(`/api/digital-employee/artifacts/${encodeURIComponent(artifactId)}/access`, { + method: 'POST', + body: JSON.stringify({ action }), + }); +} + +export function getArtifactAccessEvents(params: Record = {}): Promise { + const search = new URLSearchParams(); + for (const [key, value] of Object.entries(params)) { + if (value !== undefined && value !== '') search.set(key, String(value)); + } + const suffix = search.toString() ? `?${search.toString()}` : ''; + return apiFetch(`/api/digital-employee/artifact-access-events${suffix}`); +} + export function getDebugConversations(): Promise { return apiFetch<{ conversations: any[] }>('/api/debug/conversations') .then((data) => data.conversations ?? []); diff --git a/qimingclaw/crates/agent-electron-client/embedded/sgrobot-digital/src/lib/qimingclawAdapter.ts b/qimingclaw/crates/agent-electron-client/embedded/sgrobot-digital/src/lib/qimingclawAdapter.ts index f19fb1a7..d6b11b05 100644 --- a/qimingclaw/crates/agent-electron-client/embedded/sgrobot-digital/src/lib/qimingclawAdapter.ts +++ b/qimingclaw/crates/agent-electron-client/embedded/sgrobot-digital/src/lib/qimingclawAdapter.ts @@ -63,6 +63,7 @@ declare global { recordRouteDecision?: (input: QimingclawRouteDecisionInput) => Promise; recordGovernanceCommand?: (command: QimingclawGovernanceCommandRecord) => Promise; recordDailyReport?: (input: QimingclawDailyReportRecordInput) => Promise; + accessArtifact?: (artifactId: string, action: 'preview' | 'download' | 'open_location', options?: { actor?: string | null; source?: string | null }) => Promise; restartManagedService?: (serviceId: string, options?: { reason?: string | null; actor?: string | null }) => Promise; respondPermission?: (sessionId: string, permissionId: string, response: 'once' | 'always' | 'reject') => Promise<{ success?: boolean; error?: string }>; }; @@ -237,6 +238,17 @@ interface QimingclawDailyReportRecordResult { eventId: string; } +interface QimingclawArtifactAccessResponse { + ok: boolean; + artifact_id: string; + action: 'preview' | 'download' | 'open_location'; + status: 'allowed' | 'rejected'; + error?: string; + reason_codes?: string[]; + preview?: Record; + event_id?: string | null; +} + interface QimingclawManagedServiceActionResponse { ok: boolean; service_id: string; @@ -659,6 +671,15 @@ export async function handleQimingclawDigitalApi( const rows = filterSkillCallAuditRows(skillCallAuditRows(await readQimingclawSnapshot()), url.searchParams); return { ...paginateBusinessRows(rows, url.searchParams), source: BUSINESS_VIEW_SOURCE } as T; } + if (method === 'GET' && pathname === '/api/digital-employee/artifact-access-events') { + const rows = filterArtifactAccessRows(artifactAccessRows(await readQimingclawSnapshot()), url.searchParams); + return { ...paginateBusinessRows(rows, url.searchParams), source: BUSINESS_VIEW_SOURCE } as T; + } + const artifactAccessMatch = pathname.match(/^\/api\/(?:digital-employee\/artifacts|artifact)\/([^/]+)\/access$/); + if (method === 'POST' && artifactAccessMatch) { + const artifactId = decodeURIComponent(artifactAccessMatch[1] || ''); + return await handleArtifactAccess(artifactId, parseOptionalJsonBody(options.body)) as T; + } const businessPlanDetailMatch = pathname.match(/^\/api\/digital-employee\/plans\/([^/]+)$/); if (method === 'GET' && businessPlanDetailMatch) { const planId = decodeURIComponent(businessPlanDetailMatch[1] || ''); @@ -1351,6 +1372,44 @@ async function handleManagedServiceRestart( } } +async function handleArtifactAccess( + artifactId: string, + body: Record, +): Promise { + const bridge = window.QimingClawBridge?.digital; + const action = normalizeArtifactAccessAction(stringValue(body.action)); + if (!bridge?.accessArtifact) { + return { + ok: false, + artifact_id: artifactId, + action, + status: 'rejected', + error: 'bridge_unavailable', + reason_codes: ['bridge_unavailable'], + }; + } + try { + return await bridge.accessArtifact(artifactId, action, { + actor: stringValue(body.actor) || 'digital_employee_ui', + source: stringValue(body.source) || 'sgrobot-digital-adapter', + }); + } catch (error) { + return { + ok: false, + artifact_id: artifactId, + action, + status: 'rejected', + error: error instanceof Error ? error.message : String(error), + reason_codes: ['artifact_access_failed'], + }; + } +} + +function normalizeArtifactAccessAction(value: string): 'preview' | 'download' | 'open_location' { + if (value === 'download' || value === 'open_location') return value; + return 'preview'; +} + function syncLine(snapshot: QimingclawSnapshot | null): string { const sync = snapshot?.sync; if (!sync) return '管理端同步:未连接'; @@ -2368,6 +2427,43 @@ function filterSkillCallAuditRows(rows: BusinessViewRow[], searchParams: URLSear .filter((row) => !decision || stringValue(row.decision) === decision); } +function artifactAccessRows(snapshot: QimingclawSnapshot | null): BusinessViewRow[] { + return runtimeEvents(snapshot) + .filter((event) => ['artifact_access_allowed', 'artifact_access_rejected'].includes(event.kind)) + .map((event) => { + const payload = asRecord(event.payload) ?? {}; + return { + access_id: event.id, + event_id: event.id, + remote_id: event.remoteId ?? null, + artifact_id: stringValue(payload.artifact_id) || null, + action: stringValue(payload.action) || null, + status: stringValue(payload.status) || event.kind.replace('artifact_access_', ''), + reason_codes: Array.isArray(payload.reason_codes) ? payload.reason_codes : [], + actor: stringValue(payload.actor) || null, + source: stringValue(payload.source) || null, + plan_id: (event.planId ?? stringValue(payload.plan_id)) || null, + task_id: (event.taskId ?? stringValue(payload.task_id)) || null, + run_id: (event.runId ?? stringValue(payload.run_id)) || null, + message: event.message, + occurred_at: event.occurredAt, + sync_status: event.syncStatus ?? null, + payload, + }; + }) + .sort((left, right) => stringValue(right.occurred_at).localeCompare(stringValue(left.occurred_at))); +} + +function filterArtifactAccessRows(rows: BusinessViewRow[], searchParams: URLSearchParams): BusinessViewRow[] { + const artifactId = stringValue(searchParams.get('artifact_id')); + const action = stringValue(searchParams.get('action')); + const status = stringValue(searchParams.get('status')); + return rows + .filter((row) => !artifactId || stringValue(row.artifact_id) === artifactId) + .filter((row) => !action || stringValue(row.action) === action) + .filter((row) => !status || stringValue(row.status) === status); +} + function dailyReportRows(snapshot: QimingclawSnapshot | null): BusinessViewRow[] { return buildArtifacts(snapshot) .filter(isDailyReportArtifact) @@ -2981,7 +3077,26 @@ function buildArtifacts(snapshot: QimingclawSnapshot | null): ArtifactEntry[] { runId: event.runId, })), ]; - return dedupeArtifacts(artifacts); + return dedupeArtifacts(artifacts).map((artifact) => withArtifactAccessSummary(artifact, snapshot)); +} + +function withArtifactAccessSummary(artifact: ArtifactEntry, snapshot: QimingclawSnapshot | null): ArtifactEntry { + const artifactId = stringValue(artifact.artifact_id) || stringValue(artifact.subject_id); + const lastAccess = artifactAccessRows(snapshot).find((row) => stringValue(row.artifact_id) === artifactId) ?? null; + const hasLocalUri = isLocalArtifactUri(stringValue(artifact.uri)); + const hasDailyText = isDailyReportArtifact(artifact) && Boolean(stringValue(asRecord(artifact.payload)?.text_content)); + const formalRuntimeArtifact = runtimeArtifacts(snapshot).some((runtime) => runtime.id === artifactId || runtime.remoteId === artifactId); + const previewable = formalRuntimeArtifact && (hasDailyText || hasLocalUri); + return { + ...artifact, + access: { + previewable, + downloadable: formalRuntimeArtifact && hasLocalUri, + openable: formalRuntimeArtifact && hasLocalUri, + access_policy: formalRuntimeArtifact ? 'qimingclaw-local-artifact-policy' : 'runtime-projection-readonly', + last_access_status: stringValue(lastAccess?.status) || null, + }, + }; } function artifactFromRuntimeRecord(artifact: QimingclawArtifactRecord): ArtifactEntry { @@ -3181,6 +3296,13 @@ function looksLikeUri(value: string): boolean { return /^(file|https?):\/\//i.test(value) || value.includes('/') || value.includes('\\'); } +function isLocalArtifactUri(value: string): boolean { + if (!value) return false; + if (/^file:\/\//i.test(value)) return true; + if (/^[a-z][a-z0-9+.-]*:/i.test(value)) return false; + return value.startsWith('/') || /^[a-z]:[\\/]/i.test(value); +} + function artifactName(value: string): string { if (!value) return ''; const normalized = value.split(/[?#]/)[0] || value; @@ -3620,6 +3742,7 @@ function reportArtifactSources(artifacts: ArtifactEntry[]) { task_id: stringValue(artifact.task_id) || null, run_id: stringValue(artifact.run_id) || null, created_at: stringValue(artifact.created_at) || null, + access: artifact.access, })); } diff --git a/qimingclaw/crates/agent-electron-client/embedded/sgrobot-digital/src/pages/digital/DailyReport.tsx b/qimingclaw/crates/agent-electron-client/embedded/sgrobot-digital/src/pages/digital/DailyReport.tsx index 816e37e3..d7a74e2f 100644 --- a/qimingclaw/crates/agent-electron-client/embedded/sgrobot-digital/src/pages/digital/DailyReport.tsx +++ b/qimingclaw/crates/agent-electron-client/embedded/sgrobot-digital/src/pages/digital/DailyReport.tsx @@ -1,10 +1,11 @@ import { useCallback, useEffect, useMemo, useRef, useState, type CSSProperties } from 'react'; -import { Download } from 'lucide-react'; +import { Download, Eye, FolderOpen } from 'lucide-react'; import GlassCard from '@/components/digital/GlassCard'; import CardTitleBar from '@/components/digital/CardTitleBar'; import { getDigitalEmployeeWorkday, postDigitalEmployeeWorkdayAction, + accessArtifact, } from '@/lib/api'; import type { DigitalEmployeeDailyReport, @@ -181,20 +182,70 @@ function DetailList({ details }: { details: DigitalEmployeeRunDetail[] }) { } function ArtifactSourceList({ artifacts }: { artifacts: DigitalEmployeeReportArtifactSource[] }) { + const [busyKey, setBusyKey] = useState(null); + const [notice, setNotice] = useState(null); + const [preview, setPreview] = useState<{ title: string; text: string } | null>(null); + if (artifacts.length === 0) { return

运行产物出现后,这里会展示文件、输出和来源记录。

; } + const runAccess = async (artifact: DigitalEmployeeReportArtifactSource, action: 'preview' | 'download' | 'open_location') => { + if (!artifact.id || busyKey) return; + const key = `${artifact.id}:${action}`; + setBusyKey(key); + setNotice(null); + try { + const result = await accessArtifact(artifact.id, action); + if (!result?.ok) { + setNotice(result?.error || '产物访问被拒绝'); + return; + } + if (action === 'preview') { + const data = result.preview || {}; + setPreview({ + title: String(data.name || artifact.name || '产物预览'), + text: String(data.text || `${data.mime || artifact.kind || 'artifact'} · ${data.size ?? 'unknown'}`), + }); + } else { + setNotice(action === 'download' ? '已打开产物' : '已打开位置'); + } + } catch (error) { + setNotice(error instanceof Error ? error.message : '产物访问失败'); + } finally { + setBusyKey(null); + } + }; + return ( -
- {artifacts.map((artifact) => ( -
- {artifact.name} - {artifact.source_label || artifact.source_type || '未知来源'} - {artifact.uri ? {artifact.uri} : {artifact.kind || 'artifact'}} + <> +
+ {artifacts.map((artifact) => { + const previewable = Boolean(artifact.access?.previewable); + const downloadable = Boolean(artifact.access?.downloadable); + const openable = Boolean(artifact.access?.openable); + return ( +
+ {artifact.name} + {artifact.source_label || artifact.source_type || '未知来源'} +
+ + + +
+ {artifact.uri ? {artifact.uri} : {artifact.kind || 'artifact'}} +
+ ); + })} +
+ {notice ?

{notice}

: null} + {preview ? ( +
+
{preview.title}
+
{preview.text}
- ))} -
+ ) : null} + ); } diff --git a/qimingclaw/crates/agent-electron-client/embedded/sgrobot-digital/src/types/api.ts b/qimingclaw/crates/agent-electron-client/embedded/sgrobot-digital/src/types/api.ts index ba1bf2d7..74a913c5 100644 --- a/qimingclaw/crates/agent-electron-client/embedded/sgrobot-digital/src/types/api.ts +++ b/qimingclaw/crates/agent-electron-client/embedded/sgrobot-digital/src/types/api.ts @@ -475,6 +475,13 @@ export interface ArtifactEntry { name?: string; uri?: string; value?: string; + access?: { + previewable?: boolean; + downloadable?: boolean; + openable?: boolean; + access_policy?: string | null; + last_access_status?: string | null; + }; [key: string]: any; } @@ -758,6 +765,7 @@ export interface DigitalEmployeeReportArtifactSource { task_id?: string | null; run_id?: string | null; created_at?: string | null; + access?: ArtifactEntry['access']; } export interface DigitalEmployeeDelivery { diff --git a/qimingclaw/crates/agent-electron-client/public/sgrobot-digital/assets/index-BarRiSjT.css b/qimingclaw/crates/agent-electron-client/public/sgrobot-digital/assets/index-4_0OumSc.css similarity index 62% rename from qimingclaw/crates/agent-electron-client/public/sgrobot-digital/assets/index-BarRiSjT.css rename to qimingclaw/crates/agent-electron-client/public/sgrobot-digital/assets/index-4_0OumSc.css index 4b1a86cb..76b01b85 100644 --- a/qimingclaw/crates/agent-electron-client/public/sgrobot-digital/assets/index-BarRiSjT.css +++ b/qimingclaw/crates/agent-electron-client/public/sgrobot-digital/assets/index-4_0OumSc.css @@ -1 +1 @@ -/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*,:before,:after{box-sizing:border-box}body{background:var(--pc-bg-base);color:var(--pc-text-primary);font-family:var(--font-sans),ui-sans-serif,system-ui,sans-serif;margin:0}}@layer components{.btn-electric{border:1px solid var(--pc-accent-dim);background:linear-gradient(135deg,var(--pc-accent-glow),transparent);color:var(--pc-accent-light);cursor:pointer;border-radius:9999px;justify-content:center;align-items:center;font-weight:600;transition:all .2s;display:inline-flex}.btn-electric:hover{background:var(--pc-accent);color:#fff;border-color:var(--pc-accent)}.btn-electric:disabled{opacity:.4;cursor:not-allowed}.input-electric{border:1px solid var(--pc-border);background:var(--pc-bg-elevated);color:var(--pc-text-primary);border-radius:12px;outline:none;transition:border-color .2s}.input-electric:focus{border-color:var(--pc-accent);box-shadow:0 0 0 3px var(--pc-accent-glow)}.input-electric::placeholder{color:var(--pc-text-faint)}.card{border:1px solid var(--pc-border);background:var(--pc-bg-surface);border-radius:16px}.surface-panel{background:var(--pc-bg-elevated);border:1px solid var(--pc-border);border-radius:24px}.btn-icon{width:36px;height:36px;color:var(--pc-text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.btn-icon:hover{background:var(--pc-hover);color:var(--pc-text-primary)}.table-electric{border-collapse:collapse;width:100%}.table-electric th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--pc-text-muted);border-bottom:1px solid var(--pc-border);padding:10px 16px;font-size:10px;font-weight:600}.table-electric td{border-bottom:1px solid var(--pc-border);padding:12px 16px;font-size:13px}.chat-markdown>:first-child{margin-top:0}.chat-markdown>:last-child{margin-bottom:0}.chat-markdown p{margin:0}.chat-markdown p+p{margin-top:.75em}.chat-markdown ul,.chat-markdown ol{margin:.5em 0;padding-left:1.25em}.chat-markdown pre{margin:.5em 0 0}.chat-markdown code{white-space:break-spaces}}@layer utilities{.visible{visibility:visible}.relative{position:relative}.static{position:static}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.border{border-style:var(--tw-border-style);border-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.text-gradient-blue{background:linear-gradient(135deg,var(--pc-accent),#818cf8);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.animate-fade-in{animation:.3s ease-out fadeIn}.animate-fade-in-scale{animation:.3s ease-out fadeInScale}.animate-slide-in-up{animation:.4s ease-out slideInUp}.animate-float{animation:3s ease-in-out infinite float}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}}:root{--de-primary:#4facfe;--de-primary-2:#00f2fe;--de-primary-3:#00d4ff;--de-primary-4:#2d8cf0;--de-header-gradient:linear-gradient(135deg, #2d8cf0, #4facfe 40%, #00d4ff);--de-text-primary:#16324e;--de-text-heading:#1e3a5c;--de-text-body:#4a6a8a;--de-text-muted:#5b7590;--de-text-label:#6a8198;--de-success:#1b9c5a;--de-success-text:#0f7a44;--de-success-bg:#20bf6b24;--de-warning:#faad14;--de-warning-text:#8c5b04;--de-warning-bg:#ffb83d2e;--de-danger:#d94a4a;--de-danger-text:#a33b3b;--de-danger-bg:#f4606029;--de-glass-bg:#e6f2ffa6;--de-glass-border:#4facfe38;--de-glass-border-light:#4facfe1f;--de-glass-border-lighter:#4facfe14;--de-glass-blur:blur(20px) saturate(1.2);--de-overlay-bg:#4facfe0f;--de-overlay-md:#4facfe1f;--de-overlay-hover:#4facfe2e;--de-overlay-active:#4facfe38;--de-btn-gradient:linear-gradient(135deg, #2ca8ff, #00c6ff);--de-btn-shadow:0 10px 18px #2ca8ff38;--de-btn-gradient-blue:linear-gradient(135deg, #59adf5eb, #3ad6f3e6);--de-btn-gradient-active:linear-gradient(135deg, #4facfee6, #00f2fed9);--de-page-bg:linear-gradient(180deg, #d6e8f7, #e2f0fb 25%, #d8eaf8 50%, #cce2f5 75%, #c0d8f0);--de-page-grid:#4facfe0a;--de-font-family:Microsoft YaHei, PingFang SC, Helvetica Neue, Arial, sans-serif;--de-font-mono:Fira Code, Consolas, monospace}.de-page{background:var(--de-page-bg);min-height:100vh;font-family:var(--de-font-family);position:relative}.de-page:before{content:"";background-image:linear-gradient(var(--de-page-grid) 1px,transparent 0),linear-gradient(90deg,var(--de-page-grid) 1px,transparent 0);pointer-events:none;z-index:0;background-size:40px 40px;position:fixed;top:0;right:0;bottom:0;left:0}.de-page:after{content:"";pointer-events:none;z-index:0;background:radial-gradient(at 20% 100%,#4facfe14 0,#0000 50%),radial-gradient(at 80% 100%,#00f2fe0f 0,#0000 50%),radial-gradient(at 50% 100%,#4facfe0d 0,#0000 40%);height:40%;position:fixed;bottom:0;left:0;right:0}.de-page-content{z-index:1;position:relative}.de-card{background:var(--de-glass-bg);border:1px solid var(--de-glass-border);-webkit-backdrop-filter:var(--de-glass-blur);backdrop-filter:var(--de-glass-blur);border-radius:12px;position:relative;overflow:hidden;box-shadow:0 4px 24px #1e90ff0f,inset 0 0 0 1px #ffffff80,inset 0 1px #fff9,inset 0 -1px #4facfe1a,0 0 0 1.5px #4facfe1f}.de-card:before{content:"";background:linear-gradient(90deg,#0000 5%,#4facfe59 25%,#00f2fe40,#4facfe59 75%,#0000 95%);height:2px;position:absolute;top:0;left:0;right:0}.de-card:after{content:"";pointer-events:none;z-index:0;background:linear-gradient(#ffffff40,#0000 40%);border-radius:10px;position:absolute;top:2px;right:2px;bottom:2px;left:2px}.de-card-body{z-index:1;padding:14px 16px;position:relative}.de-card-title-bar{z-index:1;background:linear-gradient(90deg,#9ccef6e6,#b8defbd6 46%,#d7eeffc2);border-bottom:1px solid #4facfe2e;justify-content:space-between;align-items:center;gap:8px;padding:10px 18px;display:flex;position:relative;box-shadow:inset 0 1px #ffffffad,inset 0 -1px #4facfe14}.de-card-title-bar:before{content:"";background:linear-gradient(#79bff7e0,#aae0ffc7);border-radius:2px;width:3px;height:12px;margin-right:4px;display:inline-block;box-shadow:0 0 8px #9bd6ff29}.de-card-title-bar:after{content:"";background:linear-gradient(135deg,#a8d8ff4d,#d0eeff1f);border-radius:5px;width:32px;height:10px;position:absolute;top:8px;right:14px;box-shadow:inset 0 1px #ffffff52}.de-card-title-bar-text{color:#1e3a5c;letter-spacing:1.5px;flex:1;min-width:0;font-size:16px;font-weight:700}.de-badge{border-radius:999px;justify-content:center;align-items:center;min-height:24px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.de-badge-info{color:#22659a;background:#4facfe1f}.de-badge-success{color:#0f7a44;background:#20bf6b24}.de-badge-warning{color:#8c5b04;background:#ffb83d2e}.de-badge-danger{color:#a33b3b;background:#f4606029}.de-nav-btn{color:#ffffffbf;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff14;padding:6px 26px;font-size:13px;transition:all .25s;position:relative;transform:skew(-15deg)}.de-nav-btn span{display:inline-block;transform:skew(15deg)}.de-nav-btn.active{color:#1e88e5;background:#fffffff2;border-color:#fff9;font-weight:700;box-shadow:0 2px 10px #00000026}.de-nav-btn:hover:not(.active){color:#fff;background:#ffffff2e}@media(max-width:1679px){.de-card-body{padding:12px 14px}.de-card-title-bar{padding:9px 16px}.de-nav-btn{padding:6px 20px;font-size:12px}}@media(max-width:1439px){.de-card-body{padding:12px}.de-card-title-bar-text{letter-spacing:1px;font-size:15px}.de-nav-btn{padding:5px 16px;font-size:12px}}.de-gem{z-index:8;background:radial-gradient(circle,#4facfe 0,#4facfe80);width:16px;height:16px;animation:2s ease-in-out infinite de-gem-pulse;position:absolute;transform:rotate(45deg);box-shadow:0 0 15px #4facfe,0 0 30px #4facfe99}@keyframes de-gem-pulse{0%,to{opacity:.5;transform:rotate(45deg)scale(.9)}50%{opacity:1;transform:rotate(45deg)scale(1.4)}}.de-gem-1{animation-delay:0s;top:35%;left:38%}.de-gem-2{animation-delay:.6s;top:54%;left:32%}.de-gem-3{animation-delay:1.2s;top:36%;right:28%}@media(prefers-reduced-motion:reduce){.de-gem{animation:none}}.de-stage{z-index:1;flex-shrink:0;justify-content:center;align-items:flex-end;width:58%;max-width:360px;height:50px;display:flex;position:relative}.de-stage-layer{border-radius:50%;position:absolute;left:50%;transform:translate(-50%)}.de-stage-layer-1{z-index:1;background:linear-gradient(#b3d9ff,#80bfff 25%,#4da6ff,#39f 75%,#1a8cff);width:100%;height:42px;bottom:0;box-shadow:0 3px 15px #1a8cff59,0 0 30px #4facfe33,inset 0 2px 8px #ffffff80,inset 0 -2px 6px #0050b426}.de-stage-layer-1:after{content:"";filter:blur(1px);background:linear-gradient(90deg,#0000,#fff9 20%,#fffc,#fff9 80%,#0000);border-radius:50%;height:3px;position:absolute;top:2px;left:3%;right:3%}.de-stage-layer-2{z-index:2;background:linear-gradient(#d4eaff,#a8d4ff 25%,#7ab8ff,#4da6ff 75%,#39f);width:75%;height:32px;bottom:6px;box-shadow:0 3px 12px #3399ff4d,0 0 25px #4facfe26,inset 0 2px 6px #fff9,inset 0 -2px 5px #0050b41f}.de-stage-layer-2:after{content:"";filter:blur(1px);background:linear-gradient(90deg,#0000,#ffffffb3 25%,#ffffffe6,#ffffffb3 75%,#0000);border-radius:50%;height:2px;position:absolute;top:2px;left:4%;right:4%}.de-stage-layer-3{z-index:3;background:linear-gradient(#e8f4ff,#c8e4ff 25%,#a8d4ff,#7ab8ff 75%,#4da6ff);width:48%;height:22px;bottom:12px;box-shadow:0 2px 10px #4da6ff4d,0 0 30px #4facfe40,0 0 60px #4facfe1a,inset 0 2px 8px #ffffffb3,inset 0 -2px 4px #0050b41a}.de-stage-layer-3:after{content:"";filter:blur(1px);background:linear-gradient(90deg,#0000,#fffc 30%,#fff,#fffc 70%,#0000);border-radius:50%;height:2px;position:absolute;top:1px;left:5%;right:5%}.de-stage-glow{filter:blur(10px);z-index:0;pointer-events:none;background:radial-gradient(#4facfe40 0,#00f2fe1a 35%,#4facfe0a 60%,#0000 80%);width:140%;height:55px;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.de-avatar-container{flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;min-height:0;display:flex;position:relative}.de-avatar-glass-space{pointer-events:none;perspective:1200px;z-index:3;width:84%;max-width:560px;height:92%;max-height:760px;position:absolute;top:0;left:50%;transform:translate(-50%)}.de-avatar-roof{z-index:6;width:68%;max-width:440px;height:16%;position:absolute;top:0;left:50%;transform:translate(-50%)}.de-avatar-roof-face{clip-path:polygon(50% 0,3% 100%,97% 100%);background:linear-gradient(#4facfe73,#00f2fe40 45%,#4facfe14);position:absolute;top:0;right:0;bottom:15%;left:0}.de-avatar-roof-glow{background:linear-gradient(90deg,#0000,#4facfeb3 10%,#00f2fe,#4facfeb3 90%,#0000);height:2px;position:absolute;bottom:12%;left:2%;right:2%;box-shadow:0 0 8px #4facfecc,0 0 20px #00f2fe66}.de-avatar-glass-left{z-index:2;background:linear-gradient(90deg,#4facfe26,#0000);width:5%;position:absolute;top:18%;bottom:6%;left:6%}.de-avatar-glass-right{z-index:2;background:linear-gradient(270deg,#00f2fe26,#0000);width:5%;position:absolute;top:18%;bottom:6%;right:6%}.de-avatar-img{object-fit:contain;filter:drop-shadow(0 10px 40px #1e90ff59);z-index:5;flex-shrink:0;width:auto;height:56vh;max-height:calc(100vh - 236px);margin-bottom:-50px;position:relative}.de-avatar-state-label{z-index:8;color:#0b4a6d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f1f9ffe0;border:1px solid #4facfe4d;border-radius:999px;justify-content:center;align-items:center;min-height:28px;padding:0 14px;font-size:13px;font-weight:700;display:inline-flex;position:absolute;top:19%;left:50%;transform:translate(-50%);box-shadow:0 8px 18px #1e90ff1f}.de-dashboard-grid{grid-template-columns:minmax(240px,.9fr) minmax(420px,1.6fr) minmax(280px,1fr);align-items:stretch;gap:14px;min-height:0;display:grid}.de-dashboard-left,.de-dashboard-center,.de-dashboard-right{flex-direction:column;min-width:0;min-height:0;display:flex}.de-dashboard-center{justify-content:center;align-items:center;padding-bottom:56px;position:relative;overflow:visible}.de-header{background:var(--de-header-gradient);z-index:100;flex-shrink:0;height:52px;position:relative;box-shadow:0 2px 12px #1e90ff4d}.de-header:before,.de-header:after{content:none}.de-header-content{z-index:2;justify-content:space-between;align-items:center;height:100%;padding:0 36px;display:flex;position:relative}.de-header-left{align-items:center;gap:14px;min-width:300px;display:flex}.de-header-accent-bar{background:#ffffffe6;border-radius:3px;width:5px;height:30px;box-shadow:0 0 8px #fff9}.de-header-title{color:#fff;letter-spacing:3px;text-shadow:0 2px 6px #0003;font-size:24px;font-weight:700}.de-header-center{gap:4px;max-width:52%;display:flex;position:absolute;left:50%;transform:translate(-50%)}.de-header-right{justify-content:flex-end;align-items:center;gap:16px;min-width:220px;display:flex}.de-header-welcome{color:#fffffff2;font-size:13px}.de-header-icon{color:#fff;cursor:pointer;background:#ffffff1f;border:none;border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;transition:background .18s,transform .18s;display:inline-flex}.de-header-icon:hover,.de-header-icon.active{background:#ffffff38;transform:translateY(-1px)}.de-header-close{background:#ffffff2e}.de-notification-anchor{align-items:center;display:inline-flex;position:relative}.de-notification-count{color:#fff;background:#ff5d73;border:1px solid #ffffffd1;border-radius:999px;min-width:17px;height:17px;padding:0 4px;font-size:10px;font-weight:800;line-height:15px;position:absolute;top:-5px;right:-8px;box-shadow:0 4px 12px #c6214652}.de-notification-popover{z-index:360;background:#fcfefffa;border:1px solid #3d84b82e;border-radius:14px;grid-template-rows:auto minmax(0,1fr);width:min(380px,100vw - 28px);max-height:min(620px,100vh - 88px);display:grid;position:absolute;top:38px;right:0;overflow:hidden;box-shadow:0 22px 60px #12344f3d}.de-notification-head{border-bottom:1px solid #3d84b81f;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.de-notification-head div{gap:2px;min-width:0;display:grid}.de-notification-head strong{color:#12344f;font-size:15px}.de-notification-head span{color:#6a8094;font-size:12px}.de-notification-close{color:#496a85;background:#4facfe1a;width:26px;height:26px}.de-notification-list{gap:10px;min-height:0;padding:12px;display:grid;overflow-y:auto}.de-notification-empty{color:#6a8094;place-items:center;min-height:86px;font-size:13px;display:grid}.de-notification-item{background:#fff;border:1px solid #3d84b81f;border-radius:10px;gap:8px;padding:12px;display:grid}.de-notification-item--action{border-color:#4facfe4d}.de-notification-item--warn{border-color:#ffb83d57}.de-notification-item--error{border-color:#f460604d}.de-notification-item-head,.de-notification-title-row,.de-notification-actions,.de-notification-reply-row{align-items:center;gap:8px;display:flex}.de-notification-item-head,.de-notification-title-row{justify-content:space-between}.de-notification-level,.de-notification-title-row span{color:#22659a;background:#4facfe1a;border-radius:999px;flex-shrink:0;align-items:center;min-height:20px;padding:0 7px;font-size:11px;font-weight:700;display:inline-flex}.de-notification-time{color:#7890a7;font-size:11px}.de-notification-title-row h3{color:#12344f;min-width:0;margin:0;font-size:14px;line-height:1.32}.de-notification-item p,.de-notification-reply{color:#536b80;margin:0;font-size:12px;line-height:1.5}.de-notification-reply{color:#31526d;background:#4facfe14;border-radius:8px;padding:8px}.de-notification-actions{justify-content:flex-end}.de-notification-icon-btn{color:#31526d;cursor:pointer;background:#f7fbfff5;border:1px solid #3d84b829;border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.de-notification-icon-btn:hover{background:#4facfe24}.de-notification-reply-row input{color:#12344f;background:#fff;border:1px solid #3d84b82e;border-radius:8px;flex:1;min-width:0;height:30px;padding:0 9px}.de-digital-modal-close-hitbox{z-index:3;cursor:pointer;background:0 0;border:0;border-radius:999px;width:38px;height:38px;position:absolute;top:8px;right:24px}.de-mission-list{flex-direction:column;gap:8px;display:flex}.de-mission-card-mini{border:1px solid var(--de-glass-border-light);background:linear-gradient(#f4faffeb,#ebf6ffdb);border-radius:12px;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.de-mission-title{color:var(--de-text-primary);font-size:14px;font-weight:600}.de-approval-item{border-bottom:1px solid var(--de-glass-border-lighter);justify-content:space-between;align-items:center;padding:8px 0;display:flex}.de-approval-item:last-child{border-bottom:none}.de-approval-actions{gap:6px;display:flex}.de-btn-approve,.de-btn-reject{cursor:pointer;border:none;border-radius:8px;padding:4px 12px;font-size:12px;font-weight:600}.de-btn-approve{background:var(--de-success-bg);color:var(--de-success-text)}.de-btn-reject{background:var(--de-danger-bg);color:var(--de-danger-text)}.de-stats-row{border-top:1px solid var(--de-glass-border-lighter);grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px;padding-top:12px;display:grid}.de-stat{text-align:center}.de-stat strong{color:var(--de-text-primary);font-size:22px;display:block}.de-stat span{color:var(--de-text-muted);font-size:11px}.de-empty-text{text-align:center;color:var(--de-text-label);padding:32px 12px;font-size:13px}.de-loading-skeleton{background:linear-gradient(90deg,var(--de-overlay-bg),var(--de-overlay-md),var(--de-overlay-bg));background-size:200% 100%;border-radius:8px;animation:1.5s infinite de-shimmer}@keyframes de-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.de-btn-sm{padding:4px 10px;font-size:12px}.de-btn-sm svg{flex-shrink:0}.de-btn-primary{color:#fff;cursor:pointer;background:var(--de-btn-gradient);box-shadow:var(--de-btn-shadow);border:none;border-radius:12px;padding:11px 18px;font-weight:700}.de-btn-secondary{color:#22659a;cursor:pointer;background:linear-gradient(#f8fcfff5,#e5f3ffe0);border:1px solid #4facfe3d;border-radius:12px;font-weight:700;box-shadow:inset 0 1px #ffffffa3}.de-btn-secondary:hover:not(:disabled){background:linear-gradient(#fffffffa,#d6edfff0);border-color:#2ca8ff6b}.de-btn-secondary:disabled,.de-btn-primary:disabled{opacity:.52;cursor:not-allowed}@media(max-width:1679px){.de-header{height:50px}.de-header-content{padding:0 24px}.de-header-left{min-width:240px}.de-header-title{letter-spacing:2px;font-size:20px}.de-dashboard-grid{gap:12px}}@media(max-width:1439px){.de-header{height:48px}.de-header-content{padding:0 16px}.de-header-accent-bar{height:24px}.de-header-title{letter-spacing:1px;font-size:18px}}@media(max-width:1023px){.de-dashboard-grid{grid-template-columns:1fr 1fr}.de-dashboard-right{grid-column:1/-1}}@media(max-width:767px){.de-dashboard-grid{grid-template-columns:1fr}}.de-mission-center-layout{grid-template-columns:minmax(320px,1fr) minmax(400px,1.6fr);gap:16px;height:100%;min-height:0;display:grid}.de-mission-center-page{height:100%;min-height:0;padding:14px 18px;overflow:hidden}.de-mc-list,.de-mc-detail{flex-direction:column;min-height:0;display:flex}.de-mc-list>.de-card,.de-mc-detail>.de-card{flex-direction:column;height:100%;min-height:0;display:flex}.de-mc-list .de-card-body,.de-mc-detail .de-card-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.de-mc-card-list{flex-direction:column;gap:8px;min-height:0;padding-right:4px;display:flex;overflow-y:auto}.de-mission-empty-panel{text-align:center;min-height:220px;color:var(--de-text-body);background:#ffffff75;border:1px dashed #4facfe4d;border-radius:14px;align-content:center;justify-items:center;gap:10px;padding:28px 18px;display:grid}.de-mission-empty-panel strong{color:var(--de-text-primary);font-size:15px}.de-mission-empty-panel p{max-width:520px;color:var(--de-text-muted);margin:0;font-size:13px;line-height:1.65}.de-mission-empty-panel--detail{min-height:100%}.de-mission-empty-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.de-mission-focus-notice{color:var(--de-text-primary);background:#4facfe1f;border:1px solid #4facfe3d;border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;margin-bottom:10px;padding:9px 11px;font-size:12px;display:grid}.de-mission-focus-notice strong{color:#1769aa;white-space:nowrap}.de-mission-focus-notice span{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:700;overflow:hidden}.de-mission-focus-notice code{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:180px;color:var(--de-text-muted);background:#ffffffb3;border-radius:6px;padding:2px 6px;overflow:hidden}.de-date-filter-row{background:#f4faffd1;border:1px solid #4facfe24;border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;padding:9px 10px;display:flex}.de-date-filter-field{min-width:0;color:var(--de-text-muted);align-items:center;gap:8px;font-size:12px;font-weight:700;display:inline-flex}.de-date-filter-field input{min-width:138px;height:30px;color:var(--de-text-primary);font:inherit;background:#ffffffdb;border:1px solid #4facfe3d;border-radius:999px;padding:0 10px;font-size:12px}.de-date-filter-actions{flex-wrap:wrap;gap:6px;display:flex}.de-date-filter-summary{color:var(--de-text-muted);white-space:nowrap;margin-left:auto;font-size:12px;font-weight:700}.de-mission-card{text-align:left;border:1px solid var(--de-glass-border-light);cursor:pointer;background:linear-gradient(#f4faffeb,#ebf6ffdb);border-radius:14px;width:100%;padding:14px;transition:border-color .18s,box-shadow .18s;box-shadow:0 2px 10px #1e90ff0a,inset 0 1px #ffffff80}.de-mission-card:hover,.de-mission-card--selected{border-color:var(--de-glass-border);box-shadow:0 0 0 2px var(--de-overlay-hover)}.de-mission-card--selected{background:linear-gradient(#f0f8fffa,#e2f2fff5);border-color:#2d8cf0;box-shadow:0 0 0 2px #2d8cf038,0 8px 24px #1d436d1f}.de-mission-card-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.de-mission-card-title{color:var(--de-text-primary);font-size:15px;font-weight:600}.de-mission-card-badges{flex-shrink:0;align-items:center;gap:6px;display:flex}.de-mission-card-focus-chip{color:#1769aa;white-space:nowrap;background:#2d8cf024;border:1px solid #2d8cf03d;border-radius:999px;padding:2px 7px;font-size:11px;font-weight:800}.de-mission-card-desc{color:var(--de-text-body);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:8px;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.de-mission-card-meta{color:var(--de-text-muted);gap:12px;font-size:12px;display:flex}.de-mission-card-actions{border-top:1px solid var(--de-glass-border-light);justify-content:space-between;align-items:center;gap:8px;margin-top:10px;padding-top:9px;display:flex}.de-mission-card-actions>.de-btn-restart,.de-mission-card-actions>.de-btn-run{flex-shrink:0}.de-mission-card-time{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--de-text-muted);flex:1;font-size:11px;font-weight:600;overflow:hidden}.de-btn-restart,.de-btn-run{cursor:pointer;border:none;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:700}.de-btn-run{background:var(--de-btn-gradient-active);color:#fff;box-shadow:0 2px 8px #4facfe38}.de-btn-restart{color:#1769aa;background:#4facfe1f;border:1px solid #4facfe38}.de-btn-restart:not(:disabled):hover{background:#4facfe33;border-color:#2d8cf06b}.de-btn-restart:disabled,.de-btn-run:disabled{cursor:not-allowed;box-shadow:none;color:var(--de-text-muted);background:#8e8e932e;border-color:#0000}.de-filter-row{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.de-filter-chip{border:1px solid var(--de-glass-border-light);background:var(--de-overlay-bg);color:var(--de-text-body);cursor:pointer;border-radius:999px;padding:4px 12px;font-size:12px;transition:all .2s}.de-filter-chip.active{background:var(--de-btn-gradient-active);color:#fff;border-color:#0000;box-shadow:0 2px 8px #4facfe40}.de-drawer{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(#fffffff5,#e8f4fffa);border:1px solid #4facfe33;border-radius:24px;grid-template-rows:auto auto minmax(0,1fr);gap:14px;width:100%;height:100%;padding:18px;display:grid;position:relative;overflow-y:auto;box-shadow:0 24px 60px #1d436d2e,inset 0 1px #ffffffe6}.de-drawer-head{grid-template-columns:minmax(0,1fr) auto;align-items:start;display:grid}.de-drawer-title-group h3{color:var(--de-text-primary);margin:0;font-size:22px}.de-drawer-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--de-primary);font-size:11px;font-weight:700}.de-drawer-status-line{align-items:center;gap:8px;display:flex}.de-drawer-meta{color:var(--de-text-muted);font-size:12px}.de-drawer-timeline{flex-direction:column;gap:12px;min-height:0;display:flex;overflow-y:auto}.de-detail-section{border:1px solid var(--de-glass-border-light);background:#ffffff8a;border-radius:14px;padding:12px}.de-detail-section h4{color:var(--de-text-primary);margin:0 0 10px;font-size:13px}.de-detail-section-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.de-detail-section-head h4{margin:0}.de-detail-kv{grid-template-columns:72px minmax(0,1fr);gap:7px 10px;font-size:12px;display:grid}.de-detail-kv span,.de-task-run-meta,.de-event-row time{color:var(--de-text-muted)}.de-detail-kv strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--de-text-primary);font-weight:600;overflow:hidden}.de-execution-chain{background:linear-gradient(#ffffffb8,#e8fff89e);border-color:#00b89438}.de-chain-plan-id{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--de-text-muted);font-size:11px;overflow:hidden}.de-chain-list{flex-direction:column;gap:7px;display:flex}.de-chain-row{background:#ffffffad;border:1px solid #00b89429;border-radius:10px;grid-template-columns:78px minmax(0,1fr) 132px;align-items:start;gap:8px;padding:8px 9px;font-size:11px;display:grid}.de-chain-row strong{color:#087f5b;font-weight:800}.de-chain-row span{min-width:0;color:var(--de-text-primary);text-overflow:clip;white-space:normal;word-break:break-word;line-height:1.35;overflow:visible}.de-chain-row time{color:var(--de-text-muted);text-align:right}.de-chain-row--danger strong{color:var(--de-danger)}.de-step-node{grid-template-columns:24px 1fr;align-items:start;gap:10px;padding-bottom:16px;display:grid;position:relative}.de-step-dot{border-radius:50%;width:12px;height:12px;margin-top:4px}.de-step-dot--succeeded,.de-step-dot--completed{background:var(--de-success);box-shadow:0 0 8px #1b9c5a66}.de-step-dot--running{background:var(--de-primary);animation:1.5s ease-in-out infinite de-pulse-dot;box-shadow:0 0 8px #4facfe99}.de-step-dot--failed{background:var(--de-danger)}.de-step-dot--pending,.de-step-dot--queued{background:#94a3b8}@keyframes de-pulse-dot{0%,to{box-shadow:0 0 4px #4facfe4d}50%{box-shadow:0 0 12px #4facfecc}}.de-step-line{background:#4facfe26;width:2px;height:calc(100% - 8px);position:absolute;top:20px;left:5px}.de-step-content{flex-direction:column;gap:4px;display:flex}.de-step-content strong{color:var(--de-text-primary);font-size:14px}.de-step-content span{color:var(--de-text-muted);font-size:12px}.de-task-run-card{border:1px solid var(--de-glass-border-light);background:#ffffffa3;border-radius:10px;margin-top:6px;padding:9px 10px}.de-task-run-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.de-task-run-head span{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--de-text-primary);font-size:12px;font-weight:700;overflow:hidden}.de-task-run-meta{flex-wrap:wrap;gap:8px 12px;margin-top:5px;font-size:11px;display:flex}.de-event-list{flex-direction:column;gap:6px;display:flex}.de-event-row{border:1px solid var(--de-glass-border-light);background:#ffffff94;border-radius:9px;grid-template-columns:74px minmax(0,1fr) 132px;align-items:start;gap:8px;padding:7px 8px;font-size:11px;display:grid}.de-event-row strong{color:var(--de-primary)}.de-event-row--danger strong{color:var(--de-danger)}.de-event-row span{text-overflow:clip;white-space:normal;min-width:0;color:var(--de-text-primary);word-break:break-word;line-height:1.35;overflow:visible}.de-event-row time{text-align:right}.de-session-message-list{flex-direction:column;gap:8px;display:flex}.de-session-message{border:1px solid var(--de-glass-border-light);background:#fff9;border-radius:10px;padding:8px 10px}.de-session-message--user{background:#4facfe1a;border-color:#4facfe2e}.de-session-message-role{color:var(--de-primary);margin-bottom:4px;font-size:11px;font-weight:700}.de-session-message p{color:var(--de-text-primary);white-space:pre-wrap;word-break:break-word;margin:0;font-size:12px;line-height:1.55}.de-skill-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;display:grid}.de-skill-card{border:1px solid var(--de-glass-border-light);cursor:pointer;background:linear-gradient(#f4faffeb,#ebf6ffdb);border-radius:14px;flex-direction:column;gap:8px;padding:14px;transition:border-color .18s,box-shadow .18s,transform .18s;display:flex}.de-skill-card:hover,.de-skill-card--selected{border-color:#4facfe80;transform:translateY(-1px);box-shadow:0 0 0 2px #4facfe24}.de-skill-card-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.de-skill-name{color:var(--de-text-primary);font-size:15px;font-weight:600}.de-skill-desc{color:var(--de-text-body);-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.de-skill-meta-row{flex-wrap:wrap;align-items:center;gap:6px;min-height:24px;display:flex}.de-skill-meta-chip{color:#41627f;white-space:nowrap;text-overflow:ellipsis;background:#4facfe14;border:1px solid #4facfe24;border-radius:999px;align-items:center;max-width:160px;min-height:22px;padding:0 8px;font-size:11px;display:inline-flex;overflow:hidden}.de-skill-recent{color:var(--de-text-muted);-webkit-line-clamp:1;-webkit-box-orient:vertical;margin:0;font-size:12px;line-height:1.4;display:-webkit-box;overflow:hidden}.de-skill-card-foot{justify-content:space-between;align-items:center;display:flex}.de-skill-version{color:var(--de-text-muted);font-size:11px}.de-skill-status{font-size:11px;font-weight:600}.de-skill-status.enabled{color:var(--de-success-text)}.de-skill-status.disabled{color:var(--de-text-muted)}.de-skill-toolbar{flex-direction:column;gap:10px;margin-bottom:14px;display:flex}.de-input{height:40px;color:var(--de-text-primary);font-size:14px;font-family:var(--de-font-family);background:#ffffffe0;border:1px solid #4facfe2e;border-radius:12px;padding:0 14px}.de-input:focus{border-color:var(--de-primary);outline:none;box-shadow:0 0 0 3px #4facfe26}.de-capability-badge{letter-spacing:.04em;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:700}.de-capability-core{color:#22659a;background:#4facfe1f}.de-capability-standard{color:#0f7a44;background:#20bf6b1f}.de-capability-specialized{color:#6d28d9;background:#7c3aed1a}.de-capability-experimental{color:#92400e;background:#f59e0b1f}.de-journal-list{flex-direction:column;gap:6px;display:flex}.de-journal-entry{border:1px solid var(--de-glass-border-lighter);border-radius:10px;grid-template-columns:60px 80px 1fr;align-items:baseline;gap:10px;padding:10px 12px;font-size:13px;display:grid}.de-journal-time{color:var(--de-text-muted);white-space:nowrap}.de-journal-kind{text-transform:uppercase;font-size:11px;font-weight:700}.de-journal-kind--error,.de-journal-kind--failed{color:var(--de-danger-text)}.de-journal-kind--success,.de-journal-kind--succeeded{color:var(--de-success-text)}.de-journal-kind--running{color:#22659a}.de-journal-msg{color:var(--de-text-primary);word-break:break-word}.de-card-meta-text{color:var(--de-text-muted);font-size:12px}.de-settings-section{margin-bottom:24px}.de-settings-heading{color:var(--de-text-heading);margin-bottom:4px;font-size:16px;font-weight:700}.de-settings-desc{color:var(--de-text-muted);margin-bottom:14px;font-size:13px}.de-role-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;display:grid}.de-role-card{text-align:center;cursor:pointer;border:1px solid var(--de-glass-border-light);background:linear-gradient(#f4faffeb,#ebf6ffdb);border-radius:14px;padding:16px;transition:all .2s}.de-role-card:hover{border-color:var(--de-glass-border)}.de-role-card.active{border-color:var(--de-primary);box-shadow:0 0 0 2px #4facfe33}.de-role-label{color:var(--de-text-primary);font-size:15px;font-weight:600;display:block}.de-role-density{color:var(--de-text-muted);margin-top:4px;font-size:11px;display:block}.de-saved-hint{color:var(--de-success-text);margin-top:8px;font-size:12px}.de-btn-approve:disabled,.de-btn-reject:disabled{opacity:.45;cursor:not-allowed}@media(max-width:1023px){.de-mission-center-layout{grid-template-columns:1fr}}.de-shell{background:var(--de-page-bg);height:100vh;min-height:0;font-family:var(--de-font-family);flex-direction:column;display:flex;position:relative;overflow:hidden}.de-shell:before{content:"";background-image:linear-gradient(var(--de-page-grid) 1px,transparent 0),linear-gradient(90deg,var(--de-page-grid) 1px,transparent 0);pointer-events:none;z-index:0;background-size:40px 40px;position:fixed;top:0;right:0;bottom:0;left:0}.de-shell-header{background:var(--de-header-gradient);z-index:100;flex-shrink:0;height:56px;position:relative;box-shadow:0 2px 12px #1e90ff4d}.de-shell-header-content{z-index:2;justify-content:space-between;align-items:center;height:100%;padding:0 24px;display:flex;position:relative}.de-shell-header-left{align-items:center;gap:12px;display:flex}.de-shell-title{color:#fff;letter-spacing:1.5px;text-shadow:0 2px 6px #0003;font-size:18px;font-weight:700}.de-shell-header-right{align-items:center;gap:12px;display:flex}.de-dashboard{background:var(--de-page-bg);width:100%;height:100%;position:relative;overflow:hidden}.de-connection-layer{pointer-events:none;z-index:0;position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.de-connection-svg{width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0}.de-dashboard-content{z-index:1;flex:1;grid-template-columns:minmax(300px,.86fr) minmax(420px,1.08fr) minmax(280px,.78fr);align-items:stretch;gap:12px;min-height:0;padding:8px 18px 10px;display:grid;position:relative;overflow:hidden}.de-dashboard-left,.de-dashboard-center,.de-dashboard-right{z-index:2;flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.de-dashboard-left{gap:12px;overflow:hidden}.de-dashboard-center{justify-content:center;align-items:center;padding:4px 0 76px;position:relative;overflow:visible}.de-dashboard-right{overflow:hidden}.de-right-panels{grid-template-rows:minmax(0,1fr) minmax(178px,.34fr);gap:8px;height:100%;display:grid;overflow:hidden}.de-info-grid{background:linear-gradient(135deg,#4facfe0f,#00f2fe08);border:1px solid #4facfe1a;border-radius:10px;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:10px 14px;display:grid}.de-info-item{gap:6px;min-width:0;padding:6px 0;display:grid}.de-info-item label{color:#2d5a8a;font-size:14px;font-weight:700}.de-info-item span{color:#1e3a5c;word-break:break-all;font-size:15px;line-height:1.5}.de-status-working{font-weight:800;color:#0f7a44!important}.de-status-resting{font-weight:800;color:#8c5b04!important}.de-template-manager-card{flex-direction:column;flex:1;min-height:0;display:flex}.de-template-manager-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.de-template-overview{background:linear-gradient(#f6fbfff0,#e7f2fde6);border:1px solid #4facfe24;border-radius:16px;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-bottom:12px;display:grid;overflow:hidden;box-shadow:inset 0 1px #ffffff8c,0 2px 8px #1e90ff0a}.de-template-overview-item{text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;gap:6px;min-height:74px;padding:10px 16px 14px;display:flex;position:relative}.de-template-overview-item.active{background:linear-gradient(#e0f3fffa,#cce9fff0);box-shadow:inset 0 0 0 2px #2d8cf029}.de-template-overview-item+.de-template-overview-item{border-left:1px solid #4facfe1f}.de-template-overview-item:after{content:"";opacity:.92;border-radius:999px;height:3px;position:absolute;bottom:0;left:16px;right:16px}.de-template-overview-label{color:#6a8198;font-size:12px}.de-template-overview-value{color:#1e3a5c;font-size:34px;font-weight:700;line-height:1}.de-template-overview-item--total .de-template-overview-value{color:#0c4a6e}.de-template-overview-item--total:after{background:linear-gradient(90deg,#3b82f6b3,#7dd3fc80)}.de-template-overview-item--scheduled .de-template-overview-value{color:#8c5b04}.de-template-overview-item--scheduled:after{background:linear-gradient(90deg,#ffb83ddb,#ffd27080)}.de-template-overview-item--runnable .de-template-overview-value{color:#0369a1}.de-template-overview-item--runnable:after{background:linear-gradient(90deg,#22d3eec7,#3b82f675)}.de-template-list-scroll{flex-direction:column;flex:1;gap:8px;min-height:0;padding-right:4px;display:flex;overflow-y:auto}.de-template-card-row{cursor:pointer;background:linear-gradient(#f4faffeb,#ebf6ffdb);border:1px solid #4facfe1f;border-radius:12px;min-height:116px;padding:10px 12px;transition:border-color .18s,box-shadow .18s,transform .18s;display:flex;box-shadow:0 2px 10px #1e90ff0a,inset 0 1px #ffffff80}.de-template-card-row:hover{border-color:#4facfe7a;transform:translateY(-1px);box-shadow:0 0 0 2px #4facfe1f}.de-template-card-main{flex:1;gap:7px;min-width:0;display:grid}.de-template-card-head{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.de-template-card-name{text-overflow:ellipsis;white-space:nowrap;color:#214566;min-width:0;font-size:15px;font-weight:700;line-height:1.2;overflow:hidden}.de-template-card-desc{color:#58728e;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:12px;line-height:1.45;display:-webkit-box;overflow:hidden}.de-plan-progress-bar{background:#91b5d238;border-radius:999px;height:7px;overflow:hidden}.de-plan-progress-bar span{border-radius:inherit;background:linear-gradient(90deg,#22d3eedb,#3b82f6d1);height:100%;display:block}.de-template-card-meta{color:#5b7590;justify-content:space-between;align-items:center;gap:8px;min-width:0;font-size:11px;display:flex}.de-template-card-meta span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.de-template-card-actions{justify-content:flex-end;gap:8px;display:flex}.de-person-card{cursor:default;transition:border-color .18s,box-shadow .18s}.de-person-card:hover{border-color:#4facfe5c;box-shadow:0 0 0 2px #4facfe1a}.de-workday-toolbar{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;margin-bottom:10px;display:grid}.de-workday-toolbar label{color:#5b7590;align-items:center;gap:8px;font-size:11px;display:flex}.de-workday-toolbar label span{white-space:nowrap;font-weight:800}.de-workday-toolbar input{color:#16324e;background:#f7fbfff5;border:1px solid #4facfe2e;border-radius:10px;min-width:0;height:32px;padding:0 10px}.de-management-sync-strip{color:#315576;background:#4facfe12;border:1px solid #4facfe24;border-radius:12px;align-items:center;gap:8px;min-height:34px;margin:-2px 0 10px;padding:7px 10px;font-size:12px;line-height:1.35;display:flex}.de-management-sync-strip>span:last-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.de-management-sync-strip--success{color:#176a3a;background:#1b9c5a14;border-color:#1b9c5a33}.de-management-sync-strip--warning{color:#7a5509;background:#f5ad2d1a;border-color:#f5ad2d38}.de-management-sync-strip--danger{color:#ad3434;background:#e0484814;border-color:#e0484833}.de-management-sync-failures{gap:6px;margin:-4px 0 10px;display:grid}.de-management-sync-failure{text-align:left;cursor:pointer;color:#7b4450;background:#e048480e;border:1px solid #e0484824;border-radius:10px;grid-template-columns:56px 54px minmax(54px,.7fr) minmax(0,1.6fr);align-items:center;gap:8px;width:100%;min-height:28px;padding:6px 9px;font-family:inherit;font-size:11px;display:grid}.de-management-sync-failure:hover{border-color:#e0484847;box-shadow:0 0 0 2px #e048480f}.de-management-sync-failure span,.de-management-sync-failure em,.de-management-sync-failure small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.de-management-sync-failure strong{color:#ad3434;font-weight:800}.de-management-sync-failure em{color:#59738b;font-style:normal}.de-management-sync-failure small{color:#6d5260}.de-duty-card{min-height:120px}.de-duty-card--selected{border-color:#20bf6b6b;box-shadow:inset 4px 0 #20bf6ba3,0 0 0 2px #20bf6b14}.de-duty-card--running{border-color:#ffb83d70;box-shadow:inset 4px 0 #ffb83db8,0 0 0 2px #ffb83d1a}.de-duty-card--disabled{cursor:pointer;opacity:.7;filter:grayscale(.28);background:linear-gradient(#f6f8faeb,#ecf1f5db)}.de-duty-card-foot{justify-content:space-between;align-items:center;gap:8px;display:flex}.de-duty-card-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;min-width:0;display:flex}.de-duty-card-actions .de-btn-sm{white-space:nowrap;min-height:26px;padding:4px 9px}.de-duty-selected-mark{color:#60758a;background:#94a3b81f;border-radius:999px;justify-content:center;align-items:center;min-width:42px;height:24px;font-size:11px;font-weight:700;display:inline-flex}.de-duty-selected-mark.active{color:#0f7a44;background:#20bf6b24}.de-task-date-context{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;margin-top:8px;display:flex}.de-template-manager-body>.de-task-date-context{background:#f4faffc2;border:1px solid #4facfe1a;border-radius:11px;margin:-2px 0 8px;padding:7px 8px}.de-task-date-context span{color:#0c5a85;background:#4facfe1f;border-radius:999px;align-items:center;min-height:22px;padding:0 8px;font-size:11px;font-weight:800;display:inline-flex}.de-task-date-context em{color:#58728e;flex:1;min-width:0;font-size:11px;font-style:normal;line-height:1.35}.de-task-date-context .de-btn-sm{border-radius:9px;min-height:26px;padding:0 9px}.de-task-manager-preview{background:#f7fbffd1;border:1px solid #4facfe1f;border-radius:14px;flex:1;align-content:start;gap:8px;min-height:0;padding:10px;display:grid;overflow:hidden}.de-task-manager-preview-scroll{overscroll-behavior:contain;scrollbar-gutter:stable;overflow-y:auto}.de-task-manager-preview-head{z-index:1;color:#5b7590;background:#f7fbfff5;justify-content:space-between;align-items:center;gap:8px;min-height:28px;padding:0 2px 6px;font-size:11px;display:flex;position:sticky;top:0}.de-task-manager-preview-head strong{color:#143450;font-size:12px}.de-task-manager-preview-row{color:#173550;text-align:left;min-width:0;font:inherit;background:#ffffffc7;border:1px solid #4facfe1f;border-radius:11px;gap:4px;padding:9px 10px;display:grid}.de-task-manager-preview-row.is-selected{border-color:#20bf6b5c;box-shadow:inset 3px 0 #20bf6b94}.de-template-task-main{min-width:0;color:inherit;text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;gap:4px;padding:0;display:grid}.de-template-task-main:hover strong{color:#0877c7}.de-template-task-main strong,.de-template-task-main span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.de-template-task-main strong{font-size:13px}.de-template-task-main span{color:#5b7590;font-size:11px}.de-template-task-list .de-task-manager-preview-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.de-template-item-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.de-template-item-actions .de-btn-sm,.de-duty-card-actions .de-btn-sm{justify-content:center;align-items:center;gap:4px;display:inline-flex}.de-task-manager-modal-overlay{z-index:260;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0d24373d;justify-content:center;align-items:center;padding:26px;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.de-plan-action-overlay{z-index:320}.de-task-manager-modal{background:linear-gradient(#fcfefff5,#e7f3fff0);border:1px solid #4facfe33;border-radius:20px;grid-template-rows:auto minmax(0,1fr);gap:16px;width:min(1040px,100vw - 56px);max-height:min(760px,100vh - 54px);padding:18px;display:grid;box-shadow:0 24px 70px #1537543d,inset 0 1px #fff9}.de-task-manager-modal-head{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px;display:grid}.de-task-manager-modal-head h3{color:#12344f;margin:2px 0 4px;font-size:22px}.de-task-manager-modal-head p{color:#58728e;margin:0;font-size:13px;line-height:1.55}.de-workday-guide-modal{grid-template-rows:auto auto minmax(0,1fr);width:min(1120px,100vw - 56px)}.de-workday-guide-head h3{font-size:24px}.de-workday-guide-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.de-workday-guide-step{background:#ffffffbd;border:1px solid #4facfe24;border-radius:14px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:4px 8px;min-width:0;padding:10px 11px;display:grid}.de-workday-guide-step span{color:#fff;background:linear-gradient(135deg,#1e90ff,#20bf6b);border-radius:999px;grid-row:span 2;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:800;display:inline-flex}.de-workday-guide-step strong{color:#143450;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.de-workday-guide-step p{color:#5b7590;min-width:0;margin:0;font-size:11px;line-height:1.38}.de-workday-guide-body{grid-template-columns:minmax(0,1.35fr) minmax(280px,.72fr);gap:14px;min-height:0;display:grid}.de-workday-guide-column{grid-template-rows:auto minmax(0,1fr)}.de-workday-guide-duty-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-height:0;padding-right:4px;display:grid;overflow-y:auto}.de-workday-guide-duty-list .de-duty-card{grid-template-columns:78px minmax(0,1fr);gap:9px;min-height:116px;display:grid}.de-duty-card--guide .de-template-card-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.de-workday-guide-side{background:#f7fbffeb;border:1px solid #4facfe24;border-radius:16px;align-content:start;gap:10px;min-height:0;padding:12px;display:grid;overflow-y:auto}.de-workday-guide-summary{background:#ffffffc7;border:1px solid #4facfe1f;border-radius:13px;gap:5px;padding:11px;display:grid}.de-workday-guide-summary span{color:#5b7590;font-size:11px;font-weight:700}.de-workday-guide-summary strong{color:#12344f;font-size:16px}.de-workday-guide-summary p{color:#58728e;margin:0;font-size:12px;line-height:1.5}.de-workday-guide-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.de-task-manager-modal-body{grid-template-columns:minmax(0,1.3fr) minmax(300px,.78fr);gap:14px;min-height:0;display:grid}.de-task-manager-column{background:#f7fbffe6;border:1px solid #4facfe24;border-radius:16px;grid-template-rows:auto minmax(0,1fr);gap:10px;min-height:0;padding:12px;display:grid;overflow:hidden}.de-task-manager-section-head{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.de-task-manager-section-head strong{color:#143450;font-size:15px;display:block}.de-task-manager-section-head span{color:#5b7590;margin-top:3px;font-size:11px;display:block}.de-task-manager-duty-list,.de-task-manager-decision-list{flex-direction:column;gap:8px;min-height:0;padding-right:4px;display:flex;overflow-y:auto}.de-task-manager-duty-list .de-duty-card{grid-template-columns:86px minmax(0,1fr);gap:10px;min-height:104px;display:grid}.de-task-manager-duty-check{color:#315576;border-right:1px solid #4facfe1a;align-content:center;justify-items:center;gap:8px;min-width:0;font-size:12px;font-weight:700;display:grid}.de-task-manager-duty-check input{accent-color:#20bf6b;width:22px;height:22px}.de-task-manager-duty-check input:disabled{opacity:.48}.de-task-manager-decision-card{color:#16324e;background:#fffc;border:1px solid #4facfe1f;border-radius:12px;gap:8px;padding:11px 12px;display:grid}.de-task-manager-decision-card p{color:#58728e;margin:0;font-size:12px;line-height:1.48}.de-event-detail-modal,.de-event-history-modal{background:linear-gradient(#fcfefff7,#e7f3fff2);border:1px solid #4facfe33;border-radius:20px;grid-template-rows:auto auto auto;gap:14px;width:min(760px,100vw - 52px);max-height:min(720px,100vh - 48px);padding:18px;display:grid;box-shadow:0 24px 70px #1537543d,inset 0 1px #fff9}.de-event-history-modal{grid-template-rows:auto auto minmax(0,1fr);width:min(1080px,100vw - 56px)}.de-plan-action-modal{background:linear-gradient(#fcfefff7,#e8f4fff2);border:1px solid #4facfe38;border-radius:20px;grid-template-rows:auto minmax(0,1fr) auto;gap:14px;width:min(640px,100vw - 56px);max-height:min(680px,100vh - 48px);padding:18px;display:grid;box-shadow:0 24px 70px #1537543d,inset 0 1px #ffffff9e}.de-plan-action-body{gap:12px;min-height:0;display:grid;overflow:auto}.de-plan-action-field{color:#41627f;gap:6px;font-size:12px;display:grid}.de-plan-action-field input{color:#173550;background:#ffffffe6;border:1px solid #4facfe33;border-radius:11px;height:36px;padding:0 12px}.de-plan-action-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.de-event-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.de-event-detail-grid>div,.de-event-detail-result{background:#f7fbffeb;border:1px solid #4facfe24;border-radius:12px;gap:4px;min-width:0;padding:10px 11px;display:grid}.de-event-detail-grid span,.de-event-detail-result span,.de-event-history-row em{color:#5b7590;font-size:11px;font-style:normal;font-weight:700}.de-event-detail-grid strong{color:#143450;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;line-height:1.36;overflow:hidden}.de-event-detail-result p{color:#173550;margin:0;font-size:13px;line-height:1.55}.de-sync-attempt-history{background:#f7fbffd1;border:1px solid #7ea3c233;border-radius:14px;gap:8px;padding:14px;display:grid}.de-sync-attempt-history>span{color:#6f8196;font-size:12px;font-weight:800}.de-sync-attempt-list{gap:8px;display:grid}.de-sync-attempt-row{background:#ffffffb8;border-radius:12px;gap:5px;padding:9px 10px;display:grid}.de-sync-attempt-row>div{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.de-sync-attempt-row strong{color:#153754;font-size:12px}.de-sync-attempt-row em{font-size:12px;font-style:normal;font-weight:800}.de-sync-attempt-row span,.de-sync-attempt-row small{color:#667b90;font-size:12px}.de-sync-attempt-row small{text-overflow:ellipsis;white-space:nowrap;line-height:1.45;overflow:hidden}.de-sync-attempt-row--success em{color:#23805d}.de-sync-attempt-row--danger em{color:#bb3b3b}.de-sync-attempt-row--info em{color:#2e6fa5}.de-event-modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.de-event-modal-actions .de-btn-sm{align-items:center;gap:6px;display:inline-flex}.de-event-history-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.de-event-history-list{align-content:start;gap:8px;min-height:0;padding-right:4px;display:grid;overflow-y:auto}.de-event-history-row{color:#16324e;text-align:left;width:100%;min-height:64px;font:inherit;cursor:pointer;background:#f8fbfff5;border:1px solid #4facfe21;border-left:4px solid #4facfe6b;border-radius:12px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(78px,.58fr) minmax(0,1.36fr);align-items:stretch;gap:8px;padding:8px 9px;display:grid}.de-event-history-row span{align-content:start;gap:3px;min-width:0;display:grid}.de-event-history-row strong{color:#173550;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-width:0;font-size:12px;line-height:1.35;display:-webkit-box;overflow:hidden}.de-event-history-row small{color:#6d8499;font-size:10px;line-height:1.1}.de-workday-execution{min-height:260px}.de-workday-execution--clickable{cursor:pointer;transition:border-color .16s,box-shadow .16s}.de-workday-execution--clickable:hover{border-color:#4facfe57;box-shadow:0 14px 34px #267dbf24,inset 0 1px #ffffff9e}.de-workday-execution--clickable:focus-visible{outline-offset:2px;outline:2px solid #4facfe8f}.de-workday-execution--clickable button,.de-workday-execution--clickable input{cursor:pointer}.de-live-feed{align-content:start;gap:8px;min-height:0;display:grid;overflow:hidden}.de-live-feed-row{border-left:4px solid #4facfe61;min-height:66px;animation:.28s both deFeedIn;position:relative}.de-live-feed-row--running{border-left-color:#ffb83de6}.de-live-feed-row--success{border-left-color:#20bf6bd1}.de-live-feed-row--danger{border-left-color:#f46060d1}.de-live-feed-row--warning{border-left-color:#ffb83de6}.de-workday-execution-body{grid-template-rows:auto minmax(96px,.58fr) auto minmax(0,1fr);gap:8px;min-height:0;display:grid;overflow:hidden}.de-execution-status-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.de-execution-status-strip span{background:#f7fbfff0;border:1px solid #4facfe1f;border-radius:10px;gap:3px;min-width:0;padding:7px 8px;display:grid}.de-execution-status-strip em{color:#5b7590;white-space:nowrap;font-size:11px;font-style:normal}.de-execution-status-strip strong{color:#12344f;font-size:18px;line-height:1}.de-task-summary-scroll{overscroll-behavior:contain;scrollbar-gutter:stable;min-height:0;padding-right:4px;overflow-y:auto}.de-task-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;min-height:0;display:grid}.de-task-summary-scroll .de-task-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.de-task-summary-card{text-align:left;cursor:pointer;background:#f7fbffe6;border:1px solid #4facfe24;border-radius:11px;grid-template-columns:minmax(0,1fr) auto;align-content:start;gap:5px 6px;min-width:0;min-height:84px;padding:8px;display:grid}.de-task-summary-card:hover{border-color:#4facfe6b;box-shadow:0 0 0 2px #4facfe1a}.de-task-summary-title{text-overflow:ellipsis;white-space:nowrap;color:#143450;min-width:0;font-size:12px;font-weight:800;overflow:hidden}.de-task-summary-counts{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;display:grid}.de-task-summary-counts span{background:#ffffffbd;border:1px solid #4facfe1a;border-radius:9px;gap:2px;min-width:0;padding:6px;display:grid}.de-task-summary-counts em{color:#5b7590;font-size:10px;font-style:normal;line-height:1}.de-task-summary-counts strong{color:#0c4a6e;font-size:15px;line-height:1}.de-stage-feed-tools{justify-content:space-between;align-items:center;gap:8px;min-width:0;min-height:30px;padding:4px 2px 0;display:flex}.de-stage-feed-tools>span{color:#55718b;white-space:nowrap;font-size:11px;font-weight:700}.de-stage-feed-tools>div{align-items:center;gap:6px;min-width:0;display:flex}.de-task-agent-control-strip{gap:6px;min-width:0;display:grid}.de-task-agent-control{background:#f7fbffe6;border:1px solid #4facfe24;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;padding:7px 8px;display:grid}.de-task-agent-control-main{gap:2px;min-width:0;display:grid}.de-task-agent-control-main span{color:#0c5a85;font-size:10px;font-weight:800;line-height:1}.de-task-agent-control-main strong{color:#143450;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;line-height:1.25;overflow:hidden}.de-task-agent-control-main small{color:#58728e;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:10px;line-height:1.25;overflow:hidden}.de-task-agent-control-actions{align-items:center;gap:5px;min-width:0;display:flex}.de-task-agent-control-actions .de-btn-sm{justify-content:center;min-width:58px}.de-task-agent-cancel-btn{color:#b42318;border-color:#b4231838}.de-run-detail-list-scroll{overscroll-behavior:contain;scrollbar-gutter:stable}.de-run-detail-panel{grid-template-rows:auto minmax(0,1fr);gap:8px;min-height:0;display:grid}.de-run-detail-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.de-run-detail-head span{color:#12344f;font-size:14px;font-weight:800}.de-run-detail-head small{color:#5b7590;font-size:11px}.de-run-detail-list{align-content:start;gap:6px;min-height:0;padding-right:4px;display:grid;overflow-y:auto}.de-run-detail-row{color:#173550;text-align:left;background:#f7fbffe0;border:1px solid #4facfe1f;border-radius:10px;grid-template-columns:50px minmax(72px,.95fr) minmax(70px,.85fr) 74px minmax(90px,1.2fr);align-items:center;gap:7px;min-width:0;padding:7px 8px;font-size:11px;display:grid}.de-run-detail-row--head{z-index:1;color:#29577f;cursor:default;background:#dcecfcfa;font-weight:800;position:sticky;top:0}.de-run-detail-row strong,.de-run-detail-row span,.de-run-detail-row em{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.de-run-detail-row em{color:#58728e;font-style:normal}.de-run-detail-row i{min-height:20px;padding:0 7px;font-size:10px;font-style:normal}.de-workday-result{min-height:0;overflow:auto}.de-workday-result-summary{color:#173550;margin:0;font-size:13px;line-height:1.55}.de-artifact-pills{flex-wrap:wrap;gap:8px;display:flex}.de-artifact-source-list{gap:8px;max-height:320px;padding-right:4px;display:grid;overflow-y:auto}.de-artifact-source-row{background:#f4faff9e;border:1px solid #4facfe1f;border-radius:8px;grid-template-columns:minmax(120px,1fr) minmax(88px,140px);align-items:center;gap:4px 10px;padding:9px 10px;display:grid}.de-artifact-source-row strong{min-width:0;color:var(--de-text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.de-artifact-source-row span{color:var(--de-text-muted);text-overflow:ellipsis;white-space:nowrap;text-align:right;font-size:12px;overflow:hidden}.de-artifact-source-row code,.de-artifact-source-row em{min-width:0;color:var(--de-text-body);text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;font-size:12px;font-style:normal;overflow:hidden}.de-decision-card{background:#f7fbfff5}.de-decision-chain-note{color:#60758a;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;font-size:12px;line-height:1.45;display:flex}@keyframes deFeedIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.de-skill-manager-card{flex-direction:column;flex:1;min-height:0;display:flex}.de-skill-manager-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.de-skill-overview{background:linear-gradient(#f6fbfff0,#e7f2fde6);border:1px solid #4facfe24;border-radius:18px;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-bottom:12px;display:grid;overflow:hidden;box-shadow:inset 0 1px #ffffff8c,0 2px 8px #1e90ff0a}.de-skill-overview-item{flex-direction:column;justify-content:center;gap:6px;min-height:74px;padding:10px 16px 14px;display:flex;position:relative}.de-skill-overview-item+.de-skill-overview-item{border-left:1px solid #4facfe1f}.de-skill-overview-item:after{content:"";opacity:.92;border-radius:999px;height:3px;position:absolute;bottom:0;left:16px;right:16px}.de-skill-overview-label{color:#6a8198;font-size:12px}.de-skill-overview-value{color:#1e3a5c;font-size:34px;font-weight:700;line-height:1}.de-skill-overview-item--total .de-skill-overview-value{color:#0c4a6e}.de-skill-overview-item--total:after{background:linear-gradient(90deg,#3b82f6b3,#7dd3fc80)}.de-skill-overview-item--learned .de-skill-overview-value{color:#0369a1}.de-skill-overview-item--learned:after{background:linear-gradient(90deg,#22d3eec7,#3b82f675)}.de-skill-overview-item--unlearned .de-skill-overview-value{color:#c2410c}.de-skill-overview-item--unlearned:after{background:linear-gradient(90deg,#fb923cdb,#ffcd7c80)}.de-skill-tabs{background:#1e90ff0d;border:1px solid #4facfe14;border-radius:16px;gap:0;margin-bottom:12px;padding:2px;display:flex}.de-skill-tab{text-align:center;color:#4a6a8a;cursor:pointer;background:0 0;border:none;border-radius:14px;flex:1;padding:8px 10px;font-size:14px;transition:all .3s}.de-skill-tab.active{color:#fff;background:linear-gradient(135deg,#4facfee6,#00f2fed9);font-weight:700;box-shadow:0 2px 8px #4facfe40}.de-category-slider{grid-template-columns:28px minmax(0,1fr) 28px;align-items:center;gap:8px;margin-bottom:12px;display:grid}.de-category-nav{color:#4a6a8a;cursor:pointer;background:#f0f8ffb3;border:1px solid #4facfe1f;border-radius:999px;width:28px;height:28px;font-size:18px;line-height:1}.de-category-tags{scrollbar-width:none;gap:8px;padding:2px 4px 2px 0;display:flex;overflow-x:auto}.de-category-tags::-webkit-scrollbar{display:none}.de-workbench-table-wrap,.de-log-list,.de-shell-body{scrollbar-width:thin;scrollbar-color:#2ea1ffcc #c9e3fc7a}.de-workbench-table-wrap::-webkit-scrollbar{width:10px}.de-log-list::-webkit-scrollbar{width:10px}.de-shell-body::-webkit-scrollbar{width:10px}.de-workbench-table-wrap::-webkit-scrollbar-track{background:linear-gradient(#e7f3ffe0,#d2e6fa94);border:1px solid #97c6ee80;border-radius:999px}.de-log-list::-webkit-scrollbar-track{background:linear-gradient(#e7f3ffe0,#d2e6fa94);border:1px solid #97c6ee80;border-radius:999px}.de-shell-body::-webkit-scrollbar-track{background:linear-gradient(#e7f3ffe0,#d2e6fa94);border:1px solid #97c6ee80;border-radius:999px}.de-workbench-table-wrap::-webkit-scrollbar-thumb{background:linear-gradient(#46b3fffa,#2490f4f2);border:1px solid #ffffffd1;border-radius:999px;box-shadow:inset 0 1px #ffffff8c,0 0 8px #4facfe2e}.de-log-list::-webkit-scrollbar-thumb{background:linear-gradient(#46b3fffa,#2490f4f2);border:1px solid #ffffffd1;border-radius:999px;box-shadow:inset 0 1px #ffffff8c,0 0 8px #4facfe2e}.de-shell-body::-webkit-scrollbar-thumb{background:linear-gradient(#46b3fffa,#2490f4f2);border:1px solid #ffffffd1;border-radius:999px;box-shadow:inset 0 1px #ffffff8c,0 0 8px #4facfe2e}.de-workbench-table-wrap::-webkit-scrollbar-thumb:hover{background:linear-gradient(#3aaaff,#1780e7fa)}.de-log-list::-webkit-scrollbar-thumb:hover{background:linear-gradient(#3aaaff,#1780e7fa)}.de-shell-body::-webkit-scrollbar-thumb:hover{background:linear-gradient(#3aaaff,#1780e7fa)}.de-tag{text-align:center;color:#4a6a8a;cursor:pointer;background:#1e90ff0f;border:1px solid #4facfe14;border-radius:999px;flex:none;min-width:58px;padding:8px 14px;font-size:13px;transition:all .3s}.de-tag-label{text-align:center;font-weight:600;display:block}.de-tag.active{color:#fff;background:linear-gradient(135deg,#4facfee6,#00f2fed9);border-color:#0000;box-shadow:0 4px 10px #4facfe2e}.de-skill-list-scroll{flex-direction:column;flex:1;gap:6px;min-height:0;padding-right:4px;display:flex;overflow-y:auto}.de-skill-card-row{background:linear-gradient(#f4faffeb,#ebf6ffdb);border:1px solid #4facfe1f;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;min-height:52px;padding:8px 12px;display:flex;box-shadow:0 2px 10px #1e90ff0a,inset 0 1px #ffffff80}.de-skill-card-row--clickable{cursor:pointer;transition:border-color .18s,box-shadow .18s,transform .18s}.de-skill-card-row--clickable:hover{border-color:#4facfe7a;transform:translateY(-1px);box-shadow:0 0 0 2px #4facfe1f}.de-skill-card-main{flex:1;gap:6px;min-width:0;display:grid}.de-skill-card-name{color:#214566;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;line-height:1.2;overflow:hidden}.de-skill-card-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.de-skill-card-badge,.de-skill-card-schedule{color:#41627f;background:#4facfe14;border:1px solid #4facfe1f;border-radius:999px;align-items:center;min-height:24px;padding:0 10px;font-size:12px;display:inline-flex}.de-skill-card-actions{align-items:center;gap:8px;display:flex}.de-skill-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#59adf5eb,#3ad6f3e6);border:none;border-radius:999px;min-width:68px;padding:7px 14px;font-size:13px;font-weight:600;box-shadow:0 2px 8px #4facfe29}.de-skill-btn--danger{background:linear-gradient(135deg,#ff9669eb,#ff785eeb)}.de-skill-btn:disabled{cursor:not-allowed;opacity:.62;box-shadow:none}.de-avatar-wrapper{flex:1;width:100%;max-width:780px;min-height:520px;position:relative}.de-speech-bubble{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:12;pointer-events:auto;background:linear-gradient(#fcfeffc7,#e1eeffad);border:1px solid #4facfe38;border-radius:24px 24px 24px 12px;width:min(100%,320px);max-width:320px;padding:16px 16px 14px;position:absolute;top:24%;right:2%;box-shadow:0 14px 28px #1e3a5c1a,inset 0 1px #ffffff94}.de-speech-label{color:#27567f;letter-spacing:.08em;margin-bottom:8px;font-size:12px;font-weight:700;display:block}.de-speech-text{color:#16324e;min-height:60px;font-size:13px;line-height:1.52}.de-speech-bubble--employee{border-radius:18px 18px 18px 8px;box-shadow:0 10px 22px #1e3a5c1a,inset 0 1px #ffffff94}.de-speech-bubble--employee .de-speech-text{min-height:0;margin:0 0 8px}.de-speech-workflow{text-align:left;cursor:pointer;background:#f7fbffc7;border:1px solid #4facfe29;border-radius:12px;grid-template-columns:auto minmax(0,1fr);gap:2px 7px;width:100%;min-width:0;padding:8px 9px;display:grid}.de-speech-workflow:hover{background:#eff8ffeb;border-color:#4facfe61}.de-speech-workflow:focus-visible{outline-offset:2px;outline:2px solid #4facfe8f}.de-speech-workflow span{color:#0c5a85;white-space:nowrap;font-size:10px;font-weight:800;line-height:1.35}.de-speech-workflow strong{color:#143450;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;line-height:1.35;overflow:hidden}.de-speech-workflow small{color:#58728e;-webkit-line-clamp:2;-webkit-box-orient:vertical;grid-column:2;min-width:0;font-size:10px;line-height:1.35;display:-webkit-box;overflow:hidden}.de-speech-workflow span:last-of-type,.de-speech-workflow span:last-of-type+small{margin-top:3px}.de-workbench{background:linear-gradient(#ffffffc7,#ebf4fff0);border:1px solid #4facfe29;border-radius:14px;grid-template-rows:auto minmax(0,1fr);gap:10px;min-height:0;padding:12px;display:grid;overflow:hidden}.de-workbench-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.de-workbench>.de-card-title-bar{border-radius:14px 14px 0 0;min-height:42px;margin:-12px -12px 0}.de-workbench-head--bar{flex-wrap:nowrap}.de-workbench-head--bar:after,.de-report-summary-head--bar:after{content:none}.de-workbench-title-row{align-items:baseline;gap:10px;min-width:0;display:flex}.de-workbench-title-row h3{color:#143450;margin:0;font-size:16px}.de-workbench-count{color:#5b7590;white-space:nowrap;font-size:11px}.de-workbench-table-wrap{background:#f7fbffeb;border:1px solid #4facfe24;border-radius:12px;min-height:0;overflow-y:auto}.de-workbench-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;font-size:12px}.de-workbench-table th{z-index:1;color:#29577f;text-align:left;background:#dcecfcfa;border-bottom:1px solid #4facfe14;padding:9px 8px;font-weight:700;position:sticky;top:0}.de-workbench-table td{color:#173550;vertical-align:top;border-bottom:1px solid #4facfe14;padding:9px 8px}.de-workbench-clickable-row{cursor:pointer;transition:background .18s,box-shadow .18s}.de-workbench-clickable-row:hover{background:#4facfe1a;box-shadow:inset 3px 0 #2ca8ffb8}.de-workbench-empty{text-align:center;color:#6b849d;padding:40px 12px}.de-workbench-task-name{color:#16324e;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.de-workbench-desc{color:#58728e;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.55;display:-webkit-box;overflow:hidden}.de-workbench-plan-progress{color:#5b7590;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.de-workbench-actions{flex-wrap:wrap;gap:6px;display:flex}.de-workbench-actions button{color:#22659a;cursor:pointer;background:#4facfe24;border:none;border-radius:999px;min-height:28px;padding:0 9px;font-size:11px}.de-workbench-action-accent{color:#8c5b04!important;background:#ffb83d33!important}.de-log-panel{background:linear-gradient(#ffffffc2,#eaf3fff0);border:1px solid #4facfe29;border-radius:14px;grid-template-rows:auto minmax(0,1fr);gap:12px;min-height:0;padding:12px;display:grid;overflow:hidden}.de-log-panel-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.de-log-panel-title-row{align-items:baseline;gap:10px;min-width:0;display:flex}.de-log-panel-title-row h3{color:#143450;margin:0;font-size:16px}.de-log-panel-title-row p{color:#5b7590;margin:0;font-size:11px}.de-log-list{justify-content:center;align-items:center;min-height:0;display:flex;overflow-y:auto}.de-report-summary{background:linear-gradient(#ffffffc2,#e7f2fff0);border:1px solid #4facfe29;border-radius:14px;gap:10px;min-height:0;padding:12px;display:grid;overflow:hidden}.de-report-summary-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.de-report-summary>.de-card-title-bar{border-radius:14px 14px 0 0;min-height:42px;margin:-12px -12px 0}.de-report-summary-head--bar{flex-wrap:nowrap}.de-report-summary-title-row{align-items:baseline;gap:10px;min-width:0;display:flex}.de-report-summary-title-row h3{color:#143450;margin:0;font-size:16px}.de-report-badge{font:inherit;cursor:pointer;border:0;border-radius:999px;align-items:center;padding:6px 12px;font-size:12px;font-weight:700;display:inline-flex}.de-report-badge:hover{box-shadow:0 0 0 2px #4facfe24}.de-report-badge--waiting{color:#8c5b04;background:#ffb83d2e}.de-report-badge--ready{color:#0f7a44;background:#20bf6b24}.de-report-summary-body{gap:10px;display:grid}.de-report-schedule-row{grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:8px;display:grid}.de-report-schedule-row label{color:#5b7590;grid-column:1/-1;align-items:center;gap:8px;min-width:0;font-size:12px;font-weight:800;display:flex}.de-report-schedule-row input{color:#16324e;background:#f7fbfff5;border:1px solid #4facfe2e;border-radius:9px;min-width:0;height:30px;padding:0 9px}.de-report-download-btn,.de-report-preview-btn{white-space:nowrap;justify-content:center;align-items:center;gap:5px;min-width:0;min-height:30px;display:inline-flex}.de-report-download-btn:not(:disabled){color:#0c5a85;background:linear-gradient(#ebf8fffa,#c8e9ffe6);border-color:#2ca8ff6b;box-shadow:0 4px 10px #2ca8ff1f,inset 0 1px #ffffffad}.de-report-download-btn:disabled{opacity:.5;cursor:not-allowed}.de-report-preview-overlay{z-index:330}.de-report-preview-modal{background:linear-gradient(#fcfefffa,#e9f5fff5);border:1px solid #4facfe33;border-radius:20px;grid-template-rows:auto auto minmax(0,1fr) auto;gap:14px;width:min(780px,100vw - 56px);max-height:min(720px,100vh - 54px);padding:18px;display:grid;box-shadow:0 24px 70px #15375442,inset 0 1px #ffffff9e}.de-report-preview-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.de-report-preview-summary div{background:#f7fbfff5;border:1px solid #4facfe1f;border-radius:12px;justify-content:space-between;align-items:baseline;gap:8px;min-width:0;padding:9px 10px;display:flex}.de-report-preview-summary span{color:#5b7590;white-space:nowrap;font-size:12px}.de-report-preview-summary strong{color:#16324e;font-size:20px;line-height:1}.de-report-preview-content{scrollbar-gutter:stable;background:#f7fbffdb;border:1px solid #4facfe1f;border-radius:14px;align-content:start;gap:10px;min-height:0;max-height:min(460px,100vh - 260px);padding:14px;display:grid;overflow-y:auto}.de-report-preview-content p{color:#173550;margin:0;font-size:13px;line-height:1.65}.de-report-actions{gap:10px;display:flex}.de-report-generate-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2ca8ff,#00c6ff);border:none;border-radius:12px;min-width:118px;padding:10px 16px;font-size:14px;font-weight:700}.de-report-generate-btn:disabled{opacity:.6;cursor:not-allowed}.de-report-download{color:#16324e;background:#ffffffe6;border:1px solid #4facfe29;border-radius:12px;flex:1;align-items:center;padding:10px 16px;font-size:14px;display:flex}.de-report-download--disabled{opacity:.55}.de-report-meta{gap:4px;display:grid}.de-report-meta p{color:#5b7590;margin:0;font-size:12px}.de-profile-settings-modal{background:linear-gradient(#fafdfffa,#e8f4fffa);border:1px solid #4facfe38;border-radius:18px;grid-template-rows:auto minmax(0,1fr) auto;gap:14px;width:min(520px,100%);max-height:min(720px,100vh - 48px);padding:18px;display:grid;box-shadow:0 24px 60px #1d436d2e}.de-profile-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.de-profile-settings-grid label,.de-profile-status-toggle{color:#5b7590;gap:6px;font-size:12px;font-weight:800;display:grid}.de-profile-settings-grid input{color:#16324e;background:#f7fbfff5;border:1px solid #4facfe2e;border-radius:10px;min-width:0;height:36px;padding:0 10px}.de-profile-status-toggle div{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.de-profile-status-toggle button{color:#22659a;cursor:pointer;background:#4facfe1a;border:1px solid #4facfe2e;border-radius:10px;min-height:36px;font-weight:800}.de-profile-status-toggle button.active{color:#fff;background:var(--de-btn-gradient-active);border-color:#0000;box-shadow:0 2px 8px #4facfe38}.de-gender-toggle{gap:0;display:flex}.de-gender-btn{color:#1e90ff80;cursor:pointer;background:#ffffff80;border:1px solid #4facfe40;padding:8px 36px;font-size:15px;font-weight:700;transition:all .3s;transform:skew(-15deg)}.de-gender-btn:first-child{border-radius:10px 0 0 10px}.de-gender-btn:last-child{border-radius:0 10px 10px 0}.de-gender-btn span{display:inline-block;transform:skew(15deg)}.de-gender-btn.active{color:#fff;background:linear-gradient(135deg,#4facfe,#00f2fe);border-color:#0000;box-shadow:0 3px 12px #4facfe66}.de-skin-row{-webkit-backdrop-filter:blur(20px)saturate(1.2);backdrop-filter:blur(20px)saturate(1.2);background:#e6f2ffbf;border:1px solid #4facfe38;border-radius:12px;gap:6px;margin-top:8px;padding:8px 10px;display:flex;box-shadow:0 4px 24px #1e90ff14}.de-skin-option{cursor:pointer;background:#ffffff4d;border:2px solid #0000;border-radius:8px;flex-direction:column;align-items:center;gap:3px;padding:5px 8px;transition:all .3s;display:flex}.de-skin-option.active{background:linear-gradient(135deg,#4facfe33,#00f2fe26);border-color:#4facfe;box-shadow:0 0 12px #4facfe4d}.de-skin-preview{background:#ffffff80;border-radius:6px;width:38px;height:50px;overflow:hidden}.de-skin-preview img{object-fit:contain;object-position:center top;width:100%;height:100%}.de-skin-label{color:#4a6a8a;white-space:nowrap;font-size:11px}.de-shell-body{flex:1;min-height:0;position:relative;overflow:hidden auto}.de-dashboard .de-card{margin:0}.de-dashboard .de-card-body{padding:14px 16px}@media(max-width:1280px){.de-mission-center-page{padding:10px 12px}.de-dashboard{height:auto;min-height:calc(100vh - 60px)}.de-dashboard-content{grid-template-columns:minmax(248px,.76fr) minmax(340px,1.18fr) minmax(248px,.68fr);gap:8px;padding:7px 8px 72px;overflow:hidden}.de-dashboard-center{min-height:0;padding:0 0 44px;overflow:visible}.de-right-panels{grid-template-rows:minmax(0,1fr) minmax(158px,.34fr);gap:8px;overflow:hidden}.de-workbench-table-wrap,.de-log-list{max-height:none}.de-speech-bubble{width:min(260px,100% + 12px);padding:8px 10px;top:24%;left:50%;right:auto;transform:translate(-50%)}.de-card{border-radius:10px}.de-card-body{padding:10px 12px}.de-card-title-bar{padding:7px 13px}.de-card-title-bar-text{letter-spacing:.5px;font-size:14px}.de-badge{min-height:20px;padding:0 8px;font-size:11px}.de-speech-label{margin-bottom:5px;font-size:11px}.de-speech-text{min-height:36px;font-size:11px;line-height:1.4}.de-speech-bubble--employee .de-speech-text{min-height:0}.de-speech-workflow{gap:2px 6px;padding:7px 8px}.de-speech-workflow strong{font-size:11px}.de-speech-workflow small{-webkit-line-clamp:1;font-size:10px}.de-avatar-wrapper{max-width:560px;min-height:420px}.de-avatar-img{max-width:96%;height:56vh;max-height:470px;margin-bottom:-10px}.de-avatar-glass-space{width:100%;max-width:360px}.de-skin-switch{bottom:5px!important}.de-gender-btn{padding:6px 24px;font-size:13px}.de-skin-row{gap:5px;margin-top:6px;padding:6px 8px}.de-skin-preview{width:28px;height:36px}.de-skin-option{padding:3px 6px}.de-skin-label{font-size:10px}.de-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:7px 10px}.de-info-item{gap:3px;padding:4px 0}.de-info-item label{font-size:12px}.de-info-item span{font-size:13px;line-height:1.4}.de-template-overview,.de-skill-overview{border-radius:14px;margin-bottom:8px}.de-template-overview-item,.de-skill-overview-item{gap:4px;min-height:54px;padding:7px 10px 10px}.de-template-overview-label,.de-skill-overview-label{font-size:11px}.de-template-overview-value,.de-skill-overview-value{font-size:24px}.de-skill-tabs{border-radius:12px;margin-bottom:8px}.de-skill-tab{border-radius:10px;padding:6px 8px;font-size:12px}.de-category-slider{grid-template-columns:24px minmax(0,1fr) 24px;gap:6px;margin-bottom:8px}.de-category-nav{width:24px;height:24px;font-size:16px}.de-tag{min-width:50px;padding:6px 11px;font-size:12px}.de-workbench,.de-log-panel,.de-report-summary{border-radius:12px;gap:8px;padding:10px}.de-workbench-head,.de-log-panel-head,.de-report-summary-head{align-items:flex-start}.de-workbench-title-row,.de-log-panel-title-row,.de-report-summary-title-row{gap:2px;display:grid}.de-workbench-title-row h3,.de-log-panel-title-row h3,.de-report-summary-title-row h3{font-size:15px}.de-workbench-count,.de-log-panel-title-row p{font-size:11px}.de-workbench-table{table-layout:fixed;font-size:12px}.de-workbench-table th,.de-workbench-table td{padding:7px 6px}.de-workbench-table th:nth-child(4),.de-workbench-table td:nth-child(4){display:none}.de-workbench-actions button{min-height:26px;padding:0 7px;font-size:11px}.de-report-actions{flex-direction:column}.de-report-generate-btn{min-width:96px;padding:8px 12px;font-size:12px}.de-report-download{padding:8px 12px;font-size:12px}.de-mission-center-layout{grid-template-columns:minmax(300px,.9fr) minmax(380px,1.35fr);gap:10px}.de-mc-card-list{gap:6px}.de-mission-card{border-radius:10px;padding:9px 10px}.de-mission-card-header{margin-bottom:5px}.de-mission-card-title{font-size:13px}.de-mission-card-desc{-webkit-line-clamp:1;margin-bottom:5px;font-size:12px;line-height:1.38}.de-mission-card-meta{gap:8px;font-size:11px}.de-mission-card-actions{margin-top:7px;padding-top:7px}.de-mission-card-time{font-size:10px}.de-btn-run{padding:4px 10px;font-size:11px}.de-date-filter-row{gap:6px;margin-bottom:8px;padding:8px}.de-date-filter-field{justify-content:space-between;width:100%}.de-date-filter-field input{min-width:136px}.de-date-filter-summary{width:100%;margin-left:0}.de-filter-row{gap:5px;margin-bottom:8px}.de-filter-chip{padding:3px 9px;font-size:11px}.de-drawer{border-radius:14px;gap:10px;padding:12px}.de-drawer-title-group h3{font-size:17px}.de-drawer-eyebrow{font-size:10px}.de-drawer-meta{font-size:11px}.de-detail-section{border-radius:10px;padding:9px}.de-detail-section h4{margin-bottom:7px;font-size:12px}.de-detail-section-head h4{margin-bottom:0}.de-detail-kv{grid-template-columns:60px minmax(0,1fr);gap:5px 8px;font-size:11px}.de-chain-row{grid-template-columns:64px minmax(0,1fr);font-size:10px}.de-chain-row time{text-align:left;grid-column:1/-1}.de-step-node{grid-template-columns:20px 1fr;gap:8px;padding-bottom:11px}.de-step-content strong{font-size:13px}.de-step-content span{font-size:11px}.de-step-dot{width:10px;height:10px}.de-step-line{left:4px}.de-task-run-card{border-radius:9px;padding:7px 8px}.de-task-run-meta{gap:5px 8px;font-size:10px}.de-event-row{grid-template-columns:64px minmax(0,1fr);font-size:10px}.de-event-row time{text-align:left;grid-column:1/-1}.de-log-entry{border-radius:10px;gap:4px;padding:8px 10px;font-size:11px}.de-log-entry-meta strong{font-size:12px}.de-log-entry p{font-size:11px;line-height:1.38}}@media(max-width:1679px){.de-dashboard-content{grid-template-columns:minmax(278px,.86fr) minmax(360px,1.08fr) minmax(276px,.78fr);gap:12px;padding:8px 14px 10px}.de-dashboard-center{padding:4px 0 80px}}@media(max-width:1439px){.de-dashboard-content{grid-template-columns:minmax(260px,.9fr) minmax(300px,.96fr) minmax(260px,.74fr);gap:10px;padding:8px 12px}.de-dashboard-center{padding:4px 0 72px}}@media(max-width:1280px){.de-dashboard-content{gap:8px;padding:7px 8px 72px}.de-dashboard-center{padding:4px 0 56px}.de-log-entry{border-radius:10px;gap:4px;padding:8px 10px;font-size:11px}.de-log-entry-meta strong{font-size:12px}.de-log-entry p{font-size:11px;line-height:1.38}}@media(max-height:820px)and (min-width:1180px){.de-dashboard--compact .de-dashboard-content{grid-template-columns:minmax(320px,.9fr) minmax(360px,.86fr) minmax(410px,1.05fr);gap:10px;padding:6px 14px 8px}.de-dashboard--compact .de-dashboard-left{gap:8px}.de-dashboard--compact .de-card-title-bar{min-height:40px;padding:7px 14px}.de-dashboard--compact .de-card-title-bar-text{font-size:15px}.de-dashboard--compact .de-card-body{padding:10px 14px}.de-person-card--compact .de-info-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:7px 10px}.de-person-card--compact .de-info-item{gap:2px;padding:2px 0}.de-person-card--compact .de-info-item label{font-size:11px}.de-person-card--compact .de-info-item span{font-size:12px;line-height:1.32}.de-person-card--compact .de-report-download{padding:7px 10px;margin-top:8px!important;font-size:11px!important;line-height:1.32!important}.de-dashboard--compact .de-workday-toolbar{grid-template-columns:minmax(0,1fr) 92px;gap:8px;margin-bottom:8px}.de-dashboard--compact .de-workday-toolbar input{border-radius:9px;height:30px}.de-dashboard--compact .de-template-overview{border-radius:12px;margin-bottom:8px}.de-dashboard--compact .de-template-overview-item{gap:3px;min-height:54px;padding:7px 10px 10px}.de-dashboard--compact .de-template-overview-label{font-size:11px}.de-dashboard--compact .de-template-overview-value{font-size:24px}.de-dashboard--compact .de-template-list-scroll{gap:6px}.de-dashboard--compact .de-template-manager-body>.de-task-date-context{margin:-2px 0 6px;padding:6px 7px}.de-dashboard--compact .de-task-manager-preview{border-radius:12px;gap:6px;padding:8px}.de-dashboard--compact .de-task-manager-preview-row{border-radius:10px;padding:8px 9px}.de-dashboard--compact .de-template-task-list .de-task-manager-preview-row{grid-template-columns:minmax(0,1fr) auto;gap:6px}.de-dashboard--compact .de-template-item-actions .de-btn-sm{min-height:24px;padding:0 7px;font-size:10px}.de-dashboard--compact .de-duty-card--compact{border-radius:10px;min-height:86px;padding:8px 10px}.de-dashboard--compact .de-template-card-main{gap:4px}.de-dashboard--compact .de-template-card-name{font-size:13px}.de-dashboard--compact .de-template-card-desc{-webkit-line-clamp:1;font-size:11px;line-height:1.34}.de-dashboard--compact .de-template-card-meta{gap:6px;font-size:10px}.de-dashboard--compact .de-duty-card-foot{margin-top:0}.de-dashboard--compact .de-duty-card-foot .de-btn-sm{min-height:24px;padding:0 9px;font-size:11px}.de-dashboard--compact .de-duty-selected-mark{min-width:36px;height:22px;font-size:10px}.de-dashboard--compact .de-dashboard-center{padding:0 0 10px!important}.de-dashboard--compact .de-avatar-wrapper{max-width:520px!important;min-height:430px!important;transform:translateY(-2px)!important}.de-dashboard--compact .de-avatar-img{height:58vh;max-height:450px;margin-bottom:-32px}.de-dashboard--compact .de-avatar-glass-space{max-width:340px;max-height:520px}.de-dashboard--compact .de-avatar-state-label{min-height:24px;font-size:12px;top:17%}.de-dashboard--compact .de-speech-bubble{border-radius:18px 18px 18px 10px;width:250px!important;padding:9px 11px!important;top:38%!important;left:27%!important}.de-dashboard--compact .de-speech-label{margin-bottom:5px;font-size:11px}.de-dashboard--compact .de-speech-text{min-height:0;font-size:11px;line-height:1.38}.de-dashboard--compact .de-speech-workflow{gap:2px 6px;padding:7px 8px}.de-dashboard--compact .de-speech-workflow strong{font-size:11px}.de-dashboard--compact .de-speech-workflow small{-webkit-line-clamp:1;font-size:10px}.de-dashboard--compact .de-skin-row{gap:5px;margin-top:5px;padding:6px 8px}.de-dashboard--compact .de-right-panels{grid-template-rows:minmax(0,1fr) minmax(156px,.33fr);gap:8px}.de-dashboard--compact .de-workbench,.de-dashboard--compact .de-log-panel,.de-dashboard--compact .de-report-summary{border-radius:12px;gap:8px;padding:10px}.de-dashboard--compact .de-workbench-title-row,.de-dashboard--compact .de-log-panel-title-row,.de-dashboard--compact .de-report-summary-title-row{gap:2px;display:grid}.de-dashboard--compact .de-workbench-title-row h3,.de-dashboard--compact .de-log-panel-title-row h3,.de-dashboard--compact .de-report-summary-title-row h3{font-size:15px}.de-dashboard--compact .de-workday-execution-body{grid-template-rows:auto minmax(80px,.48fr) auto minmax(0,1fr);gap:6px}.de-dashboard--compact .de-execution-status-strip{gap:5px}.de-dashboard--compact .de-execution-status-strip span{padding:6px 7px}.de-dashboard--compact .de-execution-status-strip strong{font-size:16px}.de-dashboard--compact .de-task-summary-grid{gap:5px}.de-dashboard--compact .de-task-summary-scroll .de-task-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.de-dashboard--compact .de-task-summary-card{border-radius:10px;gap:3px 5px;min-height:76px;padding:7px}.de-dashboard--compact .de-task-summary-title{font-size:11px}.de-dashboard--compact .de-task-summary-counts{gap:4px}.de-dashboard--compact .de-task-summary-counts span{padding:5px}.de-dashboard--compact .de-task-summary-counts em{font-size:9px}.de-dashboard--compact .de-task-summary-counts strong{font-size:13px}.de-dashboard--compact .de-log-entry{border-radius:10px;gap:4px;padding:7px 9px}.de-dashboard--compact .de-log-entry-meta strong{font-size:12px}.de-dashboard--compact .de-log-entry p{-webkit-line-clamp:1;font-size:11px;line-height:1.34}.de-dashboard--compact .de-decision-chain-note{margin-top:4px;font-size:10px}.de-dashboard--compact .de-report-summary,.de-dashboard--compact .de-report-summary-body,.de-dashboard--compact .de-report-schedule-row{gap:6px}.de-dashboard--compact .de-report-download-btn,.de-dashboard--compact .de-report-preview-btn{gap:4px;min-height:28px}.de-dashboard--compact .de-report-meta p{font-size:10px;line-height:1.3}.de-task-manager-modal-overlay{padding:16px}.de-task-manager-modal{border-radius:16px;gap:12px;width:min(1000px,100vw - 36px);max-height:calc(100vh - 36px);padding:14px}.de-task-manager-modal-body{grid-template-columns:minmax(0,1.24fr) minmax(280px,.78fr);gap:10px}.de-task-manager-modal-head h3{font-size:19px}.de-task-manager-modal-head p{font-size:12px;line-height:1.42}.de-workday-guide-modal{gap:10px;width:min(1040px,100vw - 36px)}.de-workday-guide-steps{gap:8px}.de-workday-guide-step{border-radius:12px;padding:8px 9px}.de-workday-guide-step span{width:22px;height:22px;font-size:11px}.de-workday-guide-step strong{font-size:12px}.de-workday-guide-step p{font-size:10px;line-height:1.32}.de-workday-guide-body{grid-template-columns:minmax(0,1.32fr) minmax(260px,.72fr);gap:10px}.de-workday-guide-duty-list{gap:7px}.de-workday-guide-duty-list .de-duty-card{grid-template-columns:68px minmax(0,1fr);gap:7px;min-height:94px}.de-workday-guide-side{border-radius:13px;gap:8px;padding:10px}.de-workday-guide-summary{border-radius:11px;padding:9px}.de-workday-guide-summary strong{font-size:14px}.de-workday-guide-summary p{font-size:11px;line-height:1.38}.de-task-manager-column{border-radius:13px;gap:8px;padding:10px}.de-task-manager-duty-list .de-duty-card{grid-template-columns:72px minmax(0,1fr);gap:8px;min-height:88px}.de-task-manager-duty-check{gap:6px;font-size:11px}.de-task-manager-duty-check input{width:20px;height:20px}.de-task-manager-decision-card{border-radius:10px;padding:9px 10px}}@media(max-width:1023px){.de-mission-center-page{height:auto;min-height:100%;padding:10px 12px 96px;overflow:visible}.de-mission-center-layout{grid-template-columns:1fr;height:auto;min-height:auto;overflow:visible}.de-mc-list,.de-mc-detail{min-height:auto;display:flex;overflow:visible}.de-mc-list>.de-card,.de-mc-detail>.de-card{height:auto;min-height:0}.de-mc-list .de-card-body,.de-mc-detail .de-card-body{overflow:visible}.de-dashboard{height:auto;min-height:100%;overflow:visible}.de-dashboard-content{grid-template-columns:1fr;min-height:auto;padding:8px 12px 96px;overflow:visible}.de-dashboard-left,.de-dashboard-center,.de-dashboard-right{overflow:visible}.de-right-panels{grid-template-rows:auto auto;height:auto}.de-workbench,.de-log-panel,.de-report-summary{min-height:180px}.de-workday-execution-body{grid-template-rows:auto auto auto auto}.de-task-summary-scroll,.de-run-detail-list{max-height:360px}.de-run-detail-panel{min-height:260px}}.de-log-entries{flex-direction:column;gap:6px;display:flex;overflow-y:auto}.de-log-entry{text-align:left;color:#16324e;cursor:pointer;background:#f8fbfff5;border:1px solid #4facfe1f;border-radius:12px;gap:6px;width:100%;padding:10px 12px;font-family:inherit;font-size:12px;transition:border-color .18s,box-shadow .18s;display:grid}.de-log-entry:hover,.de-log-entry--active{border-color:#4facfe57;box-shadow:0 0 0 2px #4facfe14}.de-log-entry-meta{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.de-log-entry-meta strong{font-size:13px;line-height:1.4}.de-log-entry-meta span{color:#5b7590;font-size:11px}.de-log-entry p{color:#5b7590;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:12px;line-height:1.5;display:-webkit-box;overflow:hidden}.de-workbench-actions button:hover{background:#4facfe38}.de-workbench-actions button:disabled{opacity:.45;cursor:not-allowed}.de-status-dot--running{background:var(--de-primary);border-radius:50%;width:8px;height:8px;margin-right:6px;animation:1.5s ease-in-out infinite de-pulse-dot;display:inline-block}.de-elapsed{color:var(--de-text-muted);font-variant-numeric:tabular-nums;font-size:11px}.de-tag-count-badge{color:#fff;background:linear-gradient(135deg,#ff7d66,#ff5b6b);border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 6px;font-size:11px;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:-6px;right:-2px;box-shadow:0 3px 8px #ff5b6b47}.de-skill-btn--schedule{background:linear-gradient(135deg,#0ea5e9f0,#06b6d4e0)!important}.de-schedule-overlay{z-index:28;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a1c2c47;justify-content:center;align-items:center;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.de-schedule-dialog{background:linear-gradient(#fcfeffe6,#e5f0ffe0);border:1px solid #4facfe33;border-radius:24px;gap:18px;width:min(520px,100vw - 32px);padding:20px;display:grid;box-shadow:0 20px 48px #1e3a5c2e,inset 0 1px #ffffff80}.de-schedule-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.de-schedule-title{color:#173553;font-size:18px;font-weight:700;display:block}.de-schedule-skill-id{color:#5b7590;margin-top:4px;font-size:13px;display:block}.de-schedule-close{cursor:pointer;color:#3c6486;background:#4facfe1f;border:none;border-radius:999px;padding:8px 14px}.de-schedule-section{gap:12px;display:grid}.de-schedule-label{color:#41627f;font-size:13px}.de-schedule-desc{color:#315576;margin:0;font-size:13px;line-height:1.6}.de-schedule-presets{flex-wrap:wrap;gap:10px;display:flex}.de-schedule-preset{color:#315576;cursor:pointer;background:#4facfe1a;border:none;border-radius:999px;padding:8px 14px;font-size:13px}.de-schedule-preset.is-active{color:#fff;background:linear-gradient(135deg,#4facfeeb,#00f2fedb);font-weight:700;box-shadow:0 4px 12px #4facfe38}.de-schedule-switch{color:#315576;background:#ffffffbd;border:1px solid #4facfe1f;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;font-size:13px;display:flex}.de-schedule-switch input[type=checkbox]{accent-color:#4facfe;width:18px;height:18px}.de-schedule-notice{color:#315576;background:#4facfe14;border:1px solid #4facfe1f;border-radius:14px;padding:12px 14px;font-size:13px;line-height:1.5}.de-schedule-result{border-radius:12px;padding:10px 12px;font-size:13px;line-height:1.5}.de-schedule-result--success{color:#176a3a;background:#1b9c5a1a;border:1px solid #1b9c5a33}.de-schedule-result--pending{color:#7a5509;background:#f5ad2d1f;border:1px solid #f5ad2d3d}.de-schedule-result--error{color:#ad3434;background:#e048481a;border:1px solid #e0484833}.de-schedule-footer{justify-content:flex-end;gap:12px;display:flex}.de-schedule-btn-secondary{cursor:pointer;color:#3c6486;background:#4facfe1f;border:none;border-radius:999px;padding:8px 14px}.de-schedule-btn-primary{cursor:pointer;color:#fff;background:linear-gradient(135deg,#4facfeeb,#00f2fedb);border:none;border-radius:999px;padding:8px 18px;box-shadow:0 4px 12px #4facfe38}.de-schedule-btn-primary:disabled{opacity:.55;cursor:not-allowed}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false} +/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*,:before,:after{box-sizing:border-box}body{background:var(--pc-bg-base);color:var(--pc-text-primary);font-family:var(--font-sans),ui-sans-serif,system-ui,sans-serif;margin:0}}@layer components{.btn-electric{border:1px solid var(--pc-accent-dim);background:linear-gradient(135deg,var(--pc-accent-glow),transparent);color:var(--pc-accent-light);cursor:pointer;border-radius:9999px;justify-content:center;align-items:center;font-weight:600;transition:all .2s;display:inline-flex}.btn-electric:hover{background:var(--pc-accent);color:#fff;border-color:var(--pc-accent)}.btn-electric:disabled{opacity:.4;cursor:not-allowed}.input-electric{border:1px solid var(--pc-border);background:var(--pc-bg-elevated);color:var(--pc-text-primary);border-radius:12px;outline:none;transition:border-color .2s}.input-electric:focus{border-color:var(--pc-accent);box-shadow:0 0 0 3px var(--pc-accent-glow)}.input-electric::placeholder{color:var(--pc-text-faint)}.card{border:1px solid var(--pc-border);background:var(--pc-bg-surface);border-radius:16px}.surface-panel{background:var(--pc-bg-elevated);border:1px solid var(--pc-border);border-radius:24px}.btn-icon{width:36px;height:36px;color:var(--pc-text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.btn-icon:hover{background:var(--pc-hover);color:var(--pc-text-primary)}.table-electric{border-collapse:collapse;width:100%}.table-electric th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--pc-text-muted);border-bottom:1px solid var(--pc-border);padding:10px 16px;font-size:10px;font-weight:600}.table-electric td{border-bottom:1px solid var(--pc-border);padding:12px 16px;font-size:13px}.chat-markdown>:first-child{margin-top:0}.chat-markdown>:last-child{margin-bottom:0}.chat-markdown p{margin:0}.chat-markdown p+p{margin-top:.75em}.chat-markdown ul,.chat-markdown ol{margin:.5em 0;padding-left:1.25em}.chat-markdown pre{margin:.5em 0 0}.chat-markdown code{white-space:break-spaces}}@layer utilities{.visible{visibility:visible}.relative{position:relative}.static{position:static}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.border{border-style:var(--tw-border-style);border-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.text-gradient-blue{background:linear-gradient(135deg,var(--pc-accent),#818cf8);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.animate-fade-in{animation:.3s ease-out fadeIn}.animate-fade-in-scale{animation:.3s ease-out fadeInScale}.animate-slide-in-up{animation:.4s ease-out slideInUp}.animate-float{animation:3s ease-in-out infinite float}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}}:root{--de-primary:#4facfe;--de-primary-2:#00f2fe;--de-primary-3:#00d4ff;--de-primary-4:#2d8cf0;--de-header-gradient:linear-gradient(135deg, #2d8cf0, #4facfe 40%, #00d4ff);--de-text-primary:#16324e;--de-text-heading:#1e3a5c;--de-text-body:#4a6a8a;--de-text-muted:#5b7590;--de-text-label:#6a8198;--de-success:#1b9c5a;--de-success-text:#0f7a44;--de-success-bg:#20bf6b24;--de-warning:#faad14;--de-warning-text:#8c5b04;--de-warning-bg:#ffb83d2e;--de-danger:#d94a4a;--de-danger-text:#a33b3b;--de-danger-bg:#f4606029;--de-glass-bg:#e6f2ffa6;--de-glass-border:#4facfe38;--de-glass-border-light:#4facfe1f;--de-glass-border-lighter:#4facfe14;--de-glass-blur:blur(20px) saturate(1.2);--de-overlay-bg:#4facfe0f;--de-overlay-md:#4facfe1f;--de-overlay-hover:#4facfe2e;--de-overlay-active:#4facfe38;--de-btn-gradient:linear-gradient(135deg, #2ca8ff, #00c6ff);--de-btn-shadow:0 10px 18px #2ca8ff38;--de-btn-gradient-blue:linear-gradient(135deg, #59adf5eb, #3ad6f3e6);--de-btn-gradient-active:linear-gradient(135deg, #4facfee6, #00f2fed9);--de-page-bg:linear-gradient(180deg, #d6e8f7, #e2f0fb 25%, #d8eaf8 50%, #cce2f5 75%, #c0d8f0);--de-page-grid:#4facfe0a;--de-font-family:Microsoft YaHei, PingFang SC, Helvetica Neue, Arial, sans-serif;--de-font-mono:Fira Code, Consolas, monospace}.de-page{background:var(--de-page-bg);min-height:100vh;font-family:var(--de-font-family);position:relative}.de-page:before{content:"";background-image:linear-gradient(var(--de-page-grid) 1px,transparent 0),linear-gradient(90deg,var(--de-page-grid) 1px,transparent 0);pointer-events:none;z-index:0;background-size:40px 40px;position:fixed;top:0;right:0;bottom:0;left:0}.de-page:after{content:"";pointer-events:none;z-index:0;background:radial-gradient(at 20% 100%,#4facfe14 0,#0000 50%),radial-gradient(at 80% 100%,#00f2fe0f 0,#0000 50%),radial-gradient(at 50% 100%,#4facfe0d 0,#0000 40%);height:40%;position:fixed;bottom:0;left:0;right:0}.de-page-content{z-index:1;position:relative}.de-card{background:var(--de-glass-bg);border:1px solid var(--de-glass-border);-webkit-backdrop-filter:var(--de-glass-blur);backdrop-filter:var(--de-glass-blur);border-radius:12px;position:relative;overflow:hidden;box-shadow:0 4px 24px #1e90ff0f,inset 0 0 0 1px #ffffff80,inset 0 1px #fff9,inset 0 -1px #4facfe1a,0 0 0 1.5px #4facfe1f}.de-card:before{content:"";background:linear-gradient(90deg,#0000 5%,#4facfe59 25%,#00f2fe40,#4facfe59 75%,#0000 95%);height:2px;position:absolute;top:0;left:0;right:0}.de-card:after{content:"";pointer-events:none;z-index:0;background:linear-gradient(#ffffff40,#0000 40%);border-radius:10px;position:absolute;top:2px;right:2px;bottom:2px;left:2px}.de-card-body{z-index:1;padding:14px 16px;position:relative}.de-card-title-bar{z-index:1;background:linear-gradient(90deg,#9ccef6e6,#b8defbd6 46%,#d7eeffc2);border-bottom:1px solid #4facfe2e;justify-content:space-between;align-items:center;gap:8px;padding:10px 18px;display:flex;position:relative;box-shadow:inset 0 1px #ffffffad,inset 0 -1px #4facfe14}.de-card-title-bar:before{content:"";background:linear-gradient(#79bff7e0,#aae0ffc7);border-radius:2px;width:3px;height:12px;margin-right:4px;display:inline-block;box-shadow:0 0 8px #9bd6ff29}.de-card-title-bar:after{content:"";background:linear-gradient(135deg,#a8d8ff4d,#d0eeff1f);border-radius:5px;width:32px;height:10px;position:absolute;top:8px;right:14px;box-shadow:inset 0 1px #ffffff52}.de-card-title-bar-text{color:#1e3a5c;letter-spacing:1.5px;flex:1;min-width:0;font-size:16px;font-weight:700}.de-badge{border-radius:999px;justify-content:center;align-items:center;min-height:24px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.de-badge-info{color:#22659a;background:#4facfe1f}.de-badge-success{color:#0f7a44;background:#20bf6b24}.de-badge-warning{color:#8c5b04;background:#ffb83d2e}.de-badge-danger{color:#a33b3b;background:#f4606029}.de-nav-btn{color:#ffffffbf;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff14;padding:6px 26px;font-size:13px;transition:all .25s;position:relative;transform:skew(-15deg)}.de-nav-btn span{display:inline-block;transform:skew(15deg)}.de-nav-btn.active{color:#1e88e5;background:#fffffff2;border-color:#fff9;font-weight:700;box-shadow:0 2px 10px #00000026}.de-nav-btn:hover:not(.active){color:#fff;background:#ffffff2e}@media(max-width:1679px){.de-card-body{padding:12px 14px}.de-card-title-bar{padding:9px 16px}.de-nav-btn{padding:6px 20px;font-size:12px}}@media(max-width:1439px){.de-card-body{padding:12px}.de-card-title-bar-text{letter-spacing:1px;font-size:15px}.de-nav-btn{padding:5px 16px;font-size:12px}}.de-gem{z-index:8;background:radial-gradient(circle,#4facfe 0,#4facfe80);width:16px;height:16px;animation:2s ease-in-out infinite de-gem-pulse;position:absolute;transform:rotate(45deg);box-shadow:0 0 15px #4facfe,0 0 30px #4facfe99}@keyframes de-gem-pulse{0%,to{opacity:.5;transform:rotate(45deg)scale(.9)}50%{opacity:1;transform:rotate(45deg)scale(1.4)}}.de-gem-1{animation-delay:0s;top:35%;left:38%}.de-gem-2{animation-delay:.6s;top:54%;left:32%}.de-gem-3{animation-delay:1.2s;top:36%;right:28%}@media(prefers-reduced-motion:reduce){.de-gem{animation:none}}.de-stage{z-index:1;flex-shrink:0;justify-content:center;align-items:flex-end;width:58%;max-width:360px;height:50px;display:flex;position:relative}.de-stage-layer{border-radius:50%;position:absolute;left:50%;transform:translate(-50%)}.de-stage-layer-1{z-index:1;background:linear-gradient(#b3d9ff,#80bfff 25%,#4da6ff,#39f 75%,#1a8cff);width:100%;height:42px;bottom:0;box-shadow:0 3px 15px #1a8cff59,0 0 30px #4facfe33,inset 0 2px 8px #ffffff80,inset 0 -2px 6px #0050b426}.de-stage-layer-1:after{content:"";filter:blur(1px);background:linear-gradient(90deg,#0000,#fff9 20%,#fffc,#fff9 80%,#0000);border-radius:50%;height:3px;position:absolute;top:2px;left:3%;right:3%}.de-stage-layer-2{z-index:2;background:linear-gradient(#d4eaff,#a8d4ff 25%,#7ab8ff,#4da6ff 75%,#39f);width:75%;height:32px;bottom:6px;box-shadow:0 3px 12px #3399ff4d,0 0 25px #4facfe26,inset 0 2px 6px #fff9,inset 0 -2px 5px #0050b41f}.de-stage-layer-2:after{content:"";filter:blur(1px);background:linear-gradient(90deg,#0000,#ffffffb3 25%,#ffffffe6,#ffffffb3 75%,#0000);border-radius:50%;height:2px;position:absolute;top:2px;left:4%;right:4%}.de-stage-layer-3{z-index:3;background:linear-gradient(#e8f4ff,#c8e4ff 25%,#a8d4ff,#7ab8ff 75%,#4da6ff);width:48%;height:22px;bottom:12px;box-shadow:0 2px 10px #4da6ff4d,0 0 30px #4facfe40,0 0 60px #4facfe1a,inset 0 2px 8px #ffffffb3,inset 0 -2px 4px #0050b41a}.de-stage-layer-3:after{content:"";filter:blur(1px);background:linear-gradient(90deg,#0000,#fffc 30%,#fff,#fffc 70%,#0000);border-radius:50%;height:2px;position:absolute;top:1px;left:5%;right:5%}.de-stage-glow{filter:blur(10px);z-index:0;pointer-events:none;background:radial-gradient(#4facfe40 0,#00f2fe1a 35%,#4facfe0a 60%,#0000 80%);width:140%;height:55px;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.de-avatar-container{flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;min-height:0;display:flex;position:relative}.de-avatar-glass-space{pointer-events:none;perspective:1200px;z-index:3;width:84%;max-width:560px;height:92%;max-height:760px;position:absolute;top:0;left:50%;transform:translate(-50%)}.de-avatar-roof{z-index:6;width:68%;max-width:440px;height:16%;position:absolute;top:0;left:50%;transform:translate(-50%)}.de-avatar-roof-face{clip-path:polygon(50% 0,3% 100%,97% 100%);background:linear-gradient(#4facfe73,#00f2fe40 45%,#4facfe14);position:absolute;top:0;right:0;bottom:15%;left:0}.de-avatar-roof-glow{background:linear-gradient(90deg,#0000,#4facfeb3 10%,#00f2fe,#4facfeb3 90%,#0000);height:2px;position:absolute;bottom:12%;left:2%;right:2%;box-shadow:0 0 8px #4facfecc,0 0 20px #00f2fe66}.de-avatar-glass-left{z-index:2;background:linear-gradient(90deg,#4facfe26,#0000);width:5%;position:absolute;top:18%;bottom:6%;left:6%}.de-avatar-glass-right{z-index:2;background:linear-gradient(270deg,#00f2fe26,#0000);width:5%;position:absolute;top:18%;bottom:6%;right:6%}.de-avatar-img{object-fit:contain;filter:drop-shadow(0 10px 40px #1e90ff59);z-index:5;flex-shrink:0;width:auto;height:56vh;max-height:calc(100vh - 236px);margin-bottom:-50px;position:relative}.de-avatar-state-label{z-index:8;color:#0b4a6d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f1f9ffe0;border:1px solid #4facfe4d;border-radius:999px;justify-content:center;align-items:center;min-height:28px;padding:0 14px;font-size:13px;font-weight:700;display:inline-flex;position:absolute;top:19%;left:50%;transform:translate(-50%);box-shadow:0 8px 18px #1e90ff1f}.de-dashboard-grid{grid-template-columns:minmax(240px,.9fr) minmax(420px,1.6fr) minmax(280px,1fr);align-items:stretch;gap:14px;min-height:0;display:grid}.de-dashboard-left,.de-dashboard-center,.de-dashboard-right{flex-direction:column;min-width:0;min-height:0;display:flex}.de-dashboard-center{justify-content:center;align-items:center;padding-bottom:56px;position:relative;overflow:visible}.de-header{background:var(--de-header-gradient);z-index:100;flex-shrink:0;height:52px;position:relative;box-shadow:0 2px 12px #1e90ff4d}.de-header:before,.de-header:after{content:none}.de-header-content{z-index:2;justify-content:space-between;align-items:center;height:100%;padding:0 36px;display:flex;position:relative}.de-header-left{align-items:center;gap:14px;min-width:300px;display:flex}.de-header-accent-bar{background:#ffffffe6;border-radius:3px;width:5px;height:30px;box-shadow:0 0 8px #fff9}.de-header-title{color:#fff;letter-spacing:3px;text-shadow:0 2px 6px #0003;font-size:24px;font-weight:700}.de-header-center{gap:4px;max-width:52%;display:flex;position:absolute;left:50%;transform:translate(-50%)}.de-header-right{justify-content:flex-end;align-items:center;gap:16px;min-width:220px;display:flex}.de-header-welcome{color:#fffffff2;font-size:13px}.de-header-icon{color:#fff;cursor:pointer;background:#ffffff1f;border:none;border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;transition:background .18s,transform .18s;display:inline-flex}.de-header-icon:hover,.de-header-icon.active{background:#ffffff38;transform:translateY(-1px)}.de-header-close{background:#ffffff2e}.de-notification-anchor{align-items:center;display:inline-flex;position:relative}.de-notification-count{color:#fff;background:#ff5d73;border:1px solid #ffffffd1;border-radius:999px;min-width:17px;height:17px;padding:0 4px;font-size:10px;font-weight:800;line-height:15px;position:absolute;top:-5px;right:-8px;box-shadow:0 4px 12px #c6214652}.de-notification-popover{z-index:360;background:#fcfefffa;border:1px solid #3d84b82e;border-radius:14px;grid-template-rows:auto minmax(0,1fr);width:min(380px,100vw - 28px);max-height:min(620px,100vh - 88px);display:grid;position:absolute;top:38px;right:0;overflow:hidden;box-shadow:0 22px 60px #12344f3d}.de-notification-head{border-bottom:1px solid #3d84b81f;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.de-notification-head div{gap:2px;min-width:0;display:grid}.de-notification-head strong{color:#12344f;font-size:15px}.de-notification-head span{color:#6a8094;font-size:12px}.de-notification-close{color:#496a85;background:#4facfe1a;width:26px;height:26px}.de-notification-list{gap:10px;min-height:0;padding:12px;display:grid;overflow-y:auto}.de-notification-empty{color:#6a8094;place-items:center;min-height:86px;font-size:13px;display:grid}.de-notification-item{background:#fff;border:1px solid #3d84b81f;border-radius:10px;gap:8px;padding:12px;display:grid}.de-notification-item--action{border-color:#4facfe4d}.de-notification-item--warn{border-color:#ffb83d57}.de-notification-item--error{border-color:#f460604d}.de-notification-item-head,.de-notification-title-row,.de-notification-actions,.de-notification-reply-row{align-items:center;gap:8px;display:flex}.de-notification-item-head,.de-notification-title-row{justify-content:space-between}.de-notification-level,.de-notification-title-row span{color:#22659a;background:#4facfe1a;border-radius:999px;flex-shrink:0;align-items:center;min-height:20px;padding:0 7px;font-size:11px;font-weight:700;display:inline-flex}.de-notification-time{color:#7890a7;font-size:11px}.de-notification-title-row h3{color:#12344f;min-width:0;margin:0;font-size:14px;line-height:1.32}.de-notification-item p,.de-notification-reply{color:#536b80;margin:0;font-size:12px;line-height:1.5}.de-notification-reply{color:#31526d;background:#4facfe14;border-radius:8px;padding:8px}.de-notification-actions{justify-content:flex-end}.de-notification-icon-btn{color:#31526d;cursor:pointer;background:#f7fbfff5;border:1px solid #3d84b829;border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.de-notification-icon-btn:hover{background:#4facfe24}.de-notification-reply-row input{color:#12344f;background:#fff;border:1px solid #3d84b82e;border-radius:8px;flex:1;min-width:0;height:30px;padding:0 9px}.de-digital-modal-close-hitbox{z-index:3;cursor:pointer;background:0 0;border:0;border-radius:999px;width:38px;height:38px;position:absolute;top:8px;right:24px}.de-mission-list{flex-direction:column;gap:8px;display:flex}.de-mission-card-mini{border:1px solid var(--de-glass-border-light);background:linear-gradient(#f4faffeb,#ebf6ffdb);border-radius:12px;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.de-mission-title{color:var(--de-text-primary);font-size:14px;font-weight:600}.de-approval-item{border-bottom:1px solid var(--de-glass-border-lighter);justify-content:space-between;align-items:center;padding:8px 0;display:flex}.de-approval-item:last-child{border-bottom:none}.de-approval-actions{gap:6px;display:flex}.de-btn-approve,.de-btn-reject{cursor:pointer;border:none;border-radius:8px;padding:4px 12px;font-size:12px;font-weight:600}.de-btn-approve{background:var(--de-success-bg);color:var(--de-success-text)}.de-btn-reject{background:var(--de-danger-bg);color:var(--de-danger-text)}.de-stats-row{border-top:1px solid var(--de-glass-border-lighter);grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px;padding-top:12px;display:grid}.de-stat{text-align:center}.de-stat strong{color:var(--de-text-primary);font-size:22px;display:block}.de-stat span{color:var(--de-text-muted);font-size:11px}.de-empty-text{text-align:center;color:var(--de-text-label);padding:32px 12px;font-size:13px}.de-loading-skeleton{background:linear-gradient(90deg,var(--de-overlay-bg),var(--de-overlay-md),var(--de-overlay-bg));background-size:200% 100%;border-radius:8px;animation:1.5s infinite de-shimmer}@keyframes de-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.de-btn-sm{padding:4px 10px;font-size:12px}.de-btn-sm svg{flex-shrink:0}.de-btn-primary{color:#fff;cursor:pointer;background:var(--de-btn-gradient);box-shadow:var(--de-btn-shadow);border:none;border-radius:12px;padding:11px 18px;font-weight:700}.de-btn-secondary{color:#22659a;cursor:pointer;background:linear-gradient(#f8fcfff5,#e5f3ffe0);border:1px solid #4facfe3d;border-radius:12px;font-weight:700;box-shadow:inset 0 1px #ffffffa3}.de-btn-secondary:hover:not(:disabled){background:linear-gradient(#fffffffa,#d6edfff0);border-color:#2ca8ff6b}.de-btn-secondary:disabled,.de-btn-primary:disabled{opacity:.52;cursor:not-allowed}@media(max-width:1679px){.de-header{height:50px}.de-header-content{padding:0 24px}.de-header-left{min-width:240px}.de-header-title{letter-spacing:2px;font-size:20px}.de-dashboard-grid{gap:12px}}@media(max-width:1439px){.de-header{height:48px}.de-header-content{padding:0 16px}.de-header-accent-bar{height:24px}.de-header-title{letter-spacing:1px;font-size:18px}}@media(max-width:1023px){.de-dashboard-grid{grid-template-columns:1fr 1fr}.de-dashboard-right{grid-column:1/-1}}@media(max-width:767px){.de-dashboard-grid{grid-template-columns:1fr}}.de-mission-center-layout{grid-template-columns:minmax(320px,1fr) minmax(400px,1.6fr);gap:16px;height:100%;min-height:0;display:grid}.de-mission-center-page{height:100%;min-height:0;padding:14px 18px;overflow:hidden}.de-mc-list,.de-mc-detail{flex-direction:column;min-height:0;display:flex}.de-mc-list>.de-card,.de-mc-detail>.de-card{flex-direction:column;height:100%;min-height:0;display:flex}.de-mc-list .de-card-body,.de-mc-detail .de-card-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.de-mc-card-list{flex-direction:column;gap:8px;min-height:0;padding-right:4px;display:flex;overflow-y:auto}.de-mission-empty-panel{text-align:center;min-height:220px;color:var(--de-text-body);background:#ffffff75;border:1px dashed #4facfe4d;border-radius:14px;align-content:center;justify-items:center;gap:10px;padding:28px 18px;display:grid}.de-mission-empty-panel strong{color:var(--de-text-primary);font-size:15px}.de-mission-empty-panel p{max-width:520px;color:var(--de-text-muted);margin:0;font-size:13px;line-height:1.65}.de-mission-empty-panel--detail{min-height:100%}.de-mission-empty-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.de-mission-focus-notice{color:var(--de-text-primary);background:#4facfe1f;border:1px solid #4facfe3d;border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;margin-bottom:10px;padding:9px 11px;font-size:12px;display:grid}.de-mission-focus-notice strong{color:#1769aa;white-space:nowrap}.de-mission-focus-notice span{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:700;overflow:hidden}.de-mission-focus-notice code{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:180px;color:var(--de-text-muted);background:#ffffffb3;border-radius:6px;padding:2px 6px;overflow:hidden}.de-date-filter-row{background:#f4faffd1;border:1px solid #4facfe24;border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;padding:9px 10px;display:flex}.de-date-filter-field{min-width:0;color:var(--de-text-muted);align-items:center;gap:8px;font-size:12px;font-weight:700;display:inline-flex}.de-date-filter-field input{min-width:138px;height:30px;color:var(--de-text-primary);font:inherit;background:#ffffffdb;border:1px solid #4facfe3d;border-radius:999px;padding:0 10px;font-size:12px}.de-date-filter-actions{flex-wrap:wrap;gap:6px;display:flex}.de-date-filter-summary{color:var(--de-text-muted);white-space:nowrap;margin-left:auto;font-size:12px;font-weight:700}.de-mission-card{text-align:left;border:1px solid var(--de-glass-border-light);cursor:pointer;background:linear-gradient(#f4faffeb,#ebf6ffdb);border-radius:14px;width:100%;padding:14px;transition:border-color .18s,box-shadow .18s;box-shadow:0 2px 10px #1e90ff0a,inset 0 1px #ffffff80}.de-mission-card:hover,.de-mission-card--selected{border-color:var(--de-glass-border);box-shadow:0 0 0 2px var(--de-overlay-hover)}.de-mission-card--selected{background:linear-gradient(#f0f8fffa,#e2f2fff5);border-color:#2d8cf0;box-shadow:0 0 0 2px #2d8cf038,0 8px 24px #1d436d1f}.de-mission-card-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.de-mission-card-title{color:var(--de-text-primary);font-size:15px;font-weight:600}.de-mission-card-badges{flex-shrink:0;align-items:center;gap:6px;display:flex}.de-mission-card-focus-chip{color:#1769aa;white-space:nowrap;background:#2d8cf024;border:1px solid #2d8cf03d;border-radius:999px;padding:2px 7px;font-size:11px;font-weight:800}.de-mission-card-desc{color:var(--de-text-body);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:8px;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.de-mission-card-meta{color:var(--de-text-muted);gap:12px;font-size:12px;display:flex}.de-mission-card-actions{border-top:1px solid var(--de-glass-border-light);justify-content:space-between;align-items:center;gap:8px;margin-top:10px;padding-top:9px;display:flex}.de-mission-card-actions>.de-btn-restart,.de-mission-card-actions>.de-btn-run{flex-shrink:0}.de-mission-card-time{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--de-text-muted);flex:1;font-size:11px;font-weight:600;overflow:hidden}.de-btn-restart,.de-btn-run{cursor:pointer;border:none;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:700}.de-btn-run{background:var(--de-btn-gradient-active);color:#fff;box-shadow:0 2px 8px #4facfe38}.de-btn-restart{color:#1769aa;background:#4facfe1f;border:1px solid #4facfe38}.de-btn-restart:not(:disabled):hover{background:#4facfe33;border-color:#2d8cf06b}.de-btn-restart:disabled,.de-btn-run:disabled{cursor:not-allowed;box-shadow:none;color:var(--de-text-muted);background:#8e8e932e;border-color:#0000}.de-filter-row{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.de-filter-chip{border:1px solid var(--de-glass-border-light);background:var(--de-overlay-bg);color:var(--de-text-body);cursor:pointer;border-radius:999px;padding:4px 12px;font-size:12px;transition:all .2s}.de-filter-chip.active{background:var(--de-btn-gradient-active);color:#fff;border-color:#0000;box-shadow:0 2px 8px #4facfe40}.de-drawer{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(#fffffff5,#e8f4fffa);border:1px solid #4facfe33;border-radius:24px;grid-template-rows:auto auto minmax(0,1fr);gap:14px;width:100%;height:100%;padding:18px;display:grid;position:relative;overflow-y:auto;box-shadow:0 24px 60px #1d436d2e,inset 0 1px #ffffffe6}.de-drawer-head{grid-template-columns:minmax(0,1fr) auto;align-items:start;display:grid}.de-drawer-title-group h3{color:var(--de-text-primary);margin:0;font-size:22px}.de-drawer-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--de-primary);font-size:11px;font-weight:700}.de-drawer-status-line{align-items:center;gap:8px;display:flex}.de-drawer-meta{color:var(--de-text-muted);font-size:12px}.de-drawer-timeline{flex-direction:column;gap:12px;min-height:0;display:flex;overflow-y:auto}.de-detail-section{border:1px solid var(--de-glass-border-light);background:#ffffff8a;border-radius:14px;padding:12px}.de-detail-section h4{color:var(--de-text-primary);margin:0 0 10px;font-size:13px}.de-detail-section-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.de-detail-section-head h4{margin:0}.de-detail-kv{grid-template-columns:72px minmax(0,1fr);gap:7px 10px;font-size:12px;display:grid}.de-detail-kv span,.de-task-run-meta,.de-event-row time{color:var(--de-text-muted)}.de-detail-kv strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--de-text-primary);font-weight:600;overflow:hidden}.de-execution-chain{background:linear-gradient(#ffffffb8,#e8fff89e);border-color:#00b89438}.de-chain-plan-id{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--de-text-muted);font-size:11px;overflow:hidden}.de-chain-list{flex-direction:column;gap:7px;display:flex}.de-chain-row{background:#ffffffad;border:1px solid #00b89429;border-radius:10px;grid-template-columns:78px minmax(0,1fr) 132px;align-items:start;gap:8px;padding:8px 9px;font-size:11px;display:grid}.de-chain-row strong{color:#087f5b;font-weight:800}.de-chain-row span{min-width:0;color:var(--de-text-primary);text-overflow:clip;white-space:normal;word-break:break-word;line-height:1.35;overflow:visible}.de-chain-row time{color:var(--de-text-muted);text-align:right}.de-chain-row--danger strong{color:var(--de-danger)}.de-step-node{grid-template-columns:24px 1fr;align-items:start;gap:10px;padding-bottom:16px;display:grid;position:relative}.de-step-dot{border-radius:50%;width:12px;height:12px;margin-top:4px}.de-step-dot--succeeded,.de-step-dot--completed{background:var(--de-success);box-shadow:0 0 8px #1b9c5a66}.de-step-dot--running{background:var(--de-primary);animation:1.5s ease-in-out infinite de-pulse-dot;box-shadow:0 0 8px #4facfe99}.de-step-dot--failed{background:var(--de-danger)}.de-step-dot--pending,.de-step-dot--queued{background:#94a3b8}@keyframes de-pulse-dot{0%,to{box-shadow:0 0 4px #4facfe4d}50%{box-shadow:0 0 12px #4facfecc}}.de-step-line{background:#4facfe26;width:2px;height:calc(100% - 8px);position:absolute;top:20px;left:5px}.de-step-content{flex-direction:column;gap:4px;display:flex}.de-step-content strong{color:var(--de-text-primary);font-size:14px}.de-step-content span{color:var(--de-text-muted);font-size:12px}.de-task-run-card{border:1px solid var(--de-glass-border-light);background:#ffffffa3;border-radius:10px;margin-top:6px;padding:9px 10px}.de-task-run-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.de-task-run-head span{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--de-text-primary);font-size:12px;font-weight:700;overflow:hidden}.de-task-run-meta{flex-wrap:wrap;gap:8px 12px;margin-top:5px;font-size:11px;display:flex}.de-event-list{flex-direction:column;gap:6px;display:flex}.de-event-row{border:1px solid var(--de-glass-border-light);background:#ffffff94;border-radius:9px;grid-template-columns:74px minmax(0,1fr) 132px;align-items:start;gap:8px;padding:7px 8px;font-size:11px;display:grid}.de-event-row strong{color:var(--de-primary)}.de-event-row--danger strong{color:var(--de-danger)}.de-event-row span{text-overflow:clip;white-space:normal;min-width:0;color:var(--de-text-primary);word-break:break-word;line-height:1.35;overflow:visible}.de-event-row time{text-align:right}.de-session-message-list{flex-direction:column;gap:8px;display:flex}.de-session-message{border:1px solid var(--de-glass-border-light);background:#fff9;border-radius:10px;padding:8px 10px}.de-session-message--user{background:#4facfe1a;border-color:#4facfe2e}.de-session-message-role{color:var(--de-primary);margin-bottom:4px;font-size:11px;font-weight:700}.de-session-message p{color:var(--de-text-primary);white-space:pre-wrap;word-break:break-word;margin:0;font-size:12px;line-height:1.55}.de-skill-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;display:grid}.de-skill-card{border:1px solid var(--de-glass-border-light);cursor:pointer;background:linear-gradient(#f4faffeb,#ebf6ffdb);border-radius:14px;flex-direction:column;gap:8px;padding:14px;transition:border-color .18s,box-shadow .18s,transform .18s;display:flex}.de-skill-card:hover,.de-skill-card--selected{border-color:#4facfe80;transform:translateY(-1px);box-shadow:0 0 0 2px #4facfe24}.de-skill-card-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.de-skill-name{color:var(--de-text-primary);font-size:15px;font-weight:600}.de-skill-desc{color:var(--de-text-body);-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.de-skill-meta-row{flex-wrap:wrap;align-items:center;gap:6px;min-height:24px;display:flex}.de-skill-meta-chip{color:#41627f;white-space:nowrap;text-overflow:ellipsis;background:#4facfe14;border:1px solid #4facfe24;border-radius:999px;align-items:center;max-width:160px;min-height:22px;padding:0 8px;font-size:11px;display:inline-flex;overflow:hidden}.de-skill-recent{color:var(--de-text-muted);-webkit-line-clamp:1;-webkit-box-orient:vertical;margin:0;font-size:12px;line-height:1.4;display:-webkit-box;overflow:hidden}.de-skill-card-foot{justify-content:space-between;align-items:center;display:flex}.de-skill-version{color:var(--de-text-muted);font-size:11px}.de-skill-status{font-size:11px;font-weight:600}.de-skill-status.enabled{color:var(--de-success-text)}.de-skill-status.disabled{color:var(--de-text-muted)}.de-skill-toolbar{flex-direction:column;gap:10px;margin-bottom:14px;display:flex}.de-input{height:40px;color:var(--de-text-primary);font-size:14px;font-family:var(--de-font-family);background:#ffffffe0;border:1px solid #4facfe2e;border-radius:12px;padding:0 14px}.de-input:focus{border-color:var(--de-primary);outline:none;box-shadow:0 0 0 3px #4facfe26}.de-capability-badge{letter-spacing:.04em;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:700}.de-capability-core{color:#22659a;background:#4facfe1f}.de-capability-standard{color:#0f7a44;background:#20bf6b1f}.de-capability-specialized{color:#6d28d9;background:#7c3aed1a}.de-capability-experimental{color:#92400e;background:#f59e0b1f}.de-journal-list{flex-direction:column;gap:6px;display:flex}.de-journal-entry{border:1px solid var(--de-glass-border-lighter);border-radius:10px;grid-template-columns:60px 80px 1fr;align-items:baseline;gap:10px;padding:10px 12px;font-size:13px;display:grid}.de-journal-time{color:var(--de-text-muted);white-space:nowrap}.de-journal-kind{text-transform:uppercase;font-size:11px;font-weight:700}.de-journal-kind--error,.de-journal-kind--failed{color:var(--de-danger-text)}.de-journal-kind--success,.de-journal-kind--succeeded{color:var(--de-success-text)}.de-journal-kind--running{color:#22659a}.de-journal-msg{color:var(--de-text-primary);word-break:break-word}.de-card-meta-text{color:var(--de-text-muted);font-size:12px}.de-settings-section{margin-bottom:24px}.de-settings-heading{color:var(--de-text-heading);margin-bottom:4px;font-size:16px;font-weight:700}.de-settings-desc{color:var(--de-text-muted);margin-bottom:14px;font-size:13px}.de-role-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;display:grid}.de-role-card{text-align:center;cursor:pointer;border:1px solid var(--de-glass-border-light);background:linear-gradient(#f4faffeb,#ebf6ffdb);border-radius:14px;padding:16px;transition:all .2s}.de-role-card:hover{border-color:var(--de-glass-border)}.de-role-card.active{border-color:var(--de-primary);box-shadow:0 0 0 2px #4facfe33}.de-role-label{color:var(--de-text-primary);font-size:15px;font-weight:600;display:block}.de-role-density{color:var(--de-text-muted);margin-top:4px;font-size:11px;display:block}.de-saved-hint{color:var(--de-success-text);margin-top:8px;font-size:12px}.de-btn-approve:disabled,.de-btn-reject:disabled{opacity:.45;cursor:not-allowed}@media(max-width:1023px){.de-mission-center-layout{grid-template-columns:1fr}}.de-shell{background:var(--de-page-bg);height:100vh;min-height:0;font-family:var(--de-font-family);flex-direction:column;display:flex;position:relative;overflow:hidden}.de-shell:before{content:"";background-image:linear-gradient(var(--de-page-grid) 1px,transparent 0),linear-gradient(90deg,var(--de-page-grid) 1px,transparent 0);pointer-events:none;z-index:0;background-size:40px 40px;position:fixed;top:0;right:0;bottom:0;left:0}.de-shell-header{background:var(--de-header-gradient);z-index:100;flex-shrink:0;height:56px;position:relative;box-shadow:0 2px 12px #1e90ff4d}.de-shell-header-content{z-index:2;justify-content:space-between;align-items:center;height:100%;padding:0 24px;display:flex;position:relative}.de-shell-header-left{align-items:center;gap:12px;display:flex}.de-shell-title{color:#fff;letter-spacing:1.5px;text-shadow:0 2px 6px #0003;font-size:18px;font-weight:700}.de-shell-header-right{align-items:center;gap:12px;display:flex}.de-dashboard{background:var(--de-page-bg);width:100%;height:100%;position:relative;overflow:hidden}.de-connection-layer{pointer-events:none;z-index:0;position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.de-connection-svg{width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0}.de-dashboard-content{z-index:1;flex:1;grid-template-columns:minmax(300px,.86fr) minmax(420px,1.08fr) minmax(280px,.78fr);align-items:stretch;gap:12px;min-height:0;padding:8px 18px 10px;display:grid;position:relative;overflow:hidden}.de-dashboard-left,.de-dashboard-center,.de-dashboard-right{z-index:2;flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.de-dashboard-left{gap:12px;overflow:hidden}.de-dashboard-center{justify-content:center;align-items:center;padding:4px 0 76px;position:relative;overflow:visible}.de-dashboard-right{overflow:hidden}.de-right-panels{grid-template-rows:minmax(0,1fr) minmax(178px,.34fr);gap:8px;height:100%;display:grid;overflow:hidden}.de-info-grid{background:linear-gradient(135deg,#4facfe0f,#00f2fe08);border:1px solid #4facfe1a;border-radius:10px;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:10px 14px;display:grid}.de-info-item{gap:6px;min-width:0;padding:6px 0;display:grid}.de-info-item label{color:#2d5a8a;font-size:14px;font-weight:700}.de-info-item span{color:#1e3a5c;word-break:break-all;font-size:15px;line-height:1.5}.de-status-working{font-weight:800;color:#0f7a44!important}.de-status-resting{font-weight:800;color:#8c5b04!important}.de-template-manager-card{flex-direction:column;flex:1;min-height:0;display:flex}.de-template-manager-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.de-template-overview{background:linear-gradient(#f6fbfff0,#e7f2fde6);border:1px solid #4facfe24;border-radius:16px;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-bottom:12px;display:grid;overflow:hidden;box-shadow:inset 0 1px #ffffff8c,0 2px 8px #1e90ff0a}.de-template-overview-item{text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;gap:6px;min-height:74px;padding:10px 16px 14px;display:flex;position:relative}.de-template-overview-item.active{background:linear-gradient(#e0f3fffa,#cce9fff0);box-shadow:inset 0 0 0 2px #2d8cf029}.de-template-overview-item+.de-template-overview-item{border-left:1px solid #4facfe1f}.de-template-overview-item:after{content:"";opacity:.92;border-radius:999px;height:3px;position:absolute;bottom:0;left:16px;right:16px}.de-template-overview-label{color:#6a8198;font-size:12px}.de-template-overview-value{color:#1e3a5c;font-size:34px;font-weight:700;line-height:1}.de-template-overview-item--total .de-template-overview-value{color:#0c4a6e}.de-template-overview-item--total:after{background:linear-gradient(90deg,#3b82f6b3,#7dd3fc80)}.de-template-overview-item--scheduled .de-template-overview-value{color:#8c5b04}.de-template-overview-item--scheduled:after{background:linear-gradient(90deg,#ffb83ddb,#ffd27080)}.de-template-overview-item--runnable .de-template-overview-value{color:#0369a1}.de-template-overview-item--runnable:after{background:linear-gradient(90deg,#22d3eec7,#3b82f675)}.de-template-list-scroll{flex-direction:column;flex:1;gap:8px;min-height:0;padding-right:4px;display:flex;overflow-y:auto}.de-template-card-row{cursor:pointer;background:linear-gradient(#f4faffeb,#ebf6ffdb);border:1px solid #4facfe1f;border-radius:12px;min-height:116px;padding:10px 12px;transition:border-color .18s,box-shadow .18s,transform .18s;display:flex;box-shadow:0 2px 10px #1e90ff0a,inset 0 1px #ffffff80}.de-template-card-row:hover{border-color:#4facfe7a;transform:translateY(-1px);box-shadow:0 0 0 2px #4facfe1f}.de-template-card-main{flex:1;gap:7px;min-width:0;display:grid}.de-template-card-head{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.de-template-card-name{text-overflow:ellipsis;white-space:nowrap;color:#214566;min-width:0;font-size:15px;font-weight:700;line-height:1.2;overflow:hidden}.de-template-card-desc{color:#58728e;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:12px;line-height:1.45;display:-webkit-box;overflow:hidden}.de-plan-progress-bar{background:#91b5d238;border-radius:999px;height:7px;overflow:hidden}.de-plan-progress-bar span{border-radius:inherit;background:linear-gradient(90deg,#22d3eedb,#3b82f6d1);height:100%;display:block}.de-template-card-meta{color:#5b7590;justify-content:space-between;align-items:center;gap:8px;min-width:0;font-size:11px;display:flex}.de-template-card-meta span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.de-template-card-actions{justify-content:flex-end;gap:8px;display:flex}.de-person-card{cursor:default;transition:border-color .18s,box-shadow .18s}.de-person-card:hover{border-color:#4facfe5c;box-shadow:0 0 0 2px #4facfe1a}.de-workday-toolbar{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;margin-bottom:10px;display:grid}.de-workday-toolbar label{color:#5b7590;align-items:center;gap:8px;font-size:11px;display:flex}.de-workday-toolbar label span{white-space:nowrap;font-weight:800}.de-workday-toolbar input{color:#16324e;background:#f7fbfff5;border:1px solid #4facfe2e;border-radius:10px;min-width:0;height:32px;padding:0 10px}.de-management-sync-strip{color:#315576;background:#4facfe12;border:1px solid #4facfe24;border-radius:12px;align-items:center;gap:8px;min-height:34px;margin:-2px 0 10px;padding:7px 10px;font-size:12px;line-height:1.35;display:flex}.de-management-sync-strip>span:last-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.de-management-sync-strip--success{color:#176a3a;background:#1b9c5a14;border-color:#1b9c5a33}.de-management-sync-strip--warning{color:#7a5509;background:#f5ad2d1a;border-color:#f5ad2d38}.de-management-sync-strip--danger{color:#ad3434;background:#e0484814;border-color:#e0484833}.de-management-sync-failures{gap:6px;margin:-4px 0 10px;display:grid}.de-management-sync-failure{text-align:left;cursor:pointer;color:#7b4450;background:#e048480e;border:1px solid #e0484824;border-radius:10px;grid-template-columns:56px 54px minmax(54px,.7fr) minmax(0,1.6fr);align-items:center;gap:8px;width:100%;min-height:28px;padding:6px 9px;font-family:inherit;font-size:11px;display:grid}.de-management-sync-failure:hover{border-color:#e0484847;box-shadow:0 0 0 2px #e048480f}.de-management-sync-failure span,.de-management-sync-failure em,.de-management-sync-failure small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.de-management-sync-failure strong{color:#ad3434;font-weight:800}.de-management-sync-failure em{color:#59738b;font-style:normal}.de-management-sync-failure small{color:#6d5260}.de-duty-card{min-height:120px}.de-duty-card--selected{border-color:#20bf6b6b;box-shadow:inset 4px 0 #20bf6ba3,0 0 0 2px #20bf6b14}.de-duty-card--running{border-color:#ffb83d70;box-shadow:inset 4px 0 #ffb83db8,0 0 0 2px #ffb83d1a}.de-duty-card--disabled{cursor:pointer;opacity:.7;filter:grayscale(.28);background:linear-gradient(#f6f8faeb,#ecf1f5db)}.de-duty-card-foot{justify-content:space-between;align-items:center;gap:8px;display:flex}.de-duty-card-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;min-width:0;display:flex}.de-duty-card-actions .de-btn-sm{white-space:nowrap;min-height:26px;padding:4px 9px}.de-duty-selected-mark{color:#60758a;background:#94a3b81f;border-radius:999px;justify-content:center;align-items:center;min-width:42px;height:24px;font-size:11px;font-weight:700;display:inline-flex}.de-duty-selected-mark.active{color:#0f7a44;background:#20bf6b24}.de-task-date-context{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;margin-top:8px;display:flex}.de-template-manager-body>.de-task-date-context{background:#f4faffc2;border:1px solid #4facfe1a;border-radius:11px;margin:-2px 0 8px;padding:7px 8px}.de-task-date-context span{color:#0c5a85;background:#4facfe1f;border-radius:999px;align-items:center;min-height:22px;padding:0 8px;font-size:11px;font-weight:800;display:inline-flex}.de-task-date-context em{color:#58728e;flex:1;min-width:0;font-size:11px;font-style:normal;line-height:1.35}.de-task-date-context .de-btn-sm{border-radius:9px;min-height:26px;padding:0 9px}.de-task-manager-preview{background:#f7fbffd1;border:1px solid #4facfe1f;border-radius:14px;flex:1;align-content:start;gap:8px;min-height:0;padding:10px;display:grid;overflow:hidden}.de-task-manager-preview-scroll{overscroll-behavior:contain;scrollbar-gutter:stable;overflow-y:auto}.de-task-manager-preview-head{z-index:1;color:#5b7590;background:#f7fbfff5;justify-content:space-between;align-items:center;gap:8px;min-height:28px;padding:0 2px 6px;font-size:11px;display:flex;position:sticky;top:0}.de-task-manager-preview-head strong{color:#143450;font-size:12px}.de-task-manager-preview-row{color:#173550;text-align:left;min-width:0;font:inherit;background:#ffffffc7;border:1px solid #4facfe1f;border-radius:11px;gap:4px;padding:9px 10px;display:grid}.de-task-manager-preview-row.is-selected{border-color:#20bf6b5c;box-shadow:inset 3px 0 #20bf6b94}.de-template-task-main{min-width:0;color:inherit;text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;gap:4px;padding:0;display:grid}.de-template-task-main:hover strong{color:#0877c7}.de-template-task-main strong,.de-template-task-main span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.de-template-task-main strong{font-size:13px}.de-template-task-main span{color:#5b7590;font-size:11px}.de-template-task-list .de-task-manager-preview-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.de-template-item-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.de-template-item-actions .de-btn-sm,.de-duty-card-actions .de-btn-sm{justify-content:center;align-items:center;gap:4px;display:inline-flex}.de-task-manager-modal-overlay{z-index:260;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0d24373d;justify-content:center;align-items:center;padding:26px;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.de-plan-action-overlay{z-index:320}.de-task-manager-modal{background:linear-gradient(#fcfefff5,#e7f3fff0);border:1px solid #4facfe33;border-radius:20px;grid-template-rows:auto minmax(0,1fr);gap:16px;width:min(1040px,100vw - 56px);max-height:min(760px,100vh - 54px);padding:18px;display:grid;box-shadow:0 24px 70px #1537543d,inset 0 1px #fff9}.de-task-manager-modal-head{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px;display:grid}.de-task-manager-modal-head h3{color:#12344f;margin:2px 0 4px;font-size:22px}.de-task-manager-modal-head p{color:#58728e;margin:0;font-size:13px;line-height:1.55}.de-workday-guide-modal{grid-template-rows:auto auto minmax(0,1fr);width:min(1120px,100vw - 56px)}.de-workday-guide-head h3{font-size:24px}.de-workday-guide-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.de-workday-guide-step{background:#ffffffbd;border:1px solid #4facfe24;border-radius:14px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:4px 8px;min-width:0;padding:10px 11px;display:grid}.de-workday-guide-step span{color:#fff;background:linear-gradient(135deg,#1e90ff,#20bf6b);border-radius:999px;grid-row:span 2;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:800;display:inline-flex}.de-workday-guide-step strong{color:#143450;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.de-workday-guide-step p{color:#5b7590;min-width:0;margin:0;font-size:11px;line-height:1.38}.de-workday-guide-body{grid-template-columns:minmax(0,1.35fr) minmax(280px,.72fr);gap:14px;min-height:0;display:grid}.de-workday-guide-column{grid-template-rows:auto minmax(0,1fr)}.de-workday-guide-duty-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-height:0;padding-right:4px;display:grid;overflow-y:auto}.de-workday-guide-duty-list .de-duty-card{grid-template-columns:78px minmax(0,1fr);gap:9px;min-height:116px;display:grid}.de-duty-card--guide .de-template-card-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.de-workday-guide-side{background:#f7fbffeb;border:1px solid #4facfe24;border-radius:16px;align-content:start;gap:10px;min-height:0;padding:12px;display:grid;overflow-y:auto}.de-workday-guide-summary{background:#ffffffc7;border:1px solid #4facfe1f;border-radius:13px;gap:5px;padding:11px;display:grid}.de-workday-guide-summary span{color:#5b7590;font-size:11px;font-weight:700}.de-workday-guide-summary strong{color:#12344f;font-size:16px}.de-workday-guide-summary p{color:#58728e;margin:0;font-size:12px;line-height:1.5}.de-workday-guide-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.de-task-manager-modal-body{grid-template-columns:minmax(0,1.3fr) minmax(300px,.78fr);gap:14px;min-height:0;display:grid}.de-task-manager-column{background:#f7fbffe6;border:1px solid #4facfe24;border-radius:16px;grid-template-rows:auto minmax(0,1fr);gap:10px;min-height:0;padding:12px;display:grid;overflow:hidden}.de-task-manager-section-head{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.de-task-manager-section-head strong{color:#143450;font-size:15px;display:block}.de-task-manager-section-head span{color:#5b7590;margin-top:3px;font-size:11px;display:block}.de-task-manager-duty-list,.de-task-manager-decision-list{flex-direction:column;gap:8px;min-height:0;padding-right:4px;display:flex;overflow-y:auto}.de-task-manager-duty-list .de-duty-card{grid-template-columns:86px minmax(0,1fr);gap:10px;min-height:104px;display:grid}.de-task-manager-duty-check{color:#315576;border-right:1px solid #4facfe1a;align-content:center;justify-items:center;gap:8px;min-width:0;font-size:12px;font-weight:700;display:grid}.de-task-manager-duty-check input{accent-color:#20bf6b;width:22px;height:22px}.de-task-manager-duty-check input:disabled{opacity:.48}.de-task-manager-decision-card{color:#16324e;background:#fffc;border:1px solid #4facfe1f;border-radius:12px;gap:8px;padding:11px 12px;display:grid}.de-task-manager-decision-card p{color:#58728e;margin:0;font-size:12px;line-height:1.48}.de-event-detail-modal,.de-event-history-modal{background:linear-gradient(#fcfefff7,#e7f3fff2);border:1px solid #4facfe33;border-radius:20px;grid-template-rows:auto auto auto;gap:14px;width:min(760px,100vw - 52px);max-height:min(720px,100vh - 48px);padding:18px;display:grid;box-shadow:0 24px 70px #1537543d,inset 0 1px #fff9}.de-event-history-modal{grid-template-rows:auto auto minmax(0,1fr);width:min(1080px,100vw - 56px)}.de-plan-action-modal{background:linear-gradient(#fcfefff7,#e8f4fff2);border:1px solid #4facfe38;border-radius:20px;grid-template-rows:auto minmax(0,1fr) auto;gap:14px;width:min(640px,100vw - 56px);max-height:min(680px,100vh - 48px);padding:18px;display:grid;box-shadow:0 24px 70px #1537543d,inset 0 1px #ffffff9e}.de-plan-action-body{gap:12px;min-height:0;display:grid;overflow:auto}.de-plan-action-field{color:#41627f;gap:6px;font-size:12px;display:grid}.de-plan-action-field input{color:#173550;background:#ffffffe6;border:1px solid #4facfe33;border-radius:11px;height:36px;padding:0 12px}.de-plan-action-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.de-event-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.de-event-detail-grid>div,.de-event-detail-result{background:#f7fbffeb;border:1px solid #4facfe24;border-radius:12px;gap:4px;min-width:0;padding:10px 11px;display:grid}.de-event-detail-grid span,.de-event-detail-result span,.de-event-history-row em{color:#5b7590;font-size:11px;font-style:normal;font-weight:700}.de-event-detail-grid strong{color:#143450;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;line-height:1.36;overflow:hidden}.de-event-detail-result p{color:#173550;margin:0;font-size:13px;line-height:1.55}.de-sync-attempt-history{background:#f7fbffd1;border:1px solid #7ea3c233;border-radius:14px;gap:8px;padding:14px;display:grid}.de-sync-attempt-history>span{color:#6f8196;font-size:12px;font-weight:800}.de-sync-attempt-list{gap:8px;display:grid}.de-sync-attempt-row{background:#ffffffb8;border-radius:12px;gap:5px;padding:9px 10px;display:grid}.de-sync-attempt-row>div{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.de-sync-attempt-row strong{color:#153754;font-size:12px}.de-sync-attempt-row em{font-size:12px;font-style:normal;font-weight:800}.de-sync-attempt-row span,.de-sync-attempt-row small{color:#667b90;font-size:12px}.de-sync-attempt-row small{text-overflow:ellipsis;white-space:nowrap;line-height:1.45;overflow:hidden}.de-sync-attempt-row--success em{color:#23805d}.de-sync-attempt-row--danger em{color:#bb3b3b}.de-sync-attempt-row--info em{color:#2e6fa5}.de-event-modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.de-event-modal-actions .de-btn-sm{align-items:center;gap:6px;display:inline-flex}.de-event-history-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.de-event-history-list{align-content:start;gap:8px;min-height:0;padding-right:4px;display:grid;overflow-y:auto}.de-event-history-row{color:#16324e;text-align:left;width:100%;min-height:64px;font:inherit;cursor:pointer;background:#f8fbfff5;border:1px solid #4facfe21;border-left:4px solid #4facfe6b;border-radius:12px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(78px,.58fr) minmax(0,1.36fr);align-items:stretch;gap:8px;padding:8px 9px;display:grid}.de-event-history-row span{align-content:start;gap:3px;min-width:0;display:grid}.de-event-history-row strong{color:#173550;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-width:0;font-size:12px;line-height:1.35;display:-webkit-box;overflow:hidden}.de-event-history-row small{color:#6d8499;font-size:10px;line-height:1.1}.de-workday-execution{min-height:260px}.de-workday-execution--clickable{cursor:pointer;transition:border-color .16s,box-shadow .16s}.de-workday-execution--clickable:hover{border-color:#4facfe57;box-shadow:0 14px 34px #267dbf24,inset 0 1px #ffffff9e}.de-workday-execution--clickable:focus-visible{outline-offset:2px;outline:2px solid #4facfe8f}.de-workday-execution--clickable button,.de-workday-execution--clickable input{cursor:pointer}.de-live-feed{align-content:start;gap:8px;min-height:0;display:grid;overflow:hidden}.de-live-feed-row{border-left:4px solid #4facfe61;min-height:66px;animation:.28s both deFeedIn;position:relative}.de-live-feed-row--running{border-left-color:#ffb83de6}.de-live-feed-row--success{border-left-color:#20bf6bd1}.de-live-feed-row--danger{border-left-color:#f46060d1}.de-live-feed-row--warning{border-left-color:#ffb83de6}.de-workday-execution-body{grid-template-rows:auto minmax(96px,.58fr) auto minmax(0,1fr);gap:8px;min-height:0;display:grid;overflow:hidden}.de-execution-status-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.de-execution-status-strip span{background:#f7fbfff0;border:1px solid #4facfe1f;border-radius:10px;gap:3px;min-width:0;padding:7px 8px;display:grid}.de-execution-status-strip em{color:#5b7590;white-space:nowrap;font-size:11px;font-style:normal}.de-execution-status-strip strong{color:#12344f;font-size:18px;line-height:1}.de-task-summary-scroll{overscroll-behavior:contain;scrollbar-gutter:stable;min-height:0;padding-right:4px;overflow-y:auto}.de-task-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;min-height:0;display:grid}.de-task-summary-scroll .de-task-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.de-task-summary-card{text-align:left;cursor:pointer;background:#f7fbffe6;border:1px solid #4facfe24;border-radius:11px;grid-template-columns:minmax(0,1fr) auto;align-content:start;gap:5px 6px;min-width:0;min-height:84px;padding:8px;display:grid}.de-task-summary-card:hover{border-color:#4facfe6b;box-shadow:0 0 0 2px #4facfe1a}.de-task-summary-title{text-overflow:ellipsis;white-space:nowrap;color:#143450;min-width:0;font-size:12px;font-weight:800;overflow:hidden}.de-task-summary-counts{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;display:grid}.de-task-summary-counts span{background:#ffffffbd;border:1px solid #4facfe1a;border-radius:9px;gap:2px;min-width:0;padding:6px;display:grid}.de-task-summary-counts em{color:#5b7590;font-size:10px;font-style:normal;line-height:1}.de-task-summary-counts strong{color:#0c4a6e;font-size:15px;line-height:1}.de-stage-feed-tools{justify-content:space-between;align-items:center;gap:8px;min-width:0;min-height:30px;padding:4px 2px 0;display:flex}.de-stage-feed-tools>span{color:#55718b;white-space:nowrap;font-size:11px;font-weight:700}.de-stage-feed-tools>div{align-items:center;gap:6px;min-width:0;display:flex}.de-task-agent-control-strip{gap:6px;min-width:0;display:grid}.de-task-agent-control{background:#f7fbffe6;border:1px solid #4facfe24;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;padding:7px 8px;display:grid}.de-task-agent-control-main{gap:2px;min-width:0;display:grid}.de-task-agent-control-main span{color:#0c5a85;font-size:10px;font-weight:800;line-height:1}.de-task-agent-control-main strong{color:#143450;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;line-height:1.25;overflow:hidden}.de-task-agent-control-main small{color:#58728e;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:10px;line-height:1.25;overflow:hidden}.de-task-agent-control-actions{align-items:center;gap:5px;min-width:0;display:flex}.de-task-agent-control-actions .de-btn-sm{justify-content:center;min-width:58px}.de-task-agent-cancel-btn{color:#b42318;border-color:#b4231838}.de-run-detail-list-scroll{overscroll-behavior:contain;scrollbar-gutter:stable}.de-run-detail-panel{grid-template-rows:auto minmax(0,1fr);gap:8px;min-height:0;display:grid}.de-run-detail-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.de-run-detail-head span{color:#12344f;font-size:14px;font-weight:800}.de-run-detail-head small{color:#5b7590;font-size:11px}.de-run-detail-list{align-content:start;gap:6px;min-height:0;padding-right:4px;display:grid;overflow-y:auto}.de-run-detail-row{color:#173550;text-align:left;background:#f7fbffe0;border:1px solid #4facfe1f;border-radius:10px;grid-template-columns:50px minmax(72px,.95fr) minmax(70px,.85fr) 74px minmax(90px,1.2fr);align-items:center;gap:7px;min-width:0;padding:7px 8px;font-size:11px;display:grid}.de-run-detail-row--head{z-index:1;color:#29577f;cursor:default;background:#dcecfcfa;font-weight:800;position:sticky;top:0}.de-run-detail-row strong,.de-run-detail-row span,.de-run-detail-row em{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.de-run-detail-row em{color:#58728e;font-style:normal}.de-run-detail-row i{min-height:20px;padding:0 7px;font-size:10px;font-style:normal}.de-workday-result{min-height:0;overflow:auto}.de-workday-result-summary{color:#173550;margin:0;font-size:13px;line-height:1.55}.de-artifact-pills{flex-wrap:wrap;gap:8px;display:flex}.de-artifact-source-list{gap:8px;max-height:320px;padding-right:4px;display:grid;overflow-y:auto}.de-artifact-source-row{background:#f4faff9e;border:1px solid #4facfe1f;border-radius:8px;grid-template-columns:minmax(120px,1fr) minmax(88px,140px) auto;align-items:center;gap:4px 10px;padding:9px 10px;display:grid}.de-artifact-source-row strong{min-width:0;color:var(--de-text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.de-artifact-source-row span{color:var(--de-text-muted);text-overflow:ellipsis;white-space:nowrap;text-align:right;font-size:12px;overflow:hidden}.de-artifact-source-row code,.de-artifact-source-row em{min-width:0;color:var(--de-text-body);text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;font-size:12px;font-style:normal;overflow:hidden}.de-artifact-source-actions{justify-content:flex-end;align-items:center;gap:4px;display:inline-flex}.de-icon-btn{color:#275a82;cursor:pointer;background:#ffffffc7;border:1px solid #4facfe2e;border-radius:6px;place-items:center;width:28px;height:28px;display:inline-grid}.de-icon-btn:hover:not(:disabled){background:#fff;border-color:#4facfe73}.de-icon-btn:disabled{cursor:not-allowed;opacity:.42}.de-inline-notice{color:var(--de-text-muted);margin:8px 0 0;font-size:12px}.de-artifact-preview{background:#ffffffc7;border:1px solid #4facfe24;border-radius:8px;margin-top:10px;overflow:hidden}.de-artifact-preview>div{border-bottom:1px solid #4facfe1a;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.de-artifact-preview pre{white-space:pre-wrap;word-break:break-word;max-height:220px;color:var(--de-text-body);margin:0;padding:10px;font-size:12px;line-height:1.55;overflow:auto}.de-decision-card{background:#f7fbfff5}.de-decision-chain-note{color:#60758a;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;font-size:12px;line-height:1.45;display:flex}@keyframes deFeedIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.de-skill-manager-card{flex-direction:column;flex:1;min-height:0;display:flex}.de-skill-manager-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.de-skill-overview{background:linear-gradient(#f6fbfff0,#e7f2fde6);border:1px solid #4facfe24;border-radius:18px;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-bottom:12px;display:grid;overflow:hidden;box-shadow:inset 0 1px #ffffff8c,0 2px 8px #1e90ff0a}.de-skill-overview-item{flex-direction:column;justify-content:center;gap:6px;min-height:74px;padding:10px 16px 14px;display:flex;position:relative}.de-skill-overview-item+.de-skill-overview-item{border-left:1px solid #4facfe1f}.de-skill-overview-item:after{content:"";opacity:.92;border-radius:999px;height:3px;position:absolute;bottom:0;left:16px;right:16px}.de-skill-overview-label{color:#6a8198;font-size:12px}.de-skill-overview-value{color:#1e3a5c;font-size:34px;font-weight:700;line-height:1}.de-skill-overview-item--total .de-skill-overview-value{color:#0c4a6e}.de-skill-overview-item--total:after{background:linear-gradient(90deg,#3b82f6b3,#7dd3fc80)}.de-skill-overview-item--learned .de-skill-overview-value{color:#0369a1}.de-skill-overview-item--learned:after{background:linear-gradient(90deg,#22d3eec7,#3b82f675)}.de-skill-overview-item--unlearned .de-skill-overview-value{color:#c2410c}.de-skill-overview-item--unlearned:after{background:linear-gradient(90deg,#fb923cdb,#ffcd7c80)}.de-skill-tabs{background:#1e90ff0d;border:1px solid #4facfe14;border-radius:16px;gap:0;margin-bottom:12px;padding:2px;display:flex}.de-skill-tab{text-align:center;color:#4a6a8a;cursor:pointer;background:0 0;border:none;border-radius:14px;flex:1;padding:8px 10px;font-size:14px;transition:all .3s}.de-skill-tab.active{color:#fff;background:linear-gradient(135deg,#4facfee6,#00f2fed9);font-weight:700;box-shadow:0 2px 8px #4facfe40}.de-category-slider{grid-template-columns:28px minmax(0,1fr) 28px;align-items:center;gap:8px;margin-bottom:12px;display:grid}.de-category-nav{color:#4a6a8a;cursor:pointer;background:#f0f8ffb3;border:1px solid #4facfe1f;border-radius:999px;width:28px;height:28px;font-size:18px;line-height:1}.de-category-tags{scrollbar-width:none;gap:8px;padding:2px 4px 2px 0;display:flex;overflow-x:auto}.de-category-tags::-webkit-scrollbar{display:none}.de-workbench-table-wrap,.de-log-list,.de-shell-body{scrollbar-width:thin;scrollbar-color:#2ea1ffcc #c9e3fc7a}.de-workbench-table-wrap::-webkit-scrollbar{width:10px}.de-log-list::-webkit-scrollbar{width:10px}.de-shell-body::-webkit-scrollbar{width:10px}.de-workbench-table-wrap::-webkit-scrollbar-track{background:linear-gradient(#e7f3ffe0,#d2e6fa94);border:1px solid #97c6ee80;border-radius:999px}.de-log-list::-webkit-scrollbar-track{background:linear-gradient(#e7f3ffe0,#d2e6fa94);border:1px solid #97c6ee80;border-radius:999px}.de-shell-body::-webkit-scrollbar-track{background:linear-gradient(#e7f3ffe0,#d2e6fa94);border:1px solid #97c6ee80;border-radius:999px}.de-workbench-table-wrap::-webkit-scrollbar-thumb{background:linear-gradient(#46b3fffa,#2490f4f2);border:1px solid #ffffffd1;border-radius:999px;box-shadow:inset 0 1px #ffffff8c,0 0 8px #4facfe2e}.de-log-list::-webkit-scrollbar-thumb{background:linear-gradient(#46b3fffa,#2490f4f2);border:1px solid #ffffffd1;border-radius:999px;box-shadow:inset 0 1px #ffffff8c,0 0 8px #4facfe2e}.de-shell-body::-webkit-scrollbar-thumb{background:linear-gradient(#46b3fffa,#2490f4f2);border:1px solid #ffffffd1;border-radius:999px;box-shadow:inset 0 1px #ffffff8c,0 0 8px #4facfe2e}.de-workbench-table-wrap::-webkit-scrollbar-thumb:hover{background:linear-gradient(#3aaaff,#1780e7fa)}.de-log-list::-webkit-scrollbar-thumb:hover{background:linear-gradient(#3aaaff,#1780e7fa)}.de-shell-body::-webkit-scrollbar-thumb:hover{background:linear-gradient(#3aaaff,#1780e7fa)}.de-tag{text-align:center;color:#4a6a8a;cursor:pointer;background:#1e90ff0f;border:1px solid #4facfe14;border-radius:999px;flex:none;min-width:58px;padding:8px 14px;font-size:13px;transition:all .3s}.de-tag-label{text-align:center;font-weight:600;display:block}.de-tag.active{color:#fff;background:linear-gradient(135deg,#4facfee6,#00f2fed9);border-color:#0000;box-shadow:0 4px 10px #4facfe2e}.de-skill-list-scroll{flex-direction:column;flex:1;gap:6px;min-height:0;padding-right:4px;display:flex;overflow-y:auto}.de-skill-card-row{background:linear-gradient(#f4faffeb,#ebf6ffdb);border:1px solid #4facfe1f;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;min-height:52px;padding:8px 12px;display:flex;box-shadow:0 2px 10px #1e90ff0a,inset 0 1px #ffffff80}.de-skill-card-row--clickable{cursor:pointer;transition:border-color .18s,box-shadow .18s,transform .18s}.de-skill-card-row--clickable:hover{border-color:#4facfe7a;transform:translateY(-1px);box-shadow:0 0 0 2px #4facfe1f}.de-skill-card-main{flex:1;gap:6px;min-width:0;display:grid}.de-skill-card-name{color:#214566;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;line-height:1.2;overflow:hidden}.de-skill-card-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.de-skill-card-badge,.de-skill-card-schedule{color:#41627f;background:#4facfe14;border:1px solid #4facfe1f;border-radius:999px;align-items:center;min-height:24px;padding:0 10px;font-size:12px;display:inline-flex}.de-skill-card-actions{align-items:center;gap:8px;display:flex}.de-skill-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#59adf5eb,#3ad6f3e6);border:none;border-radius:999px;min-width:68px;padding:7px 14px;font-size:13px;font-weight:600;box-shadow:0 2px 8px #4facfe29}.de-skill-btn--danger{background:linear-gradient(135deg,#ff9669eb,#ff785eeb)}.de-skill-btn:disabled{cursor:not-allowed;opacity:.62;box-shadow:none}.de-avatar-wrapper{flex:1;width:100%;max-width:780px;min-height:520px;position:relative}.de-speech-bubble{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:12;pointer-events:auto;background:linear-gradient(#fcfeffc7,#e1eeffad);border:1px solid #4facfe38;border-radius:24px 24px 24px 12px;width:min(100%,320px);max-width:320px;padding:16px 16px 14px;position:absolute;top:24%;right:2%;box-shadow:0 14px 28px #1e3a5c1a,inset 0 1px #ffffff94}.de-speech-label{color:#27567f;letter-spacing:.08em;margin-bottom:8px;font-size:12px;font-weight:700;display:block}.de-speech-text{color:#16324e;min-height:60px;font-size:13px;line-height:1.52}.de-speech-bubble--employee{border-radius:18px 18px 18px 8px;box-shadow:0 10px 22px #1e3a5c1a,inset 0 1px #ffffff94}.de-speech-bubble--employee .de-speech-text{min-height:0;margin:0 0 8px}.de-speech-workflow{text-align:left;cursor:pointer;background:#f7fbffc7;border:1px solid #4facfe29;border-radius:12px;grid-template-columns:auto minmax(0,1fr);gap:2px 7px;width:100%;min-width:0;padding:8px 9px;display:grid}.de-speech-workflow:hover{background:#eff8ffeb;border-color:#4facfe61}.de-speech-workflow:focus-visible{outline-offset:2px;outline:2px solid #4facfe8f}.de-speech-workflow span{color:#0c5a85;white-space:nowrap;font-size:10px;font-weight:800;line-height:1.35}.de-speech-workflow strong{color:#143450;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;line-height:1.35;overflow:hidden}.de-speech-workflow small{color:#58728e;-webkit-line-clamp:2;-webkit-box-orient:vertical;grid-column:2;min-width:0;font-size:10px;line-height:1.35;display:-webkit-box;overflow:hidden}.de-speech-workflow span:last-of-type,.de-speech-workflow span:last-of-type+small{margin-top:3px}.de-workbench{background:linear-gradient(#ffffffc7,#ebf4fff0);border:1px solid #4facfe29;border-radius:14px;grid-template-rows:auto minmax(0,1fr);gap:10px;min-height:0;padding:12px;display:grid;overflow:hidden}.de-workbench-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.de-workbench>.de-card-title-bar{border-radius:14px 14px 0 0;min-height:42px;margin:-12px -12px 0}.de-workbench-head--bar{flex-wrap:nowrap}.de-workbench-head--bar:after,.de-report-summary-head--bar:after{content:none}.de-workbench-title-row{align-items:baseline;gap:10px;min-width:0;display:flex}.de-workbench-title-row h3{color:#143450;margin:0;font-size:16px}.de-workbench-count{color:#5b7590;white-space:nowrap;font-size:11px}.de-workbench-table-wrap{background:#f7fbffeb;border:1px solid #4facfe24;border-radius:12px;min-height:0;overflow-y:auto}.de-workbench-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;font-size:12px}.de-workbench-table th{z-index:1;color:#29577f;text-align:left;background:#dcecfcfa;border-bottom:1px solid #4facfe14;padding:9px 8px;font-weight:700;position:sticky;top:0}.de-workbench-table td{color:#173550;vertical-align:top;border-bottom:1px solid #4facfe14;padding:9px 8px}.de-workbench-clickable-row{cursor:pointer;transition:background .18s,box-shadow .18s}.de-workbench-clickable-row:hover{background:#4facfe1a;box-shadow:inset 3px 0 #2ca8ffb8}.de-workbench-empty{text-align:center;color:#6b849d;padding:40px 12px}.de-workbench-task-name{color:#16324e;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.de-workbench-desc{color:#58728e;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.55;display:-webkit-box;overflow:hidden}.de-workbench-plan-progress{color:#5b7590;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.de-workbench-actions{flex-wrap:wrap;gap:6px;display:flex}.de-workbench-actions button{color:#22659a;cursor:pointer;background:#4facfe24;border:none;border-radius:999px;min-height:28px;padding:0 9px;font-size:11px}.de-workbench-action-accent{color:#8c5b04!important;background:#ffb83d33!important}.de-log-panel{background:linear-gradient(#ffffffc2,#eaf3fff0);border:1px solid #4facfe29;border-radius:14px;grid-template-rows:auto minmax(0,1fr);gap:12px;min-height:0;padding:12px;display:grid;overflow:hidden}.de-log-panel-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.de-log-panel-title-row{align-items:baseline;gap:10px;min-width:0;display:flex}.de-log-panel-title-row h3{color:#143450;margin:0;font-size:16px}.de-log-panel-title-row p{color:#5b7590;margin:0;font-size:11px}.de-log-list{justify-content:center;align-items:center;min-height:0;display:flex;overflow-y:auto}.de-report-summary{background:linear-gradient(#ffffffc2,#e7f2fff0);border:1px solid #4facfe29;border-radius:14px;gap:10px;min-height:0;padding:12px;display:grid;overflow:hidden}.de-report-summary-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.de-report-summary>.de-card-title-bar{border-radius:14px 14px 0 0;min-height:42px;margin:-12px -12px 0}.de-report-summary-head--bar{flex-wrap:nowrap}.de-report-summary-title-row{align-items:baseline;gap:10px;min-width:0;display:flex}.de-report-summary-title-row h3{color:#143450;margin:0;font-size:16px}.de-report-badge{font:inherit;cursor:pointer;border:0;border-radius:999px;align-items:center;padding:6px 12px;font-size:12px;font-weight:700;display:inline-flex}.de-report-badge:hover{box-shadow:0 0 0 2px #4facfe24}.de-report-badge--waiting{color:#8c5b04;background:#ffb83d2e}.de-report-badge--ready{color:#0f7a44;background:#20bf6b24}.de-report-summary-body{gap:10px;display:grid}.de-report-schedule-row{grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:8px;display:grid}.de-report-schedule-row label{color:#5b7590;grid-column:1/-1;align-items:center;gap:8px;min-width:0;font-size:12px;font-weight:800;display:flex}.de-report-schedule-row input{color:#16324e;background:#f7fbfff5;border:1px solid #4facfe2e;border-radius:9px;min-width:0;height:30px;padding:0 9px}.de-report-download-btn,.de-report-preview-btn{white-space:nowrap;justify-content:center;align-items:center;gap:5px;min-width:0;min-height:30px;display:inline-flex}.de-report-download-btn:not(:disabled){color:#0c5a85;background:linear-gradient(#ebf8fffa,#c8e9ffe6);border-color:#2ca8ff6b;box-shadow:0 4px 10px #2ca8ff1f,inset 0 1px #ffffffad}.de-report-download-btn:disabled{opacity:.5;cursor:not-allowed}.de-report-preview-overlay{z-index:330}.de-report-preview-modal{background:linear-gradient(#fcfefffa,#e9f5fff5);border:1px solid #4facfe33;border-radius:20px;grid-template-rows:auto auto minmax(0,1fr) auto;gap:14px;width:min(780px,100vw - 56px);max-height:min(720px,100vh - 54px);padding:18px;display:grid;box-shadow:0 24px 70px #15375442,inset 0 1px #ffffff9e}.de-report-preview-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.de-report-preview-summary div{background:#f7fbfff5;border:1px solid #4facfe1f;border-radius:12px;justify-content:space-between;align-items:baseline;gap:8px;min-width:0;padding:9px 10px;display:flex}.de-report-preview-summary span{color:#5b7590;white-space:nowrap;font-size:12px}.de-report-preview-summary strong{color:#16324e;font-size:20px;line-height:1}.de-report-preview-content{scrollbar-gutter:stable;background:#f7fbffdb;border:1px solid #4facfe1f;border-radius:14px;align-content:start;gap:10px;min-height:0;max-height:min(460px,100vh - 260px);padding:14px;display:grid;overflow-y:auto}.de-report-preview-content p{color:#173550;margin:0;font-size:13px;line-height:1.65}.de-report-actions{gap:10px;display:flex}.de-report-generate-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2ca8ff,#00c6ff);border:none;border-radius:12px;min-width:118px;padding:10px 16px;font-size:14px;font-weight:700}.de-report-generate-btn:disabled{opacity:.6;cursor:not-allowed}.de-report-download{color:#16324e;background:#ffffffe6;border:1px solid #4facfe29;border-radius:12px;flex:1;align-items:center;padding:10px 16px;font-size:14px;display:flex}.de-report-download--disabled{opacity:.55}.de-report-meta{gap:4px;display:grid}.de-report-meta p{color:#5b7590;margin:0;font-size:12px}.de-profile-settings-modal{background:linear-gradient(#fafdfffa,#e8f4fffa);border:1px solid #4facfe38;border-radius:18px;grid-template-rows:auto minmax(0,1fr) auto;gap:14px;width:min(520px,100%);max-height:min(720px,100vh - 48px);padding:18px;display:grid;box-shadow:0 24px 60px #1d436d2e}.de-profile-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.de-profile-settings-grid label,.de-profile-status-toggle{color:#5b7590;gap:6px;font-size:12px;font-weight:800;display:grid}.de-profile-settings-grid input{color:#16324e;background:#f7fbfff5;border:1px solid #4facfe2e;border-radius:10px;min-width:0;height:36px;padding:0 10px}.de-profile-status-toggle div{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.de-profile-status-toggle button{color:#22659a;cursor:pointer;background:#4facfe1a;border:1px solid #4facfe2e;border-radius:10px;min-height:36px;font-weight:800}.de-profile-status-toggle button.active{color:#fff;background:var(--de-btn-gradient-active);border-color:#0000;box-shadow:0 2px 8px #4facfe38}.de-gender-toggle{gap:0;display:flex}.de-gender-btn{color:#1e90ff80;cursor:pointer;background:#ffffff80;border:1px solid #4facfe40;padding:8px 36px;font-size:15px;font-weight:700;transition:all .3s;transform:skew(-15deg)}.de-gender-btn:first-child{border-radius:10px 0 0 10px}.de-gender-btn:last-child{border-radius:0 10px 10px 0}.de-gender-btn span{display:inline-block;transform:skew(15deg)}.de-gender-btn.active{color:#fff;background:linear-gradient(135deg,#4facfe,#00f2fe);border-color:#0000;box-shadow:0 3px 12px #4facfe66}.de-skin-row{-webkit-backdrop-filter:blur(20px)saturate(1.2);backdrop-filter:blur(20px)saturate(1.2);background:#e6f2ffbf;border:1px solid #4facfe38;border-radius:12px;gap:6px;margin-top:8px;padding:8px 10px;display:flex;box-shadow:0 4px 24px #1e90ff14}.de-skin-option{cursor:pointer;background:#ffffff4d;border:2px solid #0000;border-radius:8px;flex-direction:column;align-items:center;gap:3px;padding:5px 8px;transition:all .3s;display:flex}.de-skin-option.active{background:linear-gradient(135deg,#4facfe33,#00f2fe26);border-color:#4facfe;box-shadow:0 0 12px #4facfe4d}.de-skin-preview{background:#ffffff80;border-radius:6px;width:38px;height:50px;overflow:hidden}.de-skin-preview img{object-fit:contain;object-position:center top;width:100%;height:100%}.de-skin-label{color:#4a6a8a;white-space:nowrap;font-size:11px}.de-shell-body{flex:1;min-height:0;position:relative;overflow:hidden auto}.de-dashboard .de-card{margin:0}.de-dashboard .de-card-body{padding:14px 16px}@media(max-width:1280px){.de-mission-center-page{padding:10px 12px}.de-dashboard{height:auto;min-height:calc(100vh - 60px)}.de-dashboard-content{grid-template-columns:minmax(248px,.76fr) minmax(340px,1.18fr) minmax(248px,.68fr);gap:8px;padding:7px 8px 72px;overflow:hidden}.de-dashboard-center{min-height:0;padding:0 0 44px;overflow:visible}.de-right-panels{grid-template-rows:minmax(0,1fr) minmax(158px,.34fr);gap:8px;overflow:hidden}.de-workbench-table-wrap,.de-log-list{max-height:none}.de-speech-bubble{width:min(260px,100% + 12px);padding:8px 10px;top:24%;left:50%;right:auto;transform:translate(-50%)}.de-card{border-radius:10px}.de-card-body{padding:10px 12px}.de-card-title-bar{padding:7px 13px}.de-card-title-bar-text{letter-spacing:.5px;font-size:14px}.de-badge{min-height:20px;padding:0 8px;font-size:11px}.de-speech-label{margin-bottom:5px;font-size:11px}.de-speech-text{min-height:36px;font-size:11px;line-height:1.4}.de-speech-bubble--employee .de-speech-text{min-height:0}.de-speech-workflow{gap:2px 6px;padding:7px 8px}.de-speech-workflow strong{font-size:11px}.de-speech-workflow small{-webkit-line-clamp:1;font-size:10px}.de-avatar-wrapper{max-width:560px;min-height:420px}.de-avatar-img{max-width:96%;height:56vh;max-height:470px;margin-bottom:-10px}.de-avatar-glass-space{width:100%;max-width:360px}.de-skin-switch{bottom:5px!important}.de-gender-btn{padding:6px 24px;font-size:13px}.de-skin-row{gap:5px;margin-top:6px;padding:6px 8px}.de-skin-preview{width:28px;height:36px}.de-skin-option{padding:3px 6px}.de-skin-label{font-size:10px}.de-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:7px 10px}.de-info-item{gap:3px;padding:4px 0}.de-info-item label{font-size:12px}.de-info-item span{font-size:13px;line-height:1.4}.de-template-overview,.de-skill-overview{border-radius:14px;margin-bottom:8px}.de-template-overview-item,.de-skill-overview-item{gap:4px;min-height:54px;padding:7px 10px 10px}.de-template-overview-label,.de-skill-overview-label{font-size:11px}.de-template-overview-value,.de-skill-overview-value{font-size:24px}.de-skill-tabs{border-radius:12px;margin-bottom:8px}.de-skill-tab{border-radius:10px;padding:6px 8px;font-size:12px}.de-category-slider{grid-template-columns:24px minmax(0,1fr) 24px;gap:6px;margin-bottom:8px}.de-category-nav{width:24px;height:24px;font-size:16px}.de-tag{min-width:50px;padding:6px 11px;font-size:12px}.de-workbench,.de-log-panel,.de-report-summary{border-radius:12px;gap:8px;padding:10px}.de-workbench-head,.de-log-panel-head,.de-report-summary-head{align-items:flex-start}.de-workbench-title-row,.de-log-panel-title-row,.de-report-summary-title-row{gap:2px;display:grid}.de-workbench-title-row h3,.de-log-panel-title-row h3,.de-report-summary-title-row h3{font-size:15px}.de-workbench-count,.de-log-panel-title-row p{font-size:11px}.de-workbench-table{table-layout:fixed;font-size:12px}.de-workbench-table th,.de-workbench-table td{padding:7px 6px}.de-workbench-table th:nth-child(4),.de-workbench-table td:nth-child(4){display:none}.de-workbench-actions button{min-height:26px;padding:0 7px;font-size:11px}.de-report-actions{flex-direction:column}.de-report-generate-btn{min-width:96px;padding:8px 12px;font-size:12px}.de-report-download{padding:8px 12px;font-size:12px}.de-mission-center-layout{grid-template-columns:minmax(300px,.9fr) minmax(380px,1.35fr);gap:10px}.de-mc-card-list{gap:6px}.de-mission-card{border-radius:10px;padding:9px 10px}.de-mission-card-header{margin-bottom:5px}.de-mission-card-title{font-size:13px}.de-mission-card-desc{-webkit-line-clamp:1;margin-bottom:5px;font-size:12px;line-height:1.38}.de-mission-card-meta{gap:8px;font-size:11px}.de-mission-card-actions{margin-top:7px;padding-top:7px}.de-mission-card-time{font-size:10px}.de-btn-run{padding:4px 10px;font-size:11px}.de-date-filter-row{gap:6px;margin-bottom:8px;padding:8px}.de-date-filter-field{justify-content:space-between;width:100%}.de-date-filter-field input{min-width:136px}.de-date-filter-summary{width:100%;margin-left:0}.de-filter-row{gap:5px;margin-bottom:8px}.de-filter-chip{padding:3px 9px;font-size:11px}.de-drawer{border-radius:14px;gap:10px;padding:12px}.de-drawer-title-group h3{font-size:17px}.de-drawer-eyebrow{font-size:10px}.de-drawer-meta{font-size:11px}.de-detail-section{border-radius:10px;padding:9px}.de-detail-section h4{margin-bottom:7px;font-size:12px}.de-detail-section-head h4{margin-bottom:0}.de-detail-kv{grid-template-columns:60px minmax(0,1fr);gap:5px 8px;font-size:11px}.de-chain-row{grid-template-columns:64px minmax(0,1fr);font-size:10px}.de-chain-row time{text-align:left;grid-column:1/-1}.de-step-node{grid-template-columns:20px 1fr;gap:8px;padding-bottom:11px}.de-step-content strong{font-size:13px}.de-step-content span{font-size:11px}.de-step-dot{width:10px;height:10px}.de-step-line{left:4px}.de-task-run-card{border-radius:9px;padding:7px 8px}.de-task-run-meta{gap:5px 8px;font-size:10px}.de-event-row{grid-template-columns:64px minmax(0,1fr);font-size:10px}.de-event-row time{text-align:left;grid-column:1/-1}.de-log-entry{border-radius:10px;gap:4px;padding:8px 10px;font-size:11px}.de-log-entry-meta strong{font-size:12px}.de-log-entry p{font-size:11px;line-height:1.38}}@media(max-width:1679px){.de-dashboard-content{grid-template-columns:minmax(278px,.86fr) minmax(360px,1.08fr) minmax(276px,.78fr);gap:12px;padding:8px 14px 10px}.de-dashboard-center{padding:4px 0 80px}}@media(max-width:1439px){.de-dashboard-content{grid-template-columns:minmax(260px,.9fr) minmax(300px,.96fr) minmax(260px,.74fr);gap:10px;padding:8px 12px}.de-dashboard-center{padding:4px 0 72px}}@media(max-width:1280px){.de-dashboard-content{gap:8px;padding:7px 8px 72px}.de-dashboard-center{padding:4px 0 56px}.de-log-entry{border-radius:10px;gap:4px;padding:8px 10px;font-size:11px}.de-log-entry-meta strong{font-size:12px}.de-log-entry p{font-size:11px;line-height:1.38}}@media(max-height:820px)and (min-width:1180px){.de-dashboard--compact .de-dashboard-content{grid-template-columns:minmax(320px,.9fr) minmax(360px,.86fr) minmax(410px,1.05fr);gap:10px;padding:6px 14px 8px}.de-dashboard--compact .de-dashboard-left{gap:8px}.de-dashboard--compact .de-card-title-bar{min-height:40px;padding:7px 14px}.de-dashboard--compact .de-card-title-bar-text{font-size:15px}.de-dashboard--compact .de-card-body{padding:10px 14px}.de-person-card--compact .de-info-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:7px 10px}.de-person-card--compact .de-info-item{gap:2px;padding:2px 0}.de-person-card--compact .de-info-item label{font-size:11px}.de-person-card--compact .de-info-item span{font-size:12px;line-height:1.32}.de-person-card--compact .de-report-download{padding:7px 10px;margin-top:8px!important;font-size:11px!important;line-height:1.32!important}.de-dashboard--compact .de-workday-toolbar{grid-template-columns:minmax(0,1fr) 92px;gap:8px;margin-bottom:8px}.de-dashboard--compact .de-workday-toolbar input{border-radius:9px;height:30px}.de-dashboard--compact .de-template-overview{border-radius:12px;margin-bottom:8px}.de-dashboard--compact .de-template-overview-item{gap:3px;min-height:54px;padding:7px 10px 10px}.de-dashboard--compact .de-template-overview-label{font-size:11px}.de-dashboard--compact .de-template-overview-value{font-size:24px}.de-dashboard--compact .de-template-list-scroll{gap:6px}.de-dashboard--compact .de-template-manager-body>.de-task-date-context{margin:-2px 0 6px;padding:6px 7px}.de-dashboard--compact .de-task-manager-preview{border-radius:12px;gap:6px;padding:8px}.de-dashboard--compact .de-task-manager-preview-row{border-radius:10px;padding:8px 9px}.de-dashboard--compact .de-template-task-list .de-task-manager-preview-row{grid-template-columns:minmax(0,1fr) auto;gap:6px}.de-dashboard--compact .de-template-item-actions .de-btn-sm{min-height:24px;padding:0 7px;font-size:10px}.de-dashboard--compact .de-duty-card--compact{border-radius:10px;min-height:86px;padding:8px 10px}.de-dashboard--compact .de-template-card-main{gap:4px}.de-dashboard--compact .de-template-card-name{font-size:13px}.de-dashboard--compact .de-template-card-desc{-webkit-line-clamp:1;font-size:11px;line-height:1.34}.de-dashboard--compact .de-template-card-meta{gap:6px;font-size:10px}.de-dashboard--compact .de-duty-card-foot{margin-top:0}.de-dashboard--compact .de-duty-card-foot .de-btn-sm{min-height:24px;padding:0 9px;font-size:11px}.de-dashboard--compact .de-duty-selected-mark{min-width:36px;height:22px;font-size:10px}.de-dashboard--compact .de-dashboard-center{padding:0 0 10px!important}.de-dashboard--compact .de-avatar-wrapper{max-width:520px!important;min-height:430px!important;transform:translateY(-2px)!important}.de-dashboard--compact .de-avatar-img{height:58vh;max-height:450px;margin-bottom:-32px}.de-dashboard--compact .de-avatar-glass-space{max-width:340px;max-height:520px}.de-dashboard--compact .de-avatar-state-label{min-height:24px;font-size:12px;top:17%}.de-dashboard--compact .de-speech-bubble{border-radius:18px 18px 18px 10px;width:250px!important;padding:9px 11px!important;top:38%!important;left:27%!important}.de-dashboard--compact .de-speech-label{margin-bottom:5px;font-size:11px}.de-dashboard--compact .de-speech-text{min-height:0;font-size:11px;line-height:1.38}.de-dashboard--compact .de-speech-workflow{gap:2px 6px;padding:7px 8px}.de-dashboard--compact .de-speech-workflow strong{font-size:11px}.de-dashboard--compact .de-speech-workflow small{-webkit-line-clamp:1;font-size:10px}.de-dashboard--compact .de-skin-row{gap:5px;margin-top:5px;padding:6px 8px}.de-dashboard--compact .de-right-panels{grid-template-rows:minmax(0,1fr) minmax(156px,.33fr);gap:8px}.de-dashboard--compact .de-workbench,.de-dashboard--compact .de-log-panel,.de-dashboard--compact .de-report-summary{border-radius:12px;gap:8px;padding:10px}.de-dashboard--compact .de-workbench-title-row,.de-dashboard--compact .de-log-panel-title-row,.de-dashboard--compact .de-report-summary-title-row{gap:2px;display:grid}.de-dashboard--compact .de-workbench-title-row h3,.de-dashboard--compact .de-log-panel-title-row h3,.de-dashboard--compact .de-report-summary-title-row h3{font-size:15px}.de-dashboard--compact .de-workday-execution-body{grid-template-rows:auto minmax(80px,.48fr) auto minmax(0,1fr);gap:6px}.de-dashboard--compact .de-execution-status-strip{gap:5px}.de-dashboard--compact .de-execution-status-strip span{padding:6px 7px}.de-dashboard--compact .de-execution-status-strip strong{font-size:16px}.de-dashboard--compact .de-task-summary-grid{gap:5px}.de-dashboard--compact .de-task-summary-scroll .de-task-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.de-dashboard--compact .de-task-summary-card{border-radius:10px;gap:3px 5px;min-height:76px;padding:7px}.de-dashboard--compact .de-task-summary-title{font-size:11px}.de-dashboard--compact .de-task-summary-counts{gap:4px}.de-dashboard--compact .de-task-summary-counts span{padding:5px}.de-dashboard--compact .de-task-summary-counts em{font-size:9px}.de-dashboard--compact .de-task-summary-counts strong{font-size:13px}.de-dashboard--compact .de-log-entry{border-radius:10px;gap:4px;padding:7px 9px}.de-dashboard--compact .de-log-entry-meta strong{font-size:12px}.de-dashboard--compact .de-log-entry p{-webkit-line-clamp:1;font-size:11px;line-height:1.34}.de-dashboard--compact .de-decision-chain-note{margin-top:4px;font-size:10px}.de-dashboard--compact .de-report-summary,.de-dashboard--compact .de-report-summary-body,.de-dashboard--compact .de-report-schedule-row{gap:6px}.de-dashboard--compact .de-report-download-btn,.de-dashboard--compact .de-report-preview-btn{gap:4px;min-height:28px}.de-dashboard--compact .de-report-meta p{font-size:10px;line-height:1.3}.de-task-manager-modal-overlay{padding:16px}.de-task-manager-modal{border-radius:16px;gap:12px;width:min(1000px,100vw - 36px);max-height:calc(100vh - 36px);padding:14px}.de-task-manager-modal-body{grid-template-columns:minmax(0,1.24fr) minmax(280px,.78fr);gap:10px}.de-task-manager-modal-head h3{font-size:19px}.de-task-manager-modal-head p{font-size:12px;line-height:1.42}.de-workday-guide-modal{gap:10px;width:min(1040px,100vw - 36px)}.de-workday-guide-steps{gap:8px}.de-workday-guide-step{border-radius:12px;padding:8px 9px}.de-workday-guide-step span{width:22px;height:22px;font-size:11px}.de-workday-guide-step strong{font-size:12px}.de-workday-guide-step p{font-size:10px;line-height:1.32}.de-workday-guide-body{grid-template-columns:minmax(0,1.32fr) minmax(260px,.72fr);gap:10px}.de-workday-guide-duty-list{gap:7px}.de-workday-guide-duty-list .de-duty-card{grid-template-columns:68px minmax(0,1fr);gap:7px;min-height:94px}.de-workday-guide-side{border-radius:13px;gap:8px;padding:10px}.de-workday-guide-summary{border-radius:11px;padding:9px}.de-workday-guide-summary strong{font-size:14px}.de-workday-guide-summary p{font-size:11px;line-height:1.38}.de-task-manager-column{border-radius:13px;gap:8px;padding:10px}.de-task-manager-duty-list .de-duty-card{grid-template-columns:72px minmax(0,1fr);gap:8px;min-height:88px}.de-task-manager-duty-check{gap:6px;font-size:11px}.de-task-manager-duty-check input{width:20px;height:20px}.de-task-manager-decision-card{border-radius:10px;padding:9px 10px}}@media(max-width:1023px){.de-mission-center-page{height:auto;min-height:100%;padding:10px 12px 96px;overflow:visible}.de-mission-center-layout{grid-template-columns:1fr;height:auto;min-height:auto;overflow:visible}.de-mc-list,.de-mc-detail{min-height:auto;display:flex;overflow:visible}.de-mc-list>.de-card,.de-mc-detail>.de-card{height:auto;min-height:0}.de-mc-list .de-card-body,.de-mc-detail .de-card-body{overflow:visible}.de-dashboard{height:auto;min-height:100%;overflow:visible}.de-dashboard-content{grid-template-columns:1fr;min-height:auto;padding:8px 12px 96px;overflow:visible}.de-dashboard-left,.de-dashboard-center,.de-dashboard-right{overflow:visible}.de-right-panels{grid-template-rows:auto auto;height:auto}.de-workbench,.de-log-panel,.de-report-summary{min-height:180px}.de-workday-execution-body{grid-template-rows:auto auto auto auto}.de-task-summary-scroll,.de-run-detail-list{max-height:360px}.de-run-detail-panel{min-height:260px}}.de-log-entries{flex-direction:column;gap:6px;display:flex;overflow-y:auto}.de-log-entry{text-align:left;color:#16324e;cursor:pointer;background:#f8fbfff5;border:1px solid #4facfe1f;border-radius:12px;gap:6px;width:100%;padding:10px 12px;font-family:inherit;font-size:12px;transition:border-color .18s,box-shadow .18s;display:grid}.de-log-entry:hover,.de-log-entry--active{border-color:#4facfe57;box-shadow:0 0 0 2px #4facfe14}.de-log-entry-meta{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.de-log-entry-meta strong{font-size:13px;line-height:1.4}.de-log-entry-meta span{color:#5b7590;font-size:11px}.de-log-entry p{color:#5b7590;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:12px;line-height:1.5;display:-webkit-box;overflow:hidden}.de-workbench-actions button:hover{background:#4facfe38}.de-workbench-actions button:disabled{opacity:.45;cursor:not-allowed}.de-status-dot--running{background:var(--de-primary);border-radius:50%;width:8px;height:8px;margin-right:6px;animation:1.5s ease-in-out infinite de-pulse-dot;display:inline-block}.de-elapsed{color:var(--de-text-muted);font-variant-numeric:tabular-nums;font-size:11px}.de-tag-count-badge{color:#fff;background:linear-gradient(135deg,#ff7d66,#ff5b6b);border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 6px;font-size:11px;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:-6px;right:-2px;box-shadow:0 3px 8px #ff5b6b47}.de-skill-btn--schedule{background:linear-gradient(135deg,#0ea5e9f0,#06b6d4e0)!important}.de-schedule-overlay{z-index:28;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a1c2c47;justify-content:center;align-items:center;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.de-schedule-dialog{background:linear-gradient(#fcfeffe6,#e5f0ffe0);border:1px solid #4facfe33;border-radius:24px;gap:18px;width:min(520px,100vw - 32px);padding:20px;display:grid;box-shadow:0 20px 48px #1e3a5c2e,inset 0 1px #ffffff80}.de-schedule-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.de-schedule-title{color:#173553;font-size:18px;font-weight:700;display:block}.de-schedule-skill-id{color:#5b7590;margin-top:4px;font-size:13px;display:block}.de-schedule-close{cursor:pointer;color:#3c6486;background:#4facfe1f;border:none;border-radius:999px;padding:8px 14px}.de-schedule-section{gap:12px;display:grid}.de-schedule-label{color:#41627f;font-size:13px}.de-schedule-desc{color:#315576;margin:0;font-size:13px;line-height:1.6}.de-schedule-presets{flex-wrap:wrap;gap:10px;display:flex}.de-schedule-preset{color:#315576;cursor:pointer;background:#4facfe1a;border:none;border-radius:999px;padding:8px 14px;font-size:13px}.de-schedule-preset.is-active{color:#fff;background:linear-gradient(135deg,#4facfeeb,#00f2fedb);font-weight:700;box-shadow:0 4px 12px #4facfe38}.de-schedule-switch{color:#315576;background:#ffffffbd;border:1px solid #4facfe1f;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;font-size:13px;display:flex}.de-schedule-switch input[type=checkbox]{accent-color:#4facfe;width:18px;height:18px}.de-schedule-notice{color:#315576;background:#4facfe14;border:1px solid #4facfe1f;border-radius:14px;padding:12px 14px;font-size:13px;line-height:1.5}.de-schedule-result{border-radius:12px;padding:10px 12px;font-size:13px;line-height:1.5}.de-schedule-result--success{color:#176a3a;background:#1b9c5a1a;border:1px solid #1b9c5a33}.de-schedule-result--pending{color:#7a5509;background:#f5ad2d1f;border:1px solid #f5ad2d3d}.de-schedule-result--error{color:#ad3434;background:#e048481a;border:1px solid #e0484833}.de-schedule-footer{justify-content:flex-end;gap:12px;display:flex}.de-schedule-btn-secondary{cursor:pointer;color:#3c6486;background:#4facfe1f;border:none;border-radius:999px;padding:8px 14px}.de-schedule-btn-primary{cursor:pointer;color:#fff;background:linear-gradient(135deg,#4facfeeb,#00f2fedb);border:none;border-radius:999px;padding:8px 18px;box-shadow:0 4px 12px #4facfe38}.de-schedule-btn-primary:disabled{opacity:.55;cursor:not-allowed}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false} diff --git a/qimingclaw/crates/agent-electron-client/public/sgrobot-digital/assets/index-CdwW2SHB.js b/qimingclaw/crates/agent-electron-client/public/sgrobot-digital/assets/index-CdwW2SHB.js deleted file mode 100644 index 44b45564..00000000 --- a/qimingclaw/crates/agent-electron-client/public/sgrobot-digital/assets/index-CdwW2SHB.js +++ /dev/null @@ -1,149 +0,0 @@ -(function(){const l=document.createElement("link").relList;if(l&&l.supports&&l.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))r(o);new MutationObserver(o=>{for(const f of o)if(f.type==="childList")for(const m of f.addedNodes)m.tagName==="LINK"&&m.rel==="modulepreload"&&r(m)}).observe(document,{childList:!0,subtree:!0});function s(o){const f={};return o.integrity&&(f.integrity=o.integrity),o.referrerPolicy&&(f.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?f.credentials="include":o.crossOrigin==="anonymous"?f.credentials="omit":f.credentials="same-origin",f}function r(o){if(o.ep)return;o.ep=!0;const f=s(o);fetch(o.href,f)}})();function rb(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var ld={exports:{}},$s={};/** - * @license React - * react-jsx-runtime.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Kp;function cb(){if(Kp)return $s;Kp=1;var n=Symbol.for("react.transitional.element"),l=Symbol.for("react.fragment");function s(r,o,f){var m=null;if(f!==void 0&&(m=""+f),o.key!==void 0&&(m=""+o.key),"key"in o){f={};for(var _ in o)_!=="key"&&(f[_]=o[_])}else f=o;return o=f.ref,{$$typeof:n,type:r,key:m,ref:o!==void 0?o:null,props:f}}return $s.Fragment=l,$s.jsx=s,$s.jsxs=s,$s}var Xp;function ub(){return Xp||(Xp=1,ld.exports=cb()),ld.exports}var u=ub(),id={exports:{}},ge={};/** - * @license React - * react.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Vp;function ob(){if(Vp)return ge;Vp=1;var n=Symbol.for("react.transitional.element"),l=Symbol.for("react.portal"),s=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),f=Symbol.for("react.consumer"),m=Symbol.for("react.context"),_=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),g=Symbol.for("react.memo"),b=Symbol.for("react.lazy"),j=Symbol.for("react.activity"),k=Symbol.iterator;function q(E){return E===null||typeof E!="object"?null:(E=k&&E[k]||E["@@iterator"],typeof E=="function"?E:null)}var A={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},O=Object.assign,M={};function U(E,G,F){this.props=E,this.context=G,this.refs=M,this.updater=F||A}U.prototype.isReactComponent={},U.prototype.setState=function(E,G){if(typeof E!="object"&&typeof E!="function"&&E!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,E,G,"setState")},U.prototype.forceUpdate=function(E){this.updater.enqueueForceUpdate(this,E,"forceUpdate")};function J(){}J.prototype=U.prototype;function z(E,G,F){this.props=E,this.context=G,this.refs=M,this.updater=F||A}var K=z.prototype=new J;K.constructor=z,O(K,U.prototype),K.isPureReactComponent=!0;var ee=Array.isArray;function de(){}var P={H:null,A:null,T:null,S:null},W=Object.prototype.hasOwnProperty;function le(E,G,F){var te=F.ref;return{$$typeof:n,type:E,key:G,ref:te!==void 0?te:null,props:F}}function be(E,G){return le(E.type,G,E.props)}function Ge(E){return typeof E=="object"&&E!==null&&E.$$typeof===n}function ze(E){var G={"=":"=0",":":"=2"};return"$"+E.replace(/[=:]/g,function(F){return G[F]})}var V=/\/+/g;function ce(E,G){return typeof E=="object"&&E!==null&&E.key!=null?ze(""+E.key):G.toString(36)}function B(E){switch(E.status){case"fulfilled":return E.value;case"rejected":throw E.reason;default:switch(typeof E.status=="string"?E.then(de,de):(E.status="pending",E.then(function(G){E.status==="pending"&&(E.status="fulfilled",E.value=G)},function(G){E.status==="pending"&&(E.status="rejected",E.reason=G)})),E.status){case"fulfilled":return E.value;case"rejected":throw E.reason}}throw E}function N(E,G,F,te,fe){var ye=typeof E;(ye==="undefined"||ye==="boolean")&&(E=null);var Z=!1;if(E===null)Z=!0;else switch(ye){case"bigint":case"string":case"number":Z=!0;break;case"object":switch(E.$$typeof){case n:case l:Z=!0;break;case b:return Z=E._init,N(Z(E._payload),G,F,te,fe)}}if(Z)return fe=fe(E),Z=te===""?"."+ce(E,0):te,ee(fe)?(F="",Z!=null&&(F=Z.replace(V,"$&/")+"/"),N(fe,G,F,"",function(Oe){return Oe})):fe!=null&&(Ge(fe)&&(fe=be(fe,F+(fe.key==null||E&&E.key===fe.key?"":(""+fe.key).replace(V,"$&/")+"/")+Z)),G.push(fe)),1;Z=0;var ne=te===""?".":te+":";if(ee(E))for(var $e=0;$e>>1,Se=N[he];if(0>>1;heo(F,ie))teo(fe,F)?(N[he]=fe,N[te]=ie,he=te):(N[he]=F,N[G]=ie,he=G);else if(teo(fe,ie))N[he]=fe,N[te]=ie,he=te;else break e}}return X}function o(N,X){var ie=N.sortIndex-X.sortIndex;return ie!==0?ie:N.id-X.id}if(n.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var f=performance;n.unstable_now=function(){return f.now()}}else{var m=Date,_=m.now();n.unstable_now=function(){return m.now()-_}}var p=[],g=[],b=1,j=null,k=3,q=!1,A=!1,O=!1,M=!1,U=typeof setTimeout=="function"?setTimeout:null,J=typeof clearTimeout=="function"?clearTimeout:null,z=typeof setImmediate<"u"?setImmediate:null;function K(N){for(var X=s(g);X!==null;){if(X.callback===null)r(g);else if(X.startTime<=N)r(g),X.sortIndex=X.expirationTime,l(p,X);else break;X=s(g)}}function ee(N){if(O=!1,K(N),!A)if(s(p)!==null)A=!0,de||(de=!0,ze());else{var X=s(g);X!==null&&B(ee,X.startTime-N)}}var de=!1,P=-1,W=5,le=-1;function be(){return M?!0:!(n.unstable_now()-leN&&be());){var he=j.callback;if(typeof he=="function"){j.callback=null,k=j.priorityLevel;var Se=he(j.expirationTime<=N);if(N=n.unstable_now(),typeof Se=="function"){j.callback=Se,K(N),X=!0;break t}j===s(p)&&r(p),K(N)}else r(p);j=s(p)}if(j!==null)X=!0;else{var E=s(g);E!==null&&B(ee,E.startTime-N),X=!1}}break e}finally{j=null,k=ie,q=!1}X=void 0}}finally{X?ze():de=!1}}}var ze;if(typeof z=="function")ze=function(){z(Ge)};else if(typeof MessageChannel<"u"){var V=new MessageChannel,ce=V.port2;V.port1.onmessage=Ge,ze=function(){ce.postMessage(null)}}else ze=function(){U(Ge,0)};function B(N,X){P=U(function(){N(n.unstable_now())},X)}n.unstable_IdlePriority=5,n.unstable_ImmediatePriority=1,n.unstable_LowPriority=4,n.unstable_NormalPriority=3,n.unstable_Profiling=null,n.unstable_UserBlockingPriority=2,n.unstable_cancelCallback=function(N){N.callback=null},n.unstable_forceFrameRate=function(N){0>N||125he?(N.sortIndex=ie,l(g,N),s(p)===null&&N===s(g)&&(O?(J(P),P=-1):O=!0,B(ee,ie-he))):(N.sortIndex=Se,l(p,N),A||q||(A=!0,de||(de=!0,ze()))),N},n.unstable_shouldYield=be,n.unstable_wrapCallback=function(N){var X=k;return function(){var ie=k;k=X;try{return N.apply(this,arguments)}finally{k=ie}}}})(cd)),cd}var Jp;function mb(){return Jp||(Jp=1,rd.exports=fb()),rd.exports}var ud={exports:{}},Tt={};/** - * @license React - * react-dom.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Fp;function hb(){if(Fp)return Tt;Fp=1;var n=Yd();function l(p){var g="https://react.dev/errors/"+p;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(l){console.error(l)}}return n(),ud.exports=hb(),ud.exports}/** - * @license React - * react-dom-client.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Pp;function gb(){if(Pp)return Os;Pp=1;var n=mb(),l=Yd(),s=pb();function r(e){var t="https://react.dev/errors/"+e;if(1Se||(e.current=he[Se],he[Se]=null,Se--)}function F(e,t){Se++,he[Se]=e.current,e.current=t}var te=E(null),fe=E(null),ye=E(null),Z=E(null);function ne(e,t){switch(F(ye,t),F(fe,e),F(te,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?hp(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=hp(t),e=pp(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}G(te),F(te,e)}function $e(){G(te),G(fe),G(ye)}function Oe(e){e.memoizedState!==null&&F(Z,e);var t=te.current,a=pp(t,e.type);t!==a&&(F(fe,e),F(te,a))}function xe(e){fe.current===e&&(G(te),G(fe)),Z.current===e&&(G(Z),Ds._currentValue=ie)}var Rt,yt;function Ne(e){if(Rt===void 0)try{throw Error()}catch(a){var t=a.stack.trim().match(/\n( *(at )?)/);Rt=t&&t[1]||"",yt=-1)":-1c||w[i]!==R[c]){var H=` -`+w[i].replace(" at new "," at ");return e.displayName&&H.includes("")&&(H=H.replace("",e.displayName)),H}while(1<=i&&0<=c);break}}}finally{at=!1,Error.prepareStackTrace=a}return(a=e?e.displayName||e.name:"")?Ne(a):""}function Ri(e,t){switch(e.tag){case 26:case 27:case 5:return Ne(e.type);case 16:return Ne("Lazy");case 13:return e.child!==t&&t!==null?Ne("Suspense Fallback"):Ne("Suspense");case 19:return Ne("SuspenseList");case 0:case 15:return Kn(e.type,!1);case 11:return Kn(e.type.render,!1);case 1:return Kn(e.type,!0);case 31:return Ne("Activity");default:return""}}function zl(e){try{var t="",a=null;do t+=Ri(e,a),a=e,e=e.return;while(e);return t}catch(i){return` -Error generating stack: `+i.message+` -`+i.stack}}var Mi=Object.prototype.hasOwnProperty,zi=n.unstable_scheduleCallback,St=n.unstable_cancelCallback,nr=n.unstable_shouldYield,we=n.unstable_requestPaint,pt=n.unstable_now,$t=n.unstable_getCurrentPriorityLevel,rn=n.unstable_ImmediatePriority,al=n.unstable_UserBlockingPriority,Ot=n.unstable_NormalPriority,Mt=n.unstable_LowPriority,ll=n.unstable_IdlePriority,Xn=n.log,il=n.unstable_setDisableYieldValue,Vn=null,Ie=null;function Dn(e){if(typeof Xn=="function"&&il(e),Ie&&typeof Ie.setStrictMode=="function")try{Ie.setStrictMode(Vn,e)}catch{}}var Ct=Math.clz32?Math.clz32:$i,ya=Math.log,eu=Math.LN2;function $i(e){return e>>>=0,e===0?32:31-(ya(e)/eu|0)|0}var $l=256,Ol=262144,ql=4194304;function Zn(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function qt(e,t,a){var i=e.pendingLanes;if(i===0)return 0;var c=0,d=e.suspendedLanes,h=e.pingedLanes;e=e.warmLanes;var y=i&134217727;return y!==0?(i=y&~d,i!==0?c=Zn(i):(h&=y,h!==0?c=Zn(h):a||(a=y&~e,a!==0&&(c=Zn(a))))):(y=i&~d,y!==0?c=Zn(y):h!==0?c=Zn(h):a||(a=i&~e,a!==0&&(c=Zn(a)))),c===0?0:t!==0&&t!==c&&(t&d)===0&&(d=c&-c,a=t&-t,d>=a||d===32&&(a&4194048)!==0)?t:c}function Be(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function De(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Ll(){var e=ql;return ql<<=1,(ql&62914560)===0&&(ql=4194304),e}function ar(e){for(var t=[],a=0;31>a;a++)t.push(e);return t}function Lt(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function pf(e,t,a,i,c,d){var h=e.pendingLanes;e.pendingLanes=a,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=a,e.entangledLanes&=a,e.errorRecoveryDisabledLanes&=a,e.shellSuspendCounter=0;var y=e.entanglements,w=e.expirationTimes,R=e.hiddenUpdates;for(a=h&~a;0"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var cr=/[\n"\\]/g;function Bt(e){return e.replace(cr,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function Yi(e,t,a,i,c,d,h,y){e.name="",h!=null&&typeof h!="function"&&typeof h!="symbol"&&typeof h!="boolean"?e.type=h:e.removeAttribute("type"),t!=null?h==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+Ut(t)):e.value!==""+Ut(t)&&(e.value=""+Ut(t)):h!=="submit"&&h!=="reset"||e.removeAttribute("value"),t!=null?Qi(e,h,Ut(t)):a!=null?Qi(e,h,Ut(a)):i!=null&&e.removeAttribute("value"),c==null&&d!=null&&(e.defaultChecked=!!d),c!=null&&(e.checked=c&&typeof c!="function"&&typeof c!="symbol"),y!=null&&typeof y!="function"&&typeof y!="symbol"&&typeof y!="boolean"?e.name=""+Ut(y):e.removeAttribute("name")}function ur(e,t,a,i,c,d,h,y){if(d!=null&&typeof d!="function"&&typeof d!="symbol"&&typeof d!="boolean"&&(e.type=d),t!=null||a!=null){if(!(d!=="submit"&&d!=="reset"||t!=null)){Hi(e);return}a=a!=null?""+Ut(a):"",t=t!=null?""+Ut(t):a,y||t===e.value||(e.value=t),e.defaultValue=t}i=i??c,i=typeof i!="function"&&typeof i!="symbol"&&!!i,e.checked=y?e.checked:!!i,e.defaultChecked=!!i,h!=null&&typeof h!="function"&&typeof h!="symbol"&&typeof h!="boolean"&&(e.name=h),Hi(e)}function Qi(e,t,a){t==="number"&&sl(e.ownerDocument)===e||e.defaultValue===""+a||(e.defaultValue=""+a)}function wa(e,t,a,i){if(e=e.options,t){t={};for(var c=0;c"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Yl=!1;if(cn)try{var Ca={};Object.defineProperty(Ca,"passive",{get:function(){Yl=!0}}),window.addEventListener("test",Ca,Ca),window.removeEventListener("test",Ca,Ca)}catch{Yl=!1}var jn=null,v=null,I=null;function se(){if(I)return I;var e,t=v,a=t.length,i,c="value"in jn?jn.value:jn.textContent,d=c.length;for(e=0;e=Wi),Sf=" ",xf=!1;function jf(e,t){switch(e){case"keyup":return Ty.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function wf(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Ql=!1;function Dy(e,t){switch(e){case"compositionend":return wf(t);case"keypress":return t.which!==32?null:(xf=!0,Sf);case"textInput":return e=t.data,e===Sf&&xf?null:e;default:return null}}function Ry(e,t){if(Ql)return e==="compositionend"||!uu&&jf(e,t)?(e=se(),I=v=jn=null,Ql=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:a,offset:t-e};e=i}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=Rf(a)}}function zf(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?zf(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function $f(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=sl(e.document);t instanceof e.HTMLIFrameElement;){try{var a=typeof t.contentWindow.location.href=="string"}catch{a=!1}if(a)e=t.contentWindow;else break;t=sl(e.document)}return t}function fu(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var By=cn&&"documentMode"in document&&11>=document.documentMode,Kl=null,mu=null,ns=null,hu=!1;function Of(e,t,a){var i=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;hu||Kl==null||Kl!==sl(i)||(i=Kl,"selectionStart"in i&&fu(i)?i={start:i.selectionStart,end:i.selectionEnd}:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection(),i={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}),ns&&ts(ns,i)||(ns=i,i=nc(mu,"onSelect"),0>=h,c-=h,Un=1<<32-Ct(t)+c|a<ve?(Te=re,re=null):Te=re.sibling;var Ue=$(T,re,D[ve],Y);if(Ue===null){re===null&&(re=Te);break}e&&re&&Ue.alternate===null&&t(T,re),C=d(Ue,C,ve),Le===null?ue=Ue:Le.sibling=Ue,Le=Ue,re=Te}if(ve===D.length)return a(T,re),Re&&Wn(T,ve),ue;if(re===null){for(;veve?(Te=re,re=null):Te=re.sibling;var Ja=$(T,re,Ue.value,Y);if(Ja===null){re===null&&(re=Te);break}e&&re&&Ja.alternate===null&&t(T,re),C=d(Ja,C,ve),Le===null?ue=Ja:Le.sibling=Ja,Le=Ja,re=Te}if(Ue.done)return a(T,re),Re&&Wn(T,ve),ue;if(re===null){for(;!Ue.done;ve++,Ue=D.next())Ue=Q(T,Ue.value,Y),Ue!==null&&(C=d(Ue,C,ve),Le===null?ue=Ue:Le.sibling=Ue,Le=Ue);return Re&&Wn(T,ve),ue}for(re=i(re);!Ue.done;ve++,Ue=D.next())Ue=L(re,T,ve,Ue.value,Y),Ue!==null&&(e&&Ue.alternate!==null&&re.delete(Ue.key===null?ve:Ue.key),C=d(Ue,C,ve),Le===null?ue=Ue:Le.sibling=Ue,Le=Ue);return e&&re.forEach(function(sb){return t(T,sb)}),Re&&Wn(T,ve),ue}function Ze(T,C,D,Y){if(typeof D=="object"&&D!==null&&D.type===O&&D.key===null&&(D=D.props.children),typeof D=="object"&&D!==null){switch(D.$$typeof){case q:e:{for(var ue=D.key;C!==null;){if(C.key===ue){if(ue=D.type,ue===O){if(C.tag===7){a(T,C.sibling),Y=c(C,D.props.children),Y.return=T,T=Y;break e}}else if(C.elementType===ue||typeof ue=="object"&&ue!==null&&ue.$$typeof===W&&yl(ue)===C.type){a(T,C.sibling),Y=c(C,D.props),cs(Y,D),Y.return=T,T=Y;break e}a(T,C);break}else t(T,C);C=C.sibling}D.type===O?(Y=ml(D.props.children,T.mode,Y,D.key),Y.return=T,T=Y):(Y=vr(D.type,D.key,D.props,null,T.mode,Y),cs(Y,D),Y.return=T,T=Y)}return h(T);case A:e:{for(ue=D.key;C!==null;){if(C.key===ue)if(C.tag===4&&C.stateNode.containerInfo===D.containerInfo&&C.stateNode.implementation===D.implementation){a(T,C.sibling),Y=c(C,D.children||[]),Y.return=T,T=Y;break e}else{a(T,C);break}else t(T,C);C=C.sibling}Y=Su(D,T.mode,Y),Y.return=T,T=Y}return h(T);case W:return D=yl(D),Ze(T,C,D,Y)}if(B(D))return ae(T,C,D,Y);if(ze(D)){if(ue=ze(D),typeof ue!="function")throw Error(r(150));return D=ue.call(D),me(T,C,D,Y)}if(typeof D.then=="function")return Ze(T,C,Er(D),Y);if(D.$$typeof===z)return Ze(T,C,xr(T,D),Y);Ar(T,D)}return typeof D=="string"&&D!==""||typeof D=="number"||typeof D=="bigint"?(D=""+D,C!==null&&C.tag===6?(a(T,C.sibling),Y=c(C,D),Y.return=T,T=Y):(a(T,C),Y=bu(D,T.mode,Y),Y.return=T,T=Y),h(T)):a(T,C)}return function(T,C,D,Y){try{rs=0;var ue=Ze(T,C,D,Y);return ni=null,ue}catch(re){if(re===ti||re===wr)throw re;var Le=Jt(29,re,null,T.mode);return Le.lanes=Y,Le.return=T,Le}finally{}}}var bl=im(!0),sm=im(!1),Ma=!1;function Mu(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function zu(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function za(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function $a(e,t,a){var i=e.updateQueue;if(i===null)return null;if(i=i.shared,(He&2)!==0){var c=i.pending;return c===null?t.next=t:(t.next=c.next,c.next=t),i.pending=t,t=yr(e),Yf(e,null,a),t}return _r(e,i,t,a),yr(e)}function us(e,t,a){if(t=t.updateQueue,t!==null&&(t=t.shared,(a&4194048)!==0)){var i=t.lanes;i&=e.pendingLanes,a|=i,t.lanes=a,pe(e,a)}}function $u(e,t){var a=e.updateQueue,i=e.alternate;if(i!==null&&(i=i.updateQueue,a===i)){var c=null,d=null;if(a=a.firstBaseUpdate,a!==null){do{var h={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};d===null?c=d=h:d=d.next=h,a=a.next}while(a!==null);d===null?c=d=t:d=d.next=t}else c=d=t;a={baseState:i.baseState,firstBaseUpdate:c,lastBaseUpdate:d,shared:i.shared,callbacks:i.callbacks},e.updateQueue=a;return}e=a.lastBaseUpdate,e===null?a.firstBaseUpdate=t:e.next=t,a.lastBaseUpdate=t}var Ou=!1;function os(){if(Ou){var e=ei;if(e!==null)throw e}}function ds(e,t,a,i){Ou=!1;var c=e.updateQueue;Ma=!1;var d=c.firstBaseUpdate,h=c.lastBaseUpdate,y=c.shared.pending;if(y!==null){c.shared.pending=null;var w=y,R=w.next;w.next=null,h===null?d=R:h.next=R,h=w;var H=e.alternate;H!==null&&(H=H.updateQueue,y=H.lastBaseUpdate,y!==h&&(y===null?H.firstBaseUpdate=R:y.next=R,H.lastBaseUpdate=w))}if(d!==null){var Q=c.baseState;h=0,H=R=w=null,y=d;do{var $=y.lane&-536870913,L=$!==y.lane;if(L?(Ce&$)===$:(i&$)===$){$!==0&&$===Pl&&(Ou=!0),H!==null&&(H=H.next={lane:0,tag:y.tag,payload:y.payload,callback:null,next:null});e:{var ae=e,me=y;$=t;var Ze=a;switch(me.tag){case 1:if(ae=me.payload,typeof ae=="function"){Q=ae.call(Ze,Q,$);break e}Q=ae;break e;case 3:ae.flags=ae.flags&-65537|128;case 0:if(ae=me.payload,$=typeof ae=="function"?ae.call(Ze,Q,$):ae,$==null)break e;Q=j({},Q,$);break e;case 2:Ma=!0}}$=y.callback,$!==null&&(e.flags|=64,L&&(e.flags|=8192),L=c.callbacks,L===null?c.callbacks=[$]:L.push($))}else L={lane:$,tag:y.tag,payload:y.payload,callback:y.callback,next:null},H===null?(R=H=L,w=Q):H=H.next=L,h|=$;if(y=y.next,y===null){if(y=c.shared.pending,y===null)break;L=y,y=L.next,L.next=null,c.lastBaseUpdate=L,c.shared.pending=null}}while(!0);H===null&&(w=Q),c.baseState=w,c.firstBaseUpdate=R,c.lastBaseUpdate=H,d===null&&(c.shared.lanes=0),Ba|=h,e.lanes=h,e.memoizedState=Q}}function rm(e,t){if(typeof e!="function")throw Error(r(191,e));e.call(t)}function cm(e,t){var a=e.callbacks;if(a!==null)for(e.callbacks=null,e=0;ed?d:8;var h=N.T,y={};N.T=y,to(e,!1,t,a);try{var w=c(),R=N.S;if(R!==null&&R(y,w),w!==null&&typeof w=="object"&&typeof w.then=="function"){var H=Iy(w,i);hs(e,t,H,tn(e))}else hs(e,t,i,tn(e))}catch(Q){hs(e,t,{then:function(){},status:"rejected",reason:Q},tn())}finally{X.p=d,h!==null&&y.types!==null&&(h.types=y.types),N.T=h}}function tv(){}function Pu(e,t,a,i){if(e.tag!==5)throw Error(r(476));var c=Bm(e).queue;Um(e,c,t,ie,a===null?tv:function(){return Hm(e),a(i)})}function Bm(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:ie,baseState:ie,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:na,lastRenderedState:ie},next:null};var a={};return t.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:na,lastRenderedState:a},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Hm(e){var t=Bm(e);t.next===null&&(t=e.alternate.memoizedState),hs(e,t.next.queue,{},tn())}function eo(){return wt(Ds)}function Gm(){return ct().memoizedState}function Ym(){return ct().memoizedState}function nv(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var a=tn();e=za(a);var i=$a(t,e,a);i!==null&&(Xt(i,t,a),us(i,t,a)),t={cache:Tu()},e.payload=t;return}t=t.return}}function av(e,t,a){var i=tn();a={lane:i,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},qr(e)?Km(t,a):(a=yu(e,t,a,i),a!==null&&(Xt(a,e,i),Xm(a,t,i)))}function Qm(e,t,a){var i=tn();hs(e,t,a,i)}function hs(e,t,a,i){var c={lane:i,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null};if(qr(e))Km(t,c);else{var d=e.alternate;if(e.lanes===0&&(d===null||d.lanes===0)&&(d=t.lastRenderedReducer,d!==null))try{var h=t.lastRenderedState,y=d(h,a);if(c.hasEagerState=!0,c.eagerState=y,It(y,h))return _r(e,t,c,0),Fe===null&&gr(),!1}catch{}finally{}if(a=yu(e,t,c,i),a!==null)return Xt(a,e,i),Xm(a,t,i),!0}return!1}function to(e,t,a,i){if(i={lane:2,revertLane:zo(),gesture:null,action:i,hasEagerState:!1,eagerState:null,next:null},qr(e)){if(t)throw Error(r(479))}else t=yu(e,a,i,2),t!==null&&Xt(t,e,2)}function qr(e){var t=e.alternate;return e===_e||t!==null&&t===_e}function Km(e,t){li=Nr=!0;var a=e.pending;a===null?t.next=t:(t.next=a.next,a.next=t),e.pending=t}function Xm(e,t,a){if((a&4194048)!==0){var i=t.lanes;i&=e.pendingLanes,a|=i,t.lanes=a,pe(e,a)}}var ps={readContext:wt,use:Mr,useCallback:lt,useContext:lt,useEffect:lt,useImperativeHandle:lt,useLayoutEffect:lt,useInsertionEffect:lt,useMemo:lt,useReducer:lt,useRef:lt,useState:lt,useDebugValue:lt,useDeferredValue:lt,useTransition:lt,useSyncExternalStore:lt,useId:lt,useHostTransitionStatus:lt,useFormState:lt,useActionState:lt,useOptimistic:lt,useMemoCache:lt,useCacheRefresh:lt};ps.useEffectEvent=lt;var Vm={readContext:wt,use:Mr,useCallback:function(e,t){return zt().memoizedState=[e,t===void 0?null:t],e},useContext:wt,useEffect:Nm,useImperativeHandle:function(e,t,a){a=a!=null?a.concat([e]):null,$r(4194308,4,zm.bind(null,t,e),a)},useLayoutEffect:function(e,t){return $r(4194308,4,e,t)},useInsertionEffect:function(e,t){$r(4,2,e,t)},useMemo:function(e,t){var a=zt();t=t===void 0?null:t;var i=e();if(Sl){Dn(!0);try{e()}finally{Dn(!1)}}return a.memoizedState=[i,t],i},useReducer:function(e,t,a){var i=zt();if(a!==void 0){var c=a(t);if(Sl){Dn(!0);try{a(t)}finally{Dn(!1)}}}else c=t;return i.memoizedState=i.baseState=c,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:c},i.queue=e,e=e.dispatch=av.bind(null,_e,e),[i.memoizedState,e]},useRef:function(e){var t=zt();return e={current:e},t.memoizedState=e},useState:function(e){e=Zu(e);var t=e.queue,a=Qm.bind(null,_e,t);return t.dispatch=a,[e.memoizedState,a]},useDebugValue:Fu,useDeferredValue:function(e,t){var a=zt();return Wu(a,e,t)},useTransition:function(){var e=Zu(!1);return e=Um.bind(null,_e,e.queue,!0,!1),zt().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,a){var i=_e,c=zt();if(Re){if(a===void 0)throw Error(r(407));a=a()}else{if(a=t(),Fe===null)throw Error(r(349));(Ce&127)!==0||hm(i,t,a)}c.memoizedState=a;var d={value:a,getSnapshot:t};return c.queue=d,Nm(gm.bind(null,i,d,e),[e]),i.flags|=2048,si(9,{destroy:void 0},pm.bind(null,i,d,a,t),null),a},useId:function(){var e=zt(),t=Fe.identifierPrefix;if(Re){var a=Bn,i=Un;a=(i&~(1<<32-Ct(i)-1)).toString(32)+a,t="_"+t+"R_"+a,a=Dr++,0<\/script>",d=d.removeChild(d.firstChild);break;case"select":d=typeof i.is=="string"?h.createElement("select",{is:i.is}):h.createElement("select"),i.multiple?d.multiple=!0:i.size&&(d.size=i.size);break;default:d=typeof i.is=="string"?h.createElement(c,{is:i.is}):h.createElement(c)}}d[gt]=t,d[Je]=i;e:for(h=t.child;h!==null;){if(h.tag===5||h.tag===6)d.appendChild(h.stateNode);else if(h.tag!==4&&h.tag!==27&&h.child!==null){h.child.return=h,h=h.child;continue}if(h===t)break e;for(;h.sibling===null;){if(h.return===null||h.return===t)break e;h=h.return}h.sibling.return=h.return,h=h.sibling}t.stateNode=d;e:switch(Et(d,c,i),c){case"button":case"input":case"select":case"textarea":i=!!i.autoFocus;break e;case"img":i=!0;break e;default:i=!1}i&&la(t)}}return et(t),go(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,a),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==i&&la(t);else{if(typeof i!="string"&&t.stateNode===null)throw Error(r(166));if(e=ye.current,Fl(t)){if(e=t.stateNode,a=t.memoizedProps,i=null,c=jt,c!==null)switch(c.tag){case 27:case 5:i=c.memoizedProps}e[gt]=t,e=!!(e.nodeValue===a||i!==null&&i.suppressHydrationWarning===!0||fp(e.nodeValue,a)),e||Da(t,!0)}else e=ac(e).createTextNode(i),e[gt]=t,t.stateNode=e}return et(t),null;case 31:if(a=t.memoizedState,e===null||e.memoizedState!==null){if(i=Fl(t),a!==null){if(e===null){if(!i)throw Error(r(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(r(557));e[gt]=t}else hl(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;et(t),e=!1}else a=ku(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),e=!0;if(!e)return t.flags&256?(Wt(t),t):(Wt(t),null);if((t.flags&128)!==0)throw Error(r(558))}return et(t),null;case 13:if(i=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(c=Fl(t),i!==null&&i.dehydrated!==null){if(e===null){if(!c)throw Error(r(318));if(c=t.memoizedState,c=c!==null?c.dehydrated:null,!c)throw Error(r(317));c[gt]=t}else hl(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;et(t),c=!1}else c=ku(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=c),c=!0;if(!c)return t.flags&256?(Wt(t),t):(Wt(t),null)}return Wt(t),(t.flags&128)!==0?(t.lanes=a,t):(a=i!==null,e=e!==null&&e.memoizedState!==null,a&&(i=t.child,c=null,i.alternate!==null&&i.alternate.memoizedState!==null&&i.alternate.memoizedState.cachePool!==null&&(c=i.alternate.memoizedState.cachePool.pool),d=null,i.memoizedState!==null&&i.memoizedState.cachePool!==null&&(d=i.memoizedState.cachePool.pool),d!==c&&(i.flags|=2048)),a!==e&&a&&(t.child.flags|=8192),Gr(t,t.updateQueue),et(t),null);case 4:return $e(),e===null&&Lo(t.stateNode.containerInfo),et(t),null;case 10:return ea(t.type),et(t),null;case 19:if(G(rt),i=t.memoizedState,i===null)return et(t),null;if(c=(t.flags&128)!==0,d=i.rendering,d===null)if(c)_s(i,!1);else{if(it!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(d=Tr(e),d!==null){for(t.flags|=128,_s(i,!1),e=d.updateQueue,t.updateQueue=e,Gr(t,e),t.subtreeFlags=0,e=a,a=t.child;a!==null;)Qf(a,e),a=a.sibling;return F(rt,rt.current&1|2),Re&&Wn(t,i.treeForkCount),t.child}e=e.sibling}i.tail!==null&&pt()>Vr&&(t.flags|=128,c=!0,_s(i,!1),t.lanes=4194304)}else{if(!c)if(e=Tr(d),e!==null){if(t.flags|=128,c=!0,e=e.updateQueue,t.updateQueue=e,Gr(t,e),_s(i,!0),i.tail===null&&i.tailMode==="hidden"&&!d.alternate&&!Re)return et(t),null}else 2*pt()-i.renderingStartTime>Vr&&a!==536870912&&(t.flags|=128,c=!0,_s(i,!1),t.lanes=4194304);i.isBackwards?(d.sibling=t.child,t.child=d):(e=i.last,e!==null?e.sibling=d:t.child=d,i.last=d)}return i.tail!==null?(e=i.tail,i.rendering=e,i.tail=e.sibling,i.renderingStartTime=pt(),e.sibling=null,a=rt.current,F(rt,c?a&1|2:a&1),Re&&Wn(t,i.treeForkCount),e):(et(t),null);case 22:case 23:return Wt(t),Lu(),i=t.memoizedState!==null,e!==null?e.memoizedState!==null!==i&&(t.flags|=8192):i&&(t.flags|=8192),i?(a&536870912)!==0&&(t.flags&128)===0&&(et(t),t.subtreeFlags&6&&(t.flags|=8192)):et(t),a=t.updateQueue,a!==null&&Gr(t,a.retryQueue),a=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),i=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(i=t.memoizedState.cachePool.pool),i!==a&&(t.flags|=2048),e!==null&&G(_l),null;case 24:return a=null,e!==null&&(a=e.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),ea(dt),et(t),null;case 25:return null;case 30:return null}throw Error(r(156,t.tag))}function cv(e,t){switch(ju(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ea(dt),$e(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return xe(t),null;case 31:if(t.memoizedState!==null){if(Wt(t),t.alternate===null)throw Error(r(340));hl()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Wt(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(r(340));hl()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return G(rt),null;case 4:return $e(),null;case 10:return ea(t.type),null;case 22:case 23:return Wt(t),Lu(),e!==null&&G(_l),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return ea(dt),null;case 25:return null;default:return null}}function _h(e,t){switch(ju(t),t.tag){case 3:ea(dt),$e();break;case 26:case 27:case 5:xe(t);break;case 4:$e();break;case 31:t.memoizedState!==null&&Wt(t);break;case 13:Wt(t);break;case 19:G(rt);break;case 10:ea(t.type);break;case 22:case 23:Wt(t),Lu(),e!==null&&G(_l);break;case 24:ea(dt)}}function ys(e,t){try{var a=t.updateQueue,i=a!==null?a.lastEffect:null;if(i!==null){var c=i.next;a=c;do{if((a.tag&e)===e){i=void 0;var d=a.create,h=a.inst;i=d(),h.destroy=i}a=a.next}while(a!==c)}}catch(y){Ke(t,t.return,y)}}function La(e,t,a){try{var i=t.updateQueue,c=i!==null?i.lastEffect:null;if(c!==null){var d=c.next;i=d;do{if((i.tag&e)===e){var h=i.inst,y=h.destroy;if(y!==void 0){h.destroy=void 0,c=t;var w=a,R=y;try{R()}catch(H){Ke(c,w,H)}}}i=i.next}while(i!==d)}}catch(H){Ke(t,t.return,H)}}function yh(e){var t=e.updateQueue;if(t!==null){var a=e.stateNode;try{cm(t,a)}catch(i){Ke(e,e.return,i)}}}function vh(e,t,a){a.props=xl(e.type,e.memoizedProps),a.state=e.memoizedState;try{a.componentWillUnmount()}catch(i){Ke(e,t,i)}}function vs(e,t){try{var a=e.ref;if(a!==null){switch(e.tag){case 26:case 27:case 5:var i=e.stateNode;break;case 30:i=e.stateNode;break;default:i=e.stateNode}typeof a=="function"?e.refCleanup=a(i):a.current=i}}catch(c){Ke(e,t,c)}}function Hn(e,t){var a=e.ref,i=e.refCleanup;if(a!==null)if(typeof i=="function")try{i()}catch(c){Ke(e,t,c)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof a=="function")try{a(null)}catch(c){Ke(e,t,c)}else a.current=null}function bh(e){var t=e.type,a=e.memoizedProps,i=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":a.autoFocus&&i.focus();break e;case"img":a.src?i.src=a.src:a.srcSet&&(i.srcset=a.srcSet)}}catch(c){Ke(e,e.return,c)}}function _o(e,t,a){try{var i=e.stateNode;Nv(i,e.type,a,t),i[Je]=t}catch(c){Ke(e,e.return,c)}}function Sh(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Ka(e.type)||e.tag===4}function yo(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Sh(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Ka(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function vo(e,t,a){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?(a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a).insertBefore(e,t):(t=a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a,t.appendChild(e),a=a._reactRootContainer,a!=null||t.onclick!==null||(t.onclick=xn));else if(i!==4&&(i===27&&Ka(e.type)&&(a=e.stateNode,t=null),e=e.child,e!==null))for(vo(e,t,a),e=e.sibling;e!==null;)vo(e,t,a),e=e.sibling}function Yr(e,t,a){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?a.insertBefore(e,t):a.appendChild(e);else if(i!==4&&(i===27&&Ka(e.type)&&(a=e.stateNode),e=e.child,e!==null))for(Yr(e,t,a),e=e.sibling;e!==null;)Yr(e,t,a),e=e.sibling}function xh(e){var t=e.stateNode,a=e.memoizedProps;try{for(var i=e.type,c=t.attributes;c.length;)t.removeAttributeNode(c[0]);Et(t,i,a),t[gt]=e,t[Je]=a}catch(d){Ke(e,e.return,d)}}var ia=!1,ht=!1,bo=!1,jh=typeof WeakSet=="function"?WeakSet:Set,vt=null;function uv(e,t){if(e=e.containerInfo,Ho=oc,e=$f(e),fu(e)){if("selectionStart"in e)var a={start:e.selectionStart,end:e.selectionEnd};else e:{a=(a=e.ownerDocument)&&a.defaultView||window;var i=a.getSelection&&a.getSelection();if(i&&i.rangeCount!==0){a=i.anchorNode;var c=i.anchorOffset,d=i.focusNode;i=i.focusOffset;try{a.nodeType,d.nodeType}catch{a=null;break e}var h=0,y=-1,w=-1,R=0,H=0,Q=e,$=null;t:for(;;){for(var L;Q!==a||c!==0&&Q.nodeType!==3||(y=h+c),Q!==d||i!==0&&Q.nodeType!==3||(w=h+i),Q.nodeType===3&&(h+=Q.nodeValue.length),(L=Q.firstChild)!==null;)$=Q,Q=L;for(;;){if(Q===e)break t;if($===a&&++R===c&&(y=h),$===d&&++H===i&&(w=h),(L=Q.nextSibling)!==null)break;Q=$,$=Q.parentNode}Q=L}a=y===-1||w===-1?null:{start:y,end:w}}else a=null}a=a||{start:0,end:0}}else a=null;for(Go={focusedElem:e,selectionRange:a},oc=!1,vt=t;vt!==null;)if(t=vt,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,vt=e;else for(;vt!==null;){switch(t=vt,d=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(a=0;a title"))),Et(d,i,a),d[gt]=e,st(d),i=d;break e;case"link":var h=Tp("link","href",c).get(i+(a.href||""));if(h){for(var y=0;yZe&&(h=Ze,Ze=me,me=h);var T=Mf(y,me),C=Mf(y,Ze);if(T&&C&&(L.rangeCount!==1||L.anchorNode!==T.node||L.anchorOffset!==T.offset||L.focusNode!==C.node||L.focusOffset!==C.offset)){var D=Q.createRange();D.setStart(T.node,T.offset),L.removeAllRanges(),me>Ze?(L.addRange(D),L.extend(C.node,C.offset)):(D.setEnd(C.node,C.offset),L.addRange(D))}}}}for(Q=[],L=y;L=L.parentNode;)L.nodeType===1&&Q.push({element:L,left:L.scrollLeft,top:L.scrollTop});for(typeof y.focus=="function"&&y.focus(),y=0;ya?32:a,N.T=null,a=Ao,Ao=null;var d=Ga,h=oa;if(_t=0,di=Ga=null,oa=0,(He&6)!==0)throw Error(r(331));var y=He;if(He|=4,zh(d.current),Dh(d,d.current,h,a),He=y,ks(0,!1),Ie&&typeof Ie.onPostCommitFiberRoot=="function")try{Ie.onPostCommitFiberRoot(Vn,d)}catch{}return!0}finally{X.p=c,N.T=i,Wh(e,t)}}function ep(e,t,a){t=on(a,t),t=io(e.stateNode,t,2),e=$a(e,t,2),e!==null&&(Lt(e,2),Gn(e))}function Ke(e,t,a){if(e.tag===3)ep(e,e,a);else for(;t!==null;){if(t.tag===3){ep(t,e,a);break}else if(t.tag===1){var i=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof i.componentDidCatch=="function"&&(Ha===null||!Ha.has(i))){e=on(a,e),a=th(2),i=$a(t,a,2),i!==null&&(nh(a,i,t,e),Lt(i,2),Gn(i));break}}t=t.return}}function Do(e,t,a){var i=e.pingCache;if(i===null){i=e.pingCache=new fv;var c=new Set;i.set(t,c)}else c=i.get(t),c===void 0&&(c=new Set,i.set(t,c));c.has(a)||(jo=!0,c.add(a),e=_v.bind(null,e,t,a),t.then(e,e))}function _v(e,t,a){var i=e.pingCache;i!==null&&i.delete(t),e.pingedLanes|=e.suspendedLanes&a,e.warmLanes&=~a,Fe===e&&(Ce&a)===a&&(it===4||it===3&&(Ce&62914560)===Ce&&300>pt()-Xr?(He&2)===0&&fi(e,0):wo|=a,oi===Ce&&(oi=0)),Gn(e)}function tp(e,t){t===0&&(t=Ll()),e=fl(e,t),e!==null&&(Lt(e,t),Gn(e))}function yv(e){var t=e.memoizedState,a=0;t!==null&&(a=t.retryLane),tp(e,a)}function vv(e,t){var a=0;switch(e.tag){case 31:case 13:var i=e.stateNode,c=e.memoizedState;c!==null&&(a=c.retryLane);break;case 19:i=e.stateNode;break;case 22:i=e.stateNode._retryCache;break;default:throw Error(r(314))}i!==null&&i.delete(t),tp(e,a)}function bv(e,t){return zi(e,t)}var Pr=null,hi=null,Ro=!1,ec=!1,Mo=!1,Qa=0;function Gn(e){e!==hi&&e.next===null&&(hi===null?Pr=hi=e:hi=hi.next=e),ec=!0,Ro||(Ro=!0,xv())}function ks(e,t){if(!Mo&&ec){Mo=!0;do for(var a=!1,i=Pr;i!==null;){if(e!==0){var c=i.pendingLanes;if(c===0)var d=0;else{var h=i.suspendedLanes,y=i.pingedLanes;d=(1<<31-Ct(42|e)+1)-1,d&=c&~(h&~y),d=d&201326741?d&201326741|1:d?d|2:0}d!==0&&(a=!0,ip(i,d))}else d=Ce,d=qt(i,i===Fe?d:0,i.cancelPendingCommit!==null||i.timeoutHandle!==-1),(d&3)===0||Be(i,d)||(a=!0,ip(i,d));i=i.next}while(a);Mo=!1}}function Sv(){np()}function np(){ec=Ro=!1;var e=0;Qa!==0&&Rv()&&(e=Qa);for(var t=pt(),a=null,i=Pr;i!==null;){var c=i.next,d=ap(i,t);d===0?(i.next=null,a===null?Pr=c:a.next=c,c===null&&(hi=a)):(a=i,(e!==0||(d&3)!==0)&&(ec=!0)),i=c}_t!==0&&_t!==5||ks(e),Qa!==0&&(Qa=0)}function ap(e,t){for(var a=e.suspendedLanes,i=e.pingedLanes,c=e.expirationTimes,d=e.pendingLanes&-62914561;0y)break;var H=w.transferSize,Q=w.initiatorType;H&&mp(Q)&&(w=w.responseEnd,h+=H*(w"u"?null:document;function kp(e,t,a){var i=pi;if(i&&typeof t=="string"&&t){var c=Bt(t);c='link[rel="'+e+'"][href="'+c+'"]',typeof a=="string"&&(c+='[crossorigin="'+a+'"]'),wp.has(c)||(wp.add(c),e={rel:e,crossOrigin:a,href:t},i.querySelector(c)===null&&(t=i.createElement("link"),Et(t,"link",e),st(t),i.head.appendChild(t)))}}function Hv(e){da.D(e),kp("dns-prefetch",e,null)}function Gv(e,t){da.C(e,t),kp("preconnect",e,t)}function Yv(e,t,a){da.L(e,t,a);var i=pi;if(i&&e&&t){var c='link[rel="preload"][as="'+Bt(t)+'"]';t==="image"&&a&&a.imageSrcSet?(c+='[imagesrcset="'+Bt(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(c+='[imagesizes="'+Bt(a.imageSizes)+'"]')):c+='[href="'+Bt(e)+'"]';var d=c;switch(t){case"style":d=gi(e);break;case"script":d=_i(e)}gn.has(d)||(e=j({rel:"preload",href:t==="image"&&a&&a.imageSrcSet?void 0:e,as:t},a),gn.set(d,e),i.querySelector(c)!==null||t==="style"&&i.querySelector(Ts(d))||t==="script"&&i.querySelector(Ns(d))||(t=i.createElement("link"),Et(t,"link",e),st(t),i.head.appendChild(t)))}}function Qv(e,t){da.m(e,t);var a=pi;if(a&&e){var i=t&&typeof t.as=="string"?t.as:"script",c='link[rel="modulepreload"][as="'+Bt(i)+'"][href="'+Bt(e)+'"]',d=c;switch(i){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":d=_i(e)}if(!gn.has(d)&&(e=j({rel:"modulepreload",href:e},t),gn.set(d,e),a.querySelector(c)===null)){switch(i){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(Ns(d)))return}i=a.createElement("link"),Et(i,"link",e),st(i),a.head.appendChild(i)}}}function Kv(e,t,a){da.S(e,t,a);var i=pi;if(i&&e){var c=$n(i).hoistableStyles,d=gi(e);t=t||"default";var h=c.get(d);if(!h){var y={loading:0,preload:null};if(h=i.querySelector(Ts(d)))y.loading=5;else{e=j({rel:"stylesheet",href:e,"data-precedence":t},a),(a=gn.get(d))&&Io(e,a);var w=h=i.createElement("link");st(w),Et(w,"link",e),w._p=new Promise(function(R,H){w.onload=R,w.onerror=H}),w.addEventListener("load",function(){y.loading|=1}),w.addEventListener("error",function(){y.loading|=2}),y.loading|=4,ic(h,t,i)}h={type:"stylesheet",instance:h,count:1,state:y},c.set(d,h)}}}function Xv(e,t){da.X(e,t);var a=pi;if(a&&e){var i=$n(a).hoistableScripts,c=_i(e),d=i.get(c);d||(d=a.querySelector(Ns(c)),d||(e=j({src:e,async:!0},t),(t=gn.get(c))&&Jo(e,t),d=a.createElement("script"),st(d),Et(d,"link",e),a.head.appendChild(d)),d={type:"script",instance:d,count:1,state:null},i.set(c,d))}}function Vv(e,t){da.M(e,t);var a=pi;if(a&&e){var i=$n(a).hoistableScripts,c=_i(e),d=i.get(c);d||(d=a.querySelector(Ns(c)),d||(e=j({src:e,async:!0,type:"module"},t),(t=gn.get(c))&&Jo(e,t),d=a.createElement("script"),st(d),Et(d,"link",e),a.head.appendChild(d)),d={type:"script",instance:d,count:1,state:null},i.set(c,d))}}function Ep(e,t,a,i){var c=(c=ye.current)?lc(c):null;if(!c)throw Error(r(446));switch(e){case"meta":case"title":return null;case"style":return typeof a.precedence=="string"&&typeof a.href=="string"?(t=gi(a.href),a=$n(c).hoistableStyles,i=a.get(t),i||(i={type:"style",instance:null,count:0,state:null},a.set(t,i)),i):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){e=gi(a.href);var d=$n(c).hoistableStyles,h=d.get(e);if(h||(c=c.ownerDocument||c,h={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},d.set(e,h),(d=c.querySelector(Ts(e)))&&!d._p&&(h.instance=d,h.state.loading=5),gn.has(e)||(a={rel:"preload",as:"style",href:a.href,crossOrigin:a.crossOrigin,integrity:a.integrity,media:a.media,hrefLang:a.hrefLang,referrerPolicy:a.referrerPolicy},gn.set(e,a),d||Zv(c,e,a,h.state))),t&&i===null)throw Error(r(528,""));return h}if(t&&i!==null)throw Error(r(529,""));return null;case"script":return t=a.async,a=a.src,typeof a=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=_i(a),a=$n(c).hoistableScripts,i=a.get(t),i||(i={type:"script",instance:null,count:0,state:null},a.set(t,i)),i):{type:"void",instance:null,count:0,state:null};default:throw Error(r(444,e))}}function gi(e){return'href="'+Bt(e)+'"'}function Ts(e){return'link[rel="stylesheet"]['+e+"]"}function Ap(e){return j({},e,{"data-precedence":e.precedence,precedence:null})}function Zv(e,t,a,i){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?i.loading=1:(t=e.createElement("link"),i.preload=t,t.addEventListener("load",function(){return i.loading|=1}),t.addEventListener("error",function(){return i.loading|=2}),Et(t,"link",a),st(t),e.head.appendChild(t))}function _i(e){return'[src="'+Bt(e)+'"]'}function Ns(e){return"script[async]"+e}function Cp(e,t,a){if(t.count++,t.instance===null)switch(t.type){case"style":var i=e.querySelector('style[data-href~="'+Bt(a.href)+'"]');if(i)return t.instance=i,st(i),i;var c=j({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return i=(e.ownerDocument||e).createElement("style"),st(i),Et(i,"style",c),ic(i,a.precedence,e),t.instance=i;case"stylesheet":c=gi(a.href);var d=e.querySelector(Ts(c));if(d)return t.state.loading|=4,t.instance=d,st(d),d;i=Ap(a),(c=gn.get(c))&&Io(i,c),d=(e.ownerDocument||e).createElement("link"),st(d);var h=d;return h._p=new Promise(function(y,w){h.onload=y,h.onerror=w}),Et(d,"link",i),t.state.loading|=4,ic(d,a.precedence,e),t.instance=d;case"script":return d=_i(a.src),(c=e.querySelector(Ns(d)))?(t.instance=c,st(c),c):(i=a,(c=gn.get(d))&&(i=j({},a),Jo(i,c)),e=e.ownerDocument||e,c=e.createElement("script"),st(c),Et(c,"link",i),e.head.appendChild(c),t.instance=c);case"void":return null;default:throw Error(r(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(i=t.instance,t.state.loading|=4,ic(i,a.precedence,e));return t.instance}function ic(e,t,a){for(var i=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),c=i.length?i[i.length-1]:null,d=c,h=0;h title"):null)}function Iv(e,t,a){if(a===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;switch(t.rel){case"stylesheet":return e=t.disabled,typeof t.precedence=="string"&&e==null;default:return!0}case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function Dp(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function Jv(e,t,a,i){if(a.type==="stylesheet"&&(typeof i.media!="string"||matchMedia(i.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var c=gi(i.href),d=t.querySelector(Ts(c));if(d){t=d._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=rc.bind(e),t.then(e,e)),a.state.loading|=4,a.instance=d,st(d);return}d=t.ownerDocument||t,i=Ap(i),(c=gn.get(c))&&Io(i,c),d=d.createElement("link"),st(d);var h=d;h._p=new Promise(function(y,w){h.onload=y,h.onerror=w}),Et(d,"link",i),a.instance=d}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(a,t),(t=a.state.preload)&&(a.state.loading&3)===0&&(e.count++,a=rc.bind(e),t.addEventListener("load",a),t.addEventListener("error",a))}}var Fo=0;function Fv(e,t){return e.stylesheets&&e.count===0&&uc(e,e.stylesheets),0Fo?50:800)+t);return e.unsuspend=a,function(){e.unsuspend=null,clearTimeout(i),clearTimeout(c)}}:null}function rc(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)uc(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var cc=null;function uc(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,cc=new Map,t.forEach(Wv,e),cc=null,rc.call(e))}function Wv(e,t){if(!(t.state.loading&4)){var a=cc.get(e);if(a)var i=a.get(null);else{a=new Map,cc.set(e,a);for(var c=e.querySelectorAll("link[data-precedence],style[data-precedence]"),d=0;d"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(l){console.error(l)}}return n(),sd.exports=gb(),sd.exports}var yb=_b();/** - * react-router v7.17.0 - * - * Copyright (c) Remix Software Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE.md file in the root directory of this source tree. - * - * @license MIT - */var tg="popstate";function ng(n){return typeof n=="object"&&n!=null&&"pathname"in n&&"search"in n&&"hash"in n&&"state"in n&&"key"in n}function vb(n={}){function l(o,f){let{pathname:m="/",search:_="",hash:p=""}=Dl(o.location.hash.substring(1));return!m.startsWith("/")&&!m.startsWith(".")&&(m="/"+m),kd("",{pathname:m,search:_,hash:p},f.state&&f.state.usr||null,f.state&&f.state.key||"default")}function s(o,f){let m=o.document.querySelector("base"),_="";if(m&&m.getAttribute("href")){let p=o.location.href,g=p.indexOf("#");_=g===-1?p:p.slice(0,g)}return _+"#"+(typeof f=="string"?f:Xs(f))}function r(o,f){_n(o.pathname.charAt(0)==="/",`relative pathnames are not supported in hash history.push(${JSON.stringify(f)})`)}return Sb(l,s,r,n)}function nt(n,l){if(n===!1||n===null||typeof n>"u")throw new Error(l)}function _n(n,l){if(!n){typeof console<"u"&&console.warn(l);try{throw new Error(l)}catch{}}}function bb(){return Math.random().toString(36).substring(2,10)}function ag(n,l){return{usr:n.state,key:n.key,idx:l,masked:n.mask?{pathname:n.pathname,search:n.search,hash:n.hash}:void 0}}function kd(n,l,s=null,r,o){return{pathname:typeof n=="string"?n:n.pathname,search:"",hash:"",...typeof l=="string"?Dl(l):l,state:s,key:l&&l.key||r||bb(),mask:o}}function Xs({pathname:n="/",search:l="",hash:s=""}){return l&&l!=="?"&&(n+=l.charAt(0)==="?"?l:"?"+l),s&&s!=="#"&&(n+=s.charAt(0)==="#"?s:"#"+s),n}function Dl(n){let l={};if(n){let s=n.indexOf("#");s>=0&&(l.hash=n.substring(s),n=n.substring(0,s));let r=n.indexOf("?");r>=0&&(l.search=n.substring(r),n=n.substring(0,r)),n&&(l.pathname=n)}return l}function Sb(n,l,s,r={}){let{window:o=document.defaultView,v5Compat:f=!1}=r,m=o.history,_="POP",p=null,g=b();g==null&&(g=0,m.replaceState({...m.state,idx:g},""));function b(){return(m.state||{idx:null}).idx}function j(){_="POP";let M=b(),U=M==null?null:M-g;g=M,p&&p({action:_,location:O.location,delta:U})}function k(M,U){_="PUSH";let J=ng(M)?M:kd(O.location,M,U);s&&s(J,M),g=b()+1;let z=ag(J,g),K=O.createHref(J.mask||J);try{m.pushState(z,"",K)}catch(ee){if(ee instanceof DOMException&&ee.name==="DataCloneError")throw ee;o.location.assign(K)}f&&p&&p({action:_,location:O.location,delta:1})}function q(M,U){_="REPLACE";let J=ng(M)?M:kd(O.location,M,U);s&&s(J,M),g=b();let z=ag(J,g),K=O.createHref(J.mask||J);m.replaceState(z,"",K),f&&p&&p({action:_,location:O.location,delta:0})}function A(M){return xb(o,M)}let O={get action(){return _},get location(){return n(o,m)},listen(M){if(p)throw new Error("A history only accepts one active listener");return o.addEventListener(tg,j),p=M,()=>{o.removeEventListener(tg,j),p=null}},createHref(M){return l(o,M)},createURL:A,encodeLocation(M){let U=A(M);return{pathname:U.pathname,search:U.search,hash:U.hash}},push:k,replace:q,go(M){return m.go(M)}};return O}function xb(n,l,s=!1){let r="http://localhost";n&&(r=n.location.origin!=="null"?n.location.origin:n.location.href),nt(r,"No window.location.(origin|href) available to create URL");let o=typeof l=="string"?l:Xs(l);return o=o.replace(/ $/,"%20"),!s&&o.startsWith("//")&&(o=r+o),new URL(o,r)}function Ig(n,l,s="/"){return jb(n,l,s,!1)}function jb(n,l,s,r,o){let f=typeof l=="string"?Dl(l):l,m=ha(f.pathname||"/",s);if(m==null)return null;let _=wb(n),p=null,g=Ob(m);for(let b=0;p==null&&b<_.length;++b)p=zb(_[b],g,r);return p}function wb(n){let l=Jg(n);return kb(l),l}function Jg(n,l=[],s=[],r="",o=!1){let f=(m,_,p=o,g)=>{let b={relativePath:g===void 0?m.path||"":g,caseSensitive:m.caseSensitive===!0,childrenIndex:_,route:m};if(b.relativePath.startsWith("/")){if(!b.relativePath.startsWith(r)&&p)return;nt(b.relativePath.startsWith(r),`Absolute route path "${b.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),b.relativePath=b.relativePath.slice(r.length)}let j=Cn([r,b.relativePath]),k=s.concat(b);m.children&&m.children.length>0&&(nt(m.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${j}".`),Jg(m.children,l,k,j,p)),!(m.path==null&&!m.index)&&l.push({path:j,score:Rb(j,m.index),routesMeta:k})};return n.forEach((m,_)=>{var p;if(m.path===""||!((p=m.path)!=null&&p.includes("?")))f(m,_);else for(let g of Fg(m.path))f(m,_,!0,g)}),l}function Fg(n){let l=n.split("/");if(l.length===0)return[];let[s,...r]=l,o=s.endsWith("?"),f=s.replace(/\?$/,"");if(r.length===0)return o?[f,""]:[f];let m=Fg(r.join("/")),_=[];return _.push(...m.map(p=>p===""?f:[f,p].join("/"))),o&&_.push(...m),_.map(p=>n.startsWith("/")&&p===""?"/":p)}function kb(n){n.sort((l,s)=>l.score!==s.score?s.score-l.score:Mb(l.routesMeta.map(r=>r.childrenIndex),s.routesMeta.map(r=>r.childrenIndex)))}var Eb=/^:[\w-]+$/,Ab=3,Cb=2,Tb=1,Nb=10,Db=-2,lg=n=>n==="*";function Rb(n,l){let s=n.split("/"),r=s.length;return s.some(lg)&&(r+=Db),l&&(r+=Cb),s.filter(o=>!lg(o)).reduce((o,f)=>o+(Eb.test(f)?Ab:f===""?Tb:Nb),r)}function Mb(n,l){return n.length===l.length&&n.slice(0,-1).every((r,o)=>r===l[o])?n[n.length-1]-l[l.length-1]:0}function zb(n,l,s=!1){let{routesMeta:r}=n,o={},f="/",m=[];for(let _=0;_{if(b==="*"){let A=_[k]||"";m=f.slice(0,f.length-A.length).replace(/(.)\/+$/,"$1")}const q=_[k];return j&&!q?g[b]=void 0:g[b]=(q||"").replace(/%2F/g,"/"),g},{}),pathname:f,pathnameBase:m,pattern:n}}function $b(n,l=!1,s=!0){_n(n==="*"||!n.endsWith("*")||n.endsWith("/*"),`Route path "${n}" will be treated as if it were "${n.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${n.replace(/\*$/,"/*")}".`);let r=[],o="^"+n.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(m,_,p,g,b)=>{if(r.push({paramName:_,isOptional:p!=null}),p){let j=b.charAt(g+m.length);return j&&j!=="/"?"/([^\\/]*)":"(?:/([^\\/]*))?"}return"/([^\\/]+)"}).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return n.endsWith("*")?(r.push({paramName:"*"}),o+=n==="*"||n==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):s?o+="\\/*$":n!==""&&n!=="/"&&(o+="(?:(?=\\/|$))"),[new RegExp(o,l?void 0:"i"),r]}function Ob(n){try{return n.split("/").map(l=>decodeURIComponent(l).replace(/\//g,"%2F")).join("/")}catch(l){return _n(!1,`The URL path "${n}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${l}).`),n}}function ha(n,l){if(l==="/")return n;if(!n.toLowerCase().startsWith(l.toLowerCase()))return null;let s=l.endsWith("/")?l.length-1:l.length,r=n.charAt(s);return r&&r!=="/"?null:n.slice(s)||"/"}var qb=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i;function Lb(n,l="/"){let{pathname:s,search:r="",hash:o=""}=typeof n=="string"?Dl(n):n,f;return s?(s=Wg(s),s.startsWith("/")?f=ig(s.substring(1),"/"):f=ig(s,l)):f=l,{pathname:f,search:Hb(r),hash:Gb(o)}}function ig(n,l){let s=Rc(l).split("/");return n.split("/").forEach(o=>{o===".."?s.length>1&&s.pop():o!=="."&&s.push(o)}),s.length>1?s.join("/"):"/"}function od(n,l,s,r){return`Cannot include a '${n}' character in a manually specified \`to.${l}\` field [${JSON.stringify(r)}]. Please separate it out to the \`to.${s}\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`}function Ub(n){return n.filter((l,s)=>s===0||l.route.path&&l.route.path.length>0)}function Qd(n){let l=Ub(n);return l.map((s,r)=>r===l.length-1?s.pathname:s.pathnameBase)}function Hc(n,l,s,r=!1){let o;typeof n=="string"?o=Dl(n):(o={...n},nt(!o.pathname||!o.pathname.includes("?"),od("?","pathname","search",o)),nt(!o.pathname||!o.pathname.includes("#"),od("#","pathname","hash",o)),nt(!o.search||!o.search.includes("#"),od("#","search","hash",o)));let f=n===""||o.pathname==="",m=f?"/":o.pathname,_;if(m==null)_=s;else{let j=l.length-1;if(!r&&m.startsWith("..")){let k=m.split("/");for(;k[0]==="..";)k.shift(),j-=1;o.pathname=k.join("/")}_=j>=0?l[j]:"/"}let p=Lb(o,_),g=m&&m!=="/"&&m.endsWith("/"),b=(f||m===".")&&s.endsWith("/");return!p.pathname.endsWith("/")&&(g||b)&&(p.pathname+="/"),p}var Wg=n=>n.replace(/\/\/+/g,"/"),Cn=n=>Wg(n.join("/")),Rc=n=>n.replace(/\/+$/,""),Bb=n=>Rc(n).replace(/^\/*/,"/"),Hb=n=>!n||n==="?"?"":n.startsWith("?")?n:"?"+n,Gb=n=>!n||n==="#"?"":n.startsWith("#")?n:"#"+n,Yb=class{constructor(n,l,s,r=!1){this.status=n,this.statusText=l||"",this.internal=r,s instanceof Error?(this.data=s.toString(),this.error=s):this.data=s}};function Qb(n){return n!=null&&typeof n.status=="number"&&typeof n.statusText=="string"&&typeof n.internal=="boolean"&&"data"in n}function Kb(n){let l=n.map(s=>s.route.path).filter(Boolean);return Cn(l)||"/"}var Pg=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function e_(n,l){let s=n;if(typeof s!="string"||!qb.test(s))return{absoluteURL:void 0,isExternal:!1,to:s};let r=s,o=!1;if(Pg)try{let f=new URL(window.location.href),m=s.startsWith("//")?new URL(f.protocol+s):new URL(s),_=ha(m.pathname,l);m.origin===f.origin&&_!=null?s=_+m.search+m.hash:o=!0}catch{_n(!1,` contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:r,isExternal:o,to:s}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var t_=["POST","PUT","PATCH","DELETE"];new Set(t_);var Xb=["GET",...t_];new Set(Xb);var Ei=S.createContext(null);Ei.displayName="DataRouter";var Gc=S.createContext(null);Gc.displayName="DataRouterState";var n_=S.createContext(!1);function Vb(){return S.useContext(n_)}var a_=S.createContext({isTransitioning:!1});a_.displayName="ViewTransition";var Zb=S.createContext(new Map);Zb.displayName="Fetchers";var Ib=S.createContext(null);Ib.displayName="Await";var ln=S.createContext(null);ln.displayName="Navigation";var Js=S.createContext(null);Js.displayName="Location";var Qn=S.createContext({outlet:null,matches:[],isDataRoute:!1});Qn.displayName="Route";var Kd=S.createContext(null);Kd.displayName="RouteError";var l_="REACT_ROUTER_ERROR",Jb="REDIRECT",Fb="ROUTE_ERROR_RESPONSE";function Wb(n){if(n.startsWith(`${l_}:${Jb}:{`))try{let l=JSON.parse(n.slice(28));if(typeof l=="object"&&l&&typeof l.status=="number"&&typeof l.statusText=="string"&&typeof l.location=="string"&&typeof l.reloadDocument=="boolean"&&typeof l.replace=="boolean")return l}catch{}}function Pb(n){if(n.startsWith(`${l_}:${Fb}:{`))try{let l=JSON.parse(n.slice(40));if(typeof l=="object"&&l&&typeof l.status=="number"&&typeof l.statusText=="string")return new Yb(l.status,l.statusText,l.data)}catch{}}function e0(n,{relative:l}={}){nt(Ai(),"useHref() may be used only in the context of a component.");let{basename:s,navigator:r}=S.useContext(ln),{hash:o,pathname:f,search:m}=Fs(n,{relative:l}),_=f;return s!=="/"&&(_=f==="/"?s:Cn([s,f])),r.createHref({pathname:_,search:m,hash:o})}function Ai(){return S.useContext(Js)!=null}function Nn(){return nt(Ai(),"useLocation() may be used only in the context of a component."),S.useContext(Js).location}var i_="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function s_(n){S.useContext(ln).static||S.useLayoutEffect(n)}function Xd(){let{isDataRoute:n}=S.useContext(Qn);return n?m0():t0()}function t0(){nt(Ai(),"useNavigate() may be used only in the context of a component.");let n=S.useContext(Ei),{basename:l,navigator:s}=S.useContext(ln),{matches:r}=S.useContext(Qn),{pathname:o}=Nn(),f=JSON.stringify(Qd(r)),m=S.useRef(!1);return s_(()=>{m.current=!0}),S.useCallback((p,g={})=>{if(_n(m.current,i_),!m.current)return;if(typeof p=="number"){s.go(p);return}let b=Hc(p,JSON.parse(f),o,g.relative==="path");n==null&&l!=="/"&&(b.pathname=b.pathname==="/"?l:Cn([l,b.pathname])),(g.replace?s.replace:s.push)(b,g.state,g)},[l,s,f,o,n])}S.createContext(null);function Fs(n,{relative:l}={}){let{matches:s}=S.useContext(Qn),{pathname:r}=Nn(),o=JSON.stringify(Qd(s));return S.useMemo(()=>Hc(n,JSON.parse(o),r,l==="path"),[n,o,r,l])}function n0(n,l){return r_(n,l)}function r_(n,l,s){var M;nt(Ai(),"useRoutes() may be used only in the context of a component.");let{navigator:r}=S.useContext(ln),{matches:o}=S.useContext(Qn),f=o[o.length-1],m=f?f.params:{},_=f?f.pathname:"/",p=f?f.pathnameBase:"/",g=f&&f.route;{let U=g&&g.path||"";u_(_,!g||U.endsWith("*")||U.endsWith("*?"),`You rendered descendant (or called \`useRoutes()\`) at "${_}" (under ) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render. - -Please change the parent to .`)}let b=Nn(),j;if(l){let U=typeof l=="string"?Dl(l):l;nt(p==="/"||((M=U.pathname)==null?void 0:M.startsWith(p)),`When overriding the location using \`\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${p}" but pathname "${U.pathname}" was given in the \`location\` prop.`),j=U}else j=b;let k=j.pathname||"/",q=k;if(p!=="/"){let U=p.replace(/^\//,"").split("/");q="/"+k.replace(/^\//,"").split("/").slice(U.length).join("/")}let A=s&&s.state.matches.length?s.state.matches.map(U=>Object.assign(U,{route:s.manifest[U.route.id]||U.route})):Ig(n,{pathname:q});_n(g||A!=null,`No routes matched location "${j.pathname}${j.search}${j.hash}" `),_n(A==null||A[A.length-1].route.element!==void 0||A[A.length-1].route.Component!==void 0||A[A.length-1].route.lazy!==void 0,`Matched leaf route at location "${j.pathname}${j.search}${j.hash}" does not have an element or Component. This means it will render an with a null value by default resulting in an "empty" page.`);let O=r0(A&&A.map(U=>Object.assign({},U,{params:Object.assign({},m,U.params),pathname:Cn([p,r.encodeLocation?r.encodeLocation(U.pathname.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:U.pathname]),pathnameBase:U.pathnameBase==="/"?p:Cn([p,r.encodeLocation?r.encodeLocation(U.pathnameBase.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:U.pathnameBase])})),o,s);return l&&O?S.createElement(Js.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",mask:void 0,...j},navigationType:"POP"}},O):O}function a0(){let n=f0(),l=Qb(n)?`${n.status} ${n.statusText}`:n instanceof Error?n.message:JSON.stringify(n),s=n instanceof Error?n.stack:null,r="rgba(200,200,200, 0.5)",o={padding:"0.5rem",backgroundColor:r},f={padding:"2px 4px",backgroundColor:r},m=null;return console.error("Error handled by React Router default ErrorBoundary:",n),m=S.createElement(S.Fragment,null,S.createElement("p",null,"💿 Hey developer 👋"),S.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",S.createElement("code",{style:f},"ErrorBoundary")," or"," ",S.createElement("code",{style:f},"errorElement")," prop on your route.")),S.createElement(S.Fragment,null,S.createElement("h2",null,"Unexpected Application Error!"),S.createElement("h3",{style:{fontStyle:"italic"}},l),s?S.createElement("pre",{style:o},s):null,m)}var l0=S.createElement(a0,null),c_=class extends S.Component{constructor(n){super(n),this.state={location:n.location,revalidation:n.revalidation,error:n.error}}static getDerivedStateFromError(n){return{error:n}}static getDerivedStateFromProps(n,l){return l.location!==n.location||l.revalidation!=="idle"&&n.revalidation==="idle"?{error:n.error,location:n.location,revalidation:n.revalidation}:{error:n.error!==void 0?n.error:l.error,location:l.location,revalidation:n.revalidation||l.revalidation}}componentDidCatch(n,l){this.props.onError?this.props.onError(n,l):console.error("React Router caught the following error during render",n)}render(){let n=this.state.error;if(this.context&&typeof n=="object"&&n&&"digest"in n&&typeof n.digest=="string"){const s=Pb(n.digest);s&&(n=s)}let l=n!==void 0?S.createElement(Qn.Provider,{value:this.props.routeContext},S.createElement(Kd.Provider,{value:n,children:this.props.component})):this.props.children;return this.context?S.createElement(i0,{error:n},l):l}};c_.contextType=n_;var dd=new WeakMap;function i0({children:n,error:l}){let{basename:s}=S.useContext(ln);if(typeof l=="object"&&l&&"digest"in l&&typeof l.digest=="string"){let r=Wb(l.digest);if(r){let o=dd.get(l);if(o)throw o;let f=e_(r.location,s);if(Pg&&!dd.get(l))if(f.isExternal||r.reloadDocument)window.location.href=f.absoluteURL||f.to;else{const m=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(f.to,{replace:r.replace}));throw dd.set(l,m),m}return S.createElement("meta",{httpEquiv:"refresh",content:`0;url=${f.absoluteURL||f.to}`})}}return n}function s0({routeContext:n,match:l,children:s}){let r=S.useContext(Ei);return r&&r.static&&r.staticContext&&(l.route.errorElement||l.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=l.route.id),S.createElement(Qn.Provider,{value:n},s)}function r0(n,l=[],s){let r=s==null?void 0:s.state;if(n==null){if(!r)return null;if(r.errors)n=r.matches;else if(l.length===0&&!r.initialized&&r.matches.length>0)n=r.matches;else return null}let o=n,f=r==null?void 0:r.errors;if(f!=null){let b=o.findIndex(j=>j.route.id&&(f==null?void 0:f[j.route.id])!==void 0);nt(b>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(f).join(",")}`),o=o.slice(0,Math.min(o.length,b+1))}let m=!1,_=-1;if(s&&r){m=r.renderFallback;for(let b=0;b=0?o=o.slice(0,_+1):o=[o[0]];break}}}}let p=s==null?void 0:s.onError,g=r&&p?(b,j)=>{var k,q;p(b,{location:r.location,params:((q=(k=r.matches)==null?void 0:k[0])==null?void 0:q.params)??{},pattern:Kb(r.matches),errorInfo:j})}:void 0;return o.reduceRight((b,j,k)=>{let q,A=!1,O=null,M=null;r&&(q=f&&j.route.id?f[j.route.id]:void 0,O=j.route.errorElement||l0,m&&(_<0&&k===0?(u_("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),A=!0,M=null):_===k&&(A=!0,M=j.route.hydrateFallbackElement||null)));let U=l.concat(o.slice(0,k+1)),J=()=>{let z;return q?z=O:A?z=M:j.route.Component?z=S.createElement(j.route.Component,null):j.route.element?z=j.route.element:z=b,S.createElement(s0,{match:j,routeContext:{outlet:b,matches:U,isDataRoute:r!=null},children:z})};return r&&(j.route.ErrorBoundary||j.route.errorElement||k===0)?S.createElement(c_,{location:r.location,revalidation:r.revalidation,component:O,error:q,children:J(),routeContext:{outlet:null,matches:U,isDataRoute:!0},onError:g}):J()},null)}function Vd(n){return`${n} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function c0(n){let l=S.useContext(Ei);return nt(l,Vd(n)),l}function u0(n){let l=S.useContext(Gc);return nt(l,Vd(n)),l}function o0(n){let l=S.useContext(Qn);return nt(l,Vd(n)),l}function Zd(n){let l=o0(n),s=l.matches[l.matches.length-1];return nt(s.route.id,`${n} can only be used on routes that contain a unique "id"`),s.route.id}function d0(){return Zd("useRouteId")}function f0(){var r;let n=S.useContext(Kd),l=u0("useRouteError"),s=Zd("useRouteError");return n!==void 0?n:(r=l.errors)==null?void 0:r[s]}function m0(){let{router:n}=c0("useNavigate"),l=Zd("useNavigate"),s=S.useRef(!1);return s_(()=>{s.current=!0}),S.useCallback(async(o,f={})=>{_n(s.current,i_),s.current&&(typeof o=="number"?await n.navigate(o):await n.navigate(o,{fromRouteId:l,...f}))},[n,l])}var sg={};function u_(n,l,s){!l&&!sg[n]&&(sg[n]=!0,_n(!1,s))}S.memo(h0);function h0({routes:n,manifest:l,future:s,state:r,isStatic:o,onError:f}){return r_(n,void 0,{manifest:l,state:r,isStatic:o,onError:f})}function p0({to:n,replace:l,state:s,relative:r}){nt(Ai()," may be used only in the context of a component.");let{static:o}=S.useContext(ln);_n(!o," must not be used on the initial render in a . This is a no-op, but you should modify your code so the is only ever rendered in response to some user interaction or state change.");let{matches:f}=S.useContext(Qn),{pathname:m}=Nn(),_=Xd(),p=Hc(n,Qd(f),m,r==="path"),g=JSON.stringify(p);return S.useEffect(()=>{_(JSON.parse(g),{replace:l,state:s,relative:r})},[_,g,r,l,s]),null}function Ed(n){nt(!1,"A is only ever to be used as the child of element, never rendered directly. Please wrap your in a .")}function g0({basename:n="/",children:l=null,location:s,navigationType:r="POP",navigator:o,static:f=!1,useTransitions:m}){nt(!Ai(),"You cannot render a inside another . You should never have more than one in your app.");let _=n.replace(/^\/*/,"/"),p=S.useMemo(()=>({basename:_,navigator:o,static:f,useTransitions:m,future:{}}),[_,o,f,m]);typeof s=="string"&&(s=Dl(s));let{pathname:g="/",search:b="",hash:j="",state:k=null,key:q="default",mask:A}=s,O=S.useMemo(()=>{let M=ha(g,_);return M==null?null:{location:{pathname:M,search:b,hash:j,state:k,key:q,mask:A},navigationType:r}},[_,g,b,j,k,q,r,A]);return _n(O!=null,` is not able to match the URL "${g}${b}${j}" because it does not start with the basename, so the won't render anything.`),O==null?null:S.createElement(ln.Provider,{value:p},S.createElement(Js.Provider,{children:l,value:O}))}function _0({children:n,location:l}){return n0(Ad(n),l)}function Ad(n,l=[]){let s=[];return S.Children.forEach(n,(r,o)=>{if(!S.isValidElement(r))return;let f=[...l,o];if(r.type===S.Fragment){s.push.apply(s,Ad(r.props.children,f));return}nt(r.type===Ed,`[${typeof r.type=="string"?r.type:r.type.name}] is not a component. All component children of must be a or `),nt(!r.props.index||!r.props.children,"An index route cannot have child routes.");let m={id:r.props.id||f.join("-"),caseSensitive:r.props.caseSensitive,element:r.props.element,Component:r.props.Component,index:r.props.index,path:r.props.path,middleware:r.props.middleware,loader:r.props.loader,action:r.props.action,hydrateFallbackElement:r.props.hydrateFallbackElement,HydrateFallback:r.props.HydrateFallback,errorElement:r.props.errorElement,ErrorBoundary:r.props.ErrorBoundary,hasErrorBoundary:r.props.hasErrorBoundary===!0||r.props.ErrorBoundary!=null||r.props.errorElement!=null,shouldRevalidate:r.props.shouldRevalidate,handle:r.props.handle,lazy:r.props.lazy};r.props.children&&(m.children=Ad(r.props.children,f)),s.push(m)}),s}var jc="get",wc="application/x-www-form-urlencoded";function Yc(n){return typeof HTMLElement<"u"&&n instanceof HTMLElement}function y0(n){return Yc(n)&&n.tagName.toLowerCase()==="button"}function v0(n){return Yc(n)&&n.tagName.toLowerCase()==="form"}function b0(n){return Yc(n)&&n.tagName.toLowerCase()==="input"}function S0(n){return!!(n.metaKey||n.altKey||n.ctrlKey||n.shiftKey)}function x0(n,l){return n.button===0&&(!l||l==="_self")&&!S0(n)}var _c=null;function j0(){if(_c===null)try{new FormData(document.createElement("form"),0),_c=!1}catch{_c=!0}return _c}var w0=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function fd(n){return n!=null&&!w0.has(n)?(_n(!1,`"${n}" is not a valid \`encType\` for \`
\`/\`\` and will default to "${wc}"`),null):n}function k0(n,l){let s,r,o,f,m;if(v0(n)){let _=n.getAttribute("action");r=_?ha(_,l):null,s=n.getAttribute("method")||jc,o=fd(n.getAttribute("enctype"))||wc,f=new FormData(n)}else if(y0(n)||b0(n)&&(n.type==="submit"||n.type==="image")){let _=n.form;if(_==null)throw new Error('Cannot submit a