From 23c3577ef4dc176213fd2c25c91243fcdd3424fb Mon Sep 17 00:00:00 2001 From: baiyanyun Date: Tue, 9 Jun 2026 18:33:01 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=B8=E6=94=B6=E6=95=B0=E5=AD=97=E5=91=98?= =?UTF-8?q?=E5=B7=A5=E9=80=9A=E7=9F=A5=E6=8A=95=E5=BD=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../embedded/sgrobot-digital/src/index.css | 139 ++++++++++++- .../src/lib/qimingclawAdapter.ts | 182 ++++++++++++++++++ .../pages/digital/DigitalEmployeeShell.tsx | 145 +++++++++++++- .../embedded/sgrobot-digital/src/types/api.ts | 2 + .../sgrobot-digital/assets/index-BarRiSjT.css | 1 + .../sgrobot-digital/assets/index-CKIQdvco.css | 1 - .../sgrobot-digital/assets/index-DvAXzZFK.js | 148 ++++++++++++++ .../sgrobot-digital/assets/index-g_4byzgP.js | 138 ------------- .../public/sgrobot-digital/index.html | 4 +- ...ital-employee-frontend-integration-plan.md | 6 +- 10 files changed, 617 insertions(+), 149 deletions(-) create mode 100644 qimingclaw/crates/agent-electron-client/public/sgrobot-digital/assets/index-BarRiSjT.css delete mode 100644 qimingclaw/crates/agent-electron-client/public/sgrobot-digital/assets/index-CKIQdvco.css create mode 100644 qimingclaw/crates/agent-electron-client/public/sgrobot-digital/assets/index-DvAXzZFK.js delete mode 100644 qimingclaw/crates/agent-electron-client/public/sgrobot-digital/assets/index-g_4byzgP.js 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 417f7ba4..d9794972 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 @@ -612,8 +612,145 @@ color: #fff; background: rgba(255,255,255,0.12); cursor: pointer; transition: background 0.18s ease, transform 0.18s ease; } -.de-header-icon:hover { background: rgba(255,255,255,0.22); transform: translateY(-1px); } +.de-header-icon:hover, .de-header-icon.active { background: rgba(255,255,255,0.22); transform: translateY(-1px); } .de-header-close { background: rgba(255,255,255,0.18); } +.de-notification-anchor { position: relative; display: inline-flex; align-items: center; } +.de-notification-count { + position: absolute; + top: -5px; + right: -8px; + min-width: 17px; + height: 17px; + padding: 0 4px; + border-radius: 999px; + background: #ff5d73; + color: #fff; + border: 1px solid rgba(255,255,255,0.82); + font-size: 10px; + font-weight: 800; + line-height: 15px; + box-shadow: 0 4px 12px rgba(198,33,70,0.32); +} +.de-notification-popover { + position: absolute; + top: 38px; + right: 0; + z-index: 360; + width: min(380px, calc(100vw - 28px)); + max-height: min(620px, calc(100vh - 88px)); + display: grid; + grid-template-rows: auto minmax(0, 1fr); + overflow: hidden; + border-radius: 14px; + background: rgba(252,254,255,0.98); + border: 1px solid rgba(61,132,184,0.18); + box-shadow: 0 22px 60px rgba(18,52,79,0.24); +} +.de-notification-head { + display: flex; + align-items: center; + justify-content: space-between; + gap: 12px; + padding: 14px; + border-bottom: 1px solid rgba(61,132,184,0.12); +} +.de-notification-head div { min-width: 0; display: grid; gap: 2px; } +.de-notification-head strong { color: #12344f; font-size: 15px; } +.de-notification-head span { color: #6a8094; font-size: 12px; } +.de-notification-close { width: 26px; height: 26px; color: #496a85; background: rgba(79,172,254,0.1); } +.de-notification-list { + min-height: 0; + overflow-y: auto; + display: grid; + gap: 10px; + padding: 12px; +} +.de-notification-empty { + min-height: 86px; + display: grid; + place-items: center; + color: #6a8094; + font-size: 13px; +} +.de-notification-item { + display: grid; + gap: 8px; + padding: 12px; + border-radius: 10px; + background: #fff; + border: 1px solid rgba(61,132,184,0.12); +} +.de-notification-item--action { border-color: rgba(79,172,254,0.3); } +.de-notification-item--warn { border-color: rgba(255,184,61,0.34); } +.de-notification-item--error { border-color: rgba(244,96,96,0.3); } +.de-notification-item-head, +.de-notification-title-row, +.de-notification-actions, +.de-notification-reply-row { + display: flex; + align-items: center; + gap: 8px; +} +.de-notification-item-head, +.de-notification-title-row { justify-content: space-between; } +.de-notification-level, +.de-notification-title-row span { + flex-shrink: 0; + min-height: 20px; + display: inline-flex; + align-items: center; + padding: 0 7px; + border-radius: 999px; + background: rgba(79,172,254,0.1); + color: #22659a; + font-size: 11px; + font-weight: 700; +} +.de-notification-time { color: #7890a7; font-size: 11px; } +.de-notification-title-row h3 { + min-width: 0; + margin: 0; + color: #12344f; + font-size: 14px; + line-height: 1.32; +} +.de-notification-item p, +.de-notification-reply { + margin: 0; + color: #536b80; + font-size: 12px; + line-height: 1.5; +} +.de-notification-reply { + padding: 8px; + border-radius: 8px; + background: rgba(79,172,254,0.08); + color: #31526d; +} +.de-notification-actions { justify-content: flex-end; } +.de-notification-icon-btn { + width: 28px; + height: 28px; + border: 1px solid rgba(61,132,184,0.16); + border-radius: 999px; + display: inline-flex; + align-items: center; + justify-content: center; + color: #31526d; + background: rgba(247,251,255,0.96); + cursor: pointer; +} +.de-notification-icon-btn:hover { background: rgba(79,172,254,0.14); } +.de-notification-reply-row input { + min-width: 0; + flex: 1; + height: 30px; + border-radius: 8px; + border: 1px solid rgba(61,132,184,0.18); + padding: 0 9px; + color: #12344f; + background: #fff; +} .de-digital-modal-close-hitbox { position: absolute; top: 8px; 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 7c6c008e..566c62fa 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 @@ -31,6 +31,7 @@ import type { RouteDecisionRecord, RouteDecisionTimelineResponse, SkillSpec, + UserNotification, } from '@/types/api'; declare global { @@ -73,6 +74,7 @@ interface AdapterState { reportScheduleTime: string; reportGeneratedAtByDate: Record; decisionResultsByDate: Record>; + notificationStateById?: Record; consoleRole?: string; rolePreferences?: Record; profile: { @@ -83,6 +85,14 @@ interface AdapterState { }; } +interface NotificationState { + status?: UserNotification['status']; + read_at?: string | null; + dismissed_at?: string | null; + reply?: string | null; + replied_at?: string | null; +} + interface QimingclawServiceStatus { running?: boolean; error?: string; @@ -644,6 +654,22 @@ export async function handleQimingclawDigitalApi( if (method === 'GET' && approvalTimelineMatch) { return buildApprovalTimeline(decodeURIComponent(approvalTimelineMatch[1] || ''), await readQimingclawSnapshot()) as T; } + if (method === 'GET' && pathname === '/api/notifications') { + return buildNotificationsResponse(url.searchParams.get('status'), await readQimingclawSnapshot()) as T; + } + if (method === 'GET' && pathname === '/api/notifications/unread-count') { + const snapshot = await readQimingclawSnapshot(); + return { count: buildNotifications(snapshot, notificationAdapterState(snapshot)).filter((notification) => notification.status === 'unread').length } as T; + } + const notificationActionMatch = pathname.match(/^\/api\/notifications\/([^/]+)\/(read|dismiss|reply)$/); + if (method === 'POST' && notificationActionMatch) { + return await handleNotificationAction( + decodeURIComponent(notificationActionMatch[1] || ''), + notificationActionMatch[2] as 'read' | 'dismiss' | 'reply', + parseOptionalJsonBody(options.body), + await readQimingclawSnapshot(), + ) as T; + } if (method === 'GET' && pathname === '/api/memory') { return { entries: await readMemoryEntries(url.searchParams.get('query'), url.searchParams.get('category')) } as T; } @@ -716,6 +742,7 @@ function defaultState(): AdapterState { reportScheduleTime: DEFAULT_REPORT_TIME, reportGeneratedAtByDate: {}, decisionResultsByDate: {}, + notificationStateById: {}, consoleRole: 'sales', rolePreferences: {}, profile: { @@ -2069,6 +2096,161 @@ function dedupeApprovalTimelineEvents(events: ApprovalTimelineResponse['events'] }); } +function notificationAdapterState(snapshot: QimingclawSnapshot | null): AdapterState { + return snapshot?.uiState ?? readState(); +} + +function buildNotificationsResponse(status: string | null, snapshot: QimingclawSnapshot | null): { notifications: UserNotification[] } { + const notifications = buildNotifications(snapshot, notificationAdapterState(snapshot)); + const normalizedStatus = (status || 'all').toLowerCase(); + if (normalizedStatus === 'all') { + return { notifications: notifications.filter((notification) => notification.status !== 'dismissed') }; + } + return { notifications: notifications.filter((notification) => notification.status === normalizedStatus) }; +} + +function buildNotifications(snapshot: QimingclawSnapshot | null, state: AdapterState): UserNotification[] { + const notifications = dedupeNotifications([ + ...approvalNotifications(snapshot), + ...syncFailureNotifications(snapshot), + ...managedServiceNotifications(snapshot), + ...taskNotifications(snapshot), + ]); + const overlays = state.notificationStateById ?? {}; + return notifications + .map((notification) => applyNotificationOverlay(notification, overlays[notification.notification_id])) + .sort((left, right) => right.created_at.localeCompare(left.created_at) || right.notification_id.localeCompare(left.notification_id)); +} + +function approvalNotifications(snapshot: QimingclawSnapshot | null): UserNotification[] { + return buildApprovals(snapshot) + .filter((approval) => stringValue(approval.source) === 'qimingclaw-runtime') + .map((approval) => { + const status = stringValue(approval.status) || 'pending'; + const open = isDecisionOpenStatus(status); + return { + notification_id: `approval:${stringValue(approval.approval_id)}`, + plan_id: stringValue(approval.plan_id), + task_id: stringValue(approval.task_id), + kind: open ? 'need_approval' : 'confirmation_resolved', + title: open ? '审批待处理' : '审批已处理', + body: stringValue(approval.title) || '待确认事项', + level: open ? 'action' : 'info', + status: open ? 'unread' : 'resolved', + correlation_id: stringValue(approval.approval_id), + created_at: stringValue(approval.created_at) || new Date().toISOString(), + } satisfies UserNotification; + }); +} + +function syncFailureNotifications(snapshot: QimingclawSnapshot | null): UserNotification[] { + return (snapshot?.sync?.recentFailures ?? []).map((failure) => ({ + notification_id: `sync_failure:${failure.id}`, + plan_id: '', + task_id: failure.entityId, + kind: 'task_failed', + title: `同步失败:${failure.entityType}`, + body: syncFailureLine(failure), + level: failure.dueForRetry === false ? 'error' : 'warn', + status: 'unread', + correlation_id: failure.id, + created_at: failure.lastAttemptAt ?? failure.updatedAt ?? failure.createdAt, + })); +} + +function managedServiceNotifications(snapshot: QimingclawSnapshot | null): UserNotification[] { + return buildManagedServices(snapshot) + .filter((service) => service.requires_human_action || service.status === 'degraded' || service.status === 'stopped') + .map((service) => ({ + notification_id: `service:${service.service_id}`, + plan_id: '', + task_id: service.dependent_tasks?.[0] ?? '', + kind: 'need_input', + title: `服务需要处理:${service.name}`, + body: service.error || `${service.name} 当前状态:${service.status_label || service.status}`, + level: service.status === 'stopped' ? 'error' : 'warn', + status: 'unread', + correlation_id: service.service_id, + created_at: service.last_seen_at || new Date().toISOString(), + })); +} + +function taskNotifications(snapshot: QimingclawSnapshot | null): UserNotification[] { + return runtimeTasks(snapshot).flatMap((task) => { + const normalized = task.status.toLowerCase(); + const success = ['completed', 'succeeded', 'success', 'done'].includes(normalized); + const failed = ['failed', 'error', 'rejected', 'cancelled', 'skipped'].includes(normalized); + if (!success && !failed) return []; + const timestamp = task.updatedAt || task.createdAt || new Date().toISOString(); + return [{ + notification_id: `task:${task.id}:${slugifyIdPart(timestamp)}`, + plan_id: task.planId ?? '', + task_id: task.id, + kind: success ? 'task_finished' : 'task_failed', + title: success ? '任务已完成' : '任务需要关注', + body: `${task.title}:${taskStatusLabel(task.status)}`, + level: success ? 'info' : 'error', + status: 'unread', + correlation_id: task.id, + created_at: timestamp, + } satisfies UserNotification]; + }); +} + +function applyNotificationOverlay(notification: UserNotification, overlay?: NotificationState): UserNotification { + if (!overlay) return notification; + return { + ...notification, + status: overlay.status ?? notification.status, + read_at: overlay.read_at ?? notification.read_at ?? null, + dismissed_at: overlay.dismissed_at ?? notification.dismissed_at ?? null, + reply: overlay.reply ?? notification.reply ?? null, + replied_at: overlay.replied_at ?? notification.replied_at ?? null, + }; +} + +function dedupeNotifications(notifications: UserNotification[]): UserNotification[] { + const seen = new Set(); + return notifications.filter((notification) => { + if (!notification.notification_id || seen.has(notification.notification_id)) return false; + seen.add(notification.notification_id); + return true; + }); +} + +async function handleNotificationAction( + notificationId: string, + action: 'read' | 'dismiss' | 'reply', + body: Record, + snapshot: QimingclawSnapshot | null, +): Promise<{ ok: boolean; task_id?: string; status?: string }> { + const state = snapshot?.uiState ?? await readBridgeUiState() ?? readState(); + const current = buildNotifications(snapshot, state).find((notification) => notification.notification_id === notificationId); + const now = new Date().toISOString(); + const overlay: NotificationState = { ...(state.notificationStateById?.[notificationId] ?? {}) }; + if (action === 'read') { + overlay.status = current?.status === 'resolved' ? 'resolved' : 'read'; + overlay.read_at = overlay.read_at ?? now; + } else if (action === 'dismiss') { + overlay.status = 'dismissed'; + overlay.dismissed_at = now; + } else { + overlay.status = current?.status === 'resolved' ? 'resolved' : 'read'; + overlay.read_at = overlay.read_at ?? now; + overlay.reply = stringValue(body.content ?? body.reply ?? body.message); + overlay.replied_at = now; + } + const nextState: AdapterState = { + ...state, + notificationStateById: { + ...(state.notificationStateById ?? {}), + [notificationId]: overlay, + }, + }; + await saveState(nextState, `notification_${action}`, undefined, { notification_id: notificationId, action }); + return { ok: true, task_id: current?.task_id, status: overlay.status }; +} + function buildWorkdayDecisions( state: AdapterState, date: string, diff --git a/qimingclaw/crates/agent-electron-client/embedded/sgrobot-digital/src/pages/digital/DigitalEmployeeShell.tsx b/qimingclaw/crates/agent-electron-client/embedded/sgrobot-digital/src/pages/digital/DigitalEmployeeShell.tsx index 36947a90..efab4b26 100644 --- a/qimingclaw/crates/agent-electron-client/embedded/sgrobot-digital/src/pages/digital/DigitalEmployeeShell.tsx +++ b/qimingclaw/crates/agent-electron-client/embedded/sgrobot-digital/src/pages/digital/DigitalEmployeeShell.tsx @@ -1,7 +1,15 @@ import { useCallback, useEffect, useState } from 'react'; -import { Bell, Mail, X } from 'lucide-react'; +import { Bell, Check, Mail, MessageSquare, X } from 'lucide-react'; import { useLocation, useNavigate } from 'react-router-dom'; import { RoleProvider } from '@/contexts/RoleContext'; +import { + dismissNotification, + getNotifications, + getUnreadNotificationCount, + markNotificationRead, + replyToNotification, + type UserNotification, +} from '@/lib/api'; import CommandDeck from './CommandDeck'; import MissionCenter from './MissionCenter'; import SkillLibrary from './SkillLibrary'; @@ -68,15 +76,61 @@ function closeDigitalWindow() { window.close(); } +function notificationLevelLabel(level: UserNotification['level']): string { + if (level === 'action') return '待处理'; + if (level === 'error') return '异常'; + if (level === 'warn') return '提醒'; + return '消息'; +} + +function notificationStatusLabel(status: UserNotification['status']): string { + if (status === 'resolved') return '已解决'; + if (status === 'dismissed') return '已忽略'; + if (status === 'read') return '已读'; + return '未读'; +} + +function notificationTime(value: string): string { + const date = new Date(value); + if (Number.isNaN(date.getTime())) return value; + return new Intl.DateTimeFormat('zh-CN', { hour: '2-digit', minute: '2-digit' }).format(date); +} + export default function DigitalEmployeeShell() { const location = useLocation(); const navigate = useNavigate(); const [target, setTarget] = useState(() => targetFromLocation(location.pathname, location.search)); + const [notificationsOpen, setNotificationsOpen] = useState(false); + const [notifications, setNotifications] = useState([]); + const [unreadCount, setUnreadCount] = useState(0); + const [notificationsLoading, setNotificationsLoading] = useState(false); + const [replyDraftById, setReplyDraftById] = useState>({}); + + const refreshNotifications = useCallback(async () => { + setNotificationsLoading(true); + try { + const [items, count] = await Promise.all([ + getNotifications('all'), + getUnreadNotificationCount(), + ]); + setNotifications(items); + setUnreadCount(count); + } catch { + setNotifications([]); + setUnreadCount(0); + } finally { + setNotificationsLoading(false); + } + }, []); useEffect(() => { setTarget(targetFromLocation(location.pathname, location.search)); }, [location.pathname, location.search]); + useEffect(() => { + void refreshNotifications(); + }, [refreshNotifications]); + const navigateDigital = useCallback((nextTarget: DigitalNavigationTarget) => { setTarget(nextTarget); const params = new URLSearchParams(); @@ -92,6 +146,24 @@ export default function DigitalEmployeeShell() { }, { replace: false }); }, [location.pathname, navigate]); + const handleNotificationRead = useCallback(async (id: string) => { + await markNotificationRead(id); + await refreshNotifications(); + }, [refreshNotifications]); + + const handleNotificationDismiss = useCallback(async (id: string) => { + await dismissNotification(id); + await refreshNotifications(); + }, [refreshNotifications]); + + const handleNotificationReply = useCallback(async (id: string) => { + const content = (replyDraftById[id] ?? '').trim(); + if (!content) return; + await replyToNotification(id, content); + setReplyDraftById((current) => ({ ...current, [id]: '' })); + await refreshNotifications(); + }, [refreshNotifications, replyDraftById]); + return (
@@ -118,9 +190,74 @@ export default function DigitalEmployeeShell() { - +
+ + {notificationsOpen && ( +
+
+
+ 通知 + {unreadCount > 0 ? `${unreadCount} 条未读` : '暂无未读'} +
+ +
+
+ {notificationsLoading &&
加载中
} + {!notificationsLoading && notifications.length === 0 &&
暂无通知
} + {!notificationsLoading && notifications.map((notification) => ( +
+
+ {notificationLevelLabel(notification.level)} + {notificationTime(notification.created_at)} +
+
+

{notification.title}

+ {notificationStatusLabel(notification.status)} +
+

{notification.body}

+ {notification.reply &&
{notification.reply}
} + {notification.status !== 'resolved' && notification.status !== 'dismissed' && ( +
+ {notification.status === 'unread' && ( + + )} + +
+ )} + {notification.kind === 'need_input' && notification.status !== 'dismissed' && ( +
+ setReplyDraftById((current) => ({ ...current, [notification.notification_id]: event.target.value }))} + /> + +
+ )} +
+ ))} +
+
+ )} +
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 86f31554..c989934d 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 @@ -169,6 +169,8 @@ export interface UserNotification { created_at: string; read_at?: string | null; dismissed_at?: string | null; + reply?: string | null; + replied_at?: string | null; } export type ChatRouteMode = 'auto' | 'chat' | 'direct' | 'plan'; 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-BarRiSjT.css new file mode 100644 index 00000000..4b1a86cb --- /dev/null +++ b/qimingclaw/crates/agent-electron-client/public/sgrobot-digital/assets/index-BarRiSjT.css @@ -0,0 +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} diff --git a/qimingclaw/crates/agent-electron-client/public/sgrobot-digital/assets/index-CKIQdvco.css b/qimingclaw/crates/agent-electron-client/public/sgrobot-digital/assets/index-CKIQdvco.css deleted file mode 100644 index 9ff2df3c..00000000 --- a/qimingclaw/crates/agent-electron-client/public/sgrobot-digital/assets/index-CKIQdvco.css +++ /dev/null @@ -1 +0,0 @@ -/*! 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{background:#ffffff38;transform:translateY(-1px)}.de-header-close{background:#ffffff2e}.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} diff --git a/qimingclaw/crates/agent-electron-client/public/sgrobot-digital/assets/index-DvAXzZFK.js b/qimingclaw/crates/agent-electron-client/public/sgrobot-digital/assets/index-DvAXzZFK.js new file mode 100644 index 00000000..95c076ed --- /dev/null +++ b/qimingclaw/crates/agent-electron-client/public/sgrobot-digital/assets/index-DvAXzZFK.js @@ -0,0 +1,148 @@ +(function(){const l=document.createElement("link").relList;if(l&&l.supports&&l.supports("modulepreload"))return;for(const d of document.querySelectorAll('link[rel="modulepreload"]'))r(d);new MutationObserver(d=>{for(const f of d)if(f.type==="childList")for(const h of f.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&r(h)}).observe(document,{childList:!0,subtree:!0});function s(d){const f={};return d.integrity&&(f.integrity=d.integrity),d.referrerPolicy&&(f.referrerPolicy=d.referrerPolicy),d.crossOrigin==="use-credentials"?f.credentials="include":d.crossOrigin==="anonymous"?f.credentials="omit":f.credentials="same-origin",f}function r(d){if(d.ep)return;d.ep=!0;const f=s(d);fetch(d.href,f)}})();function Iv(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Zo={exports:{}},Ts={};/** + * @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 Rp;function Fv(){if(Rp)return Ts;Rp=1;var n=Symbol.for("react.transitional.element"),l=Symbol.for("react.fragment");function s(r,d,f){var h=null;if(f!==void 0&&(h=""+f),d.key!==void 0&&(h=""+d.key),"key"in d){f={};for(var _ in d)_!=="key"&&(f[_]=d[_])}else f=d;return d=f.ref,{$$typeof:n,type:r,key:h,ref:d!==void 0?d:null,props:f}}return Ts.Fragment=l,Ts.jsx=s,Ts.jsxs=s,Ts}var zp;function Wv(){return zp||(zp=1,Zo.exports=Fv()),Zo.exports}var u=Wv(),Vo={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 Mp;function Pv(){if(Mp)return ge;Mp=1;var n=Symbol.for("react.transitional.element"),l=Symbol.for("react.portal"),s=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),d=Symbol.for("react.profiler"),f=Symbol.for("react.consumer"),h=Symbol.for("react.context"),_=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),g=Symbol.for("react.memo"),x=Symbol.for("react.lazy"),S=Symbol.for("react.activity"),w=Symbol.iterator;function q(k){return k===null||typeof k!="object"?null:(k=w&&k[w]||k["@@iterator"],typeof k=="function"?k:null)}var T={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},O=Object.assign,A={};function U(k,G,I){this.props=k,this.context=G,this.refs=A,this.updater=I||T}U.prototype.isReactComponent={},U.prototype.setState=function(k,G){if(typeof k!="object"&&typeof k!="function"&&k!=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,k,G,"setState")},U.prototype.forceUpdate=function(k){this.updater.enqueueForceUpdate(this,k,"forceUpdate")};function J(){}J.prototype=U.prototype;function M(k,G,I){this.props=k,this.context=G,this.refs=A,this.updater=I||T}var W=M.prototype=new J;W.constructor=M,O(W,U.prototype),W.isPureReactComponent=!0;var ee=Array.isArray;function he(){}var Z={H:null,A:null,T:null,S:null},ie=Object.prototype.hasOwnProperty;function ae(k,G,I){var P=I.ref;return{$$typeof:n,type:k,key:G,ref:P!==void 0?P:null,props:I}}function be(k,G){return ae(k.type,G,k.props)}function Be(k){return typeof k=="object"&&k!==null&&k.$$typeof===n}function ze(k){var G={"=":"=0",":":"=2"};return"$"+k.replace(/[=:]/g,function(I){return G[I]})}var X=/\/+/g;function re(k,G){return typeof k=="object"&&k!==null&&k.key!=null?ze(""+k.key):G.toString(36)}function B(k){switch(k.status){case"fulfilled":return k.value;case"rejected":throw k.reason;default:switch(typeof k.status=="string"?k.then(he,he):(k.status="pending",k.then(function(G){k.status==="pending"&&(k.status="fulfilled",k.value=G)},function(G){k.status==="pending"&&(k.status="rejected",k.reason=G)})),k.status){case"fulfilled":return k.value;case"rejected":throw k.reason}}throw k}function C(k,G,I,P,de){var ye=typeof k;(ye==="undefined"||ye==="boolean")&&(k=null);var V=!1;if(k===null)V=!0;else switch(ye){case"bigint":case"string":case"number":V=!0;break;case"object":switch(k.$$typeof){case n:case l:V=!0;break;case x:return V=k._init,C(V(k._payload),G,I,P,de)}}if(V)return de=de(k),V=P===""?"."+re(k,0):P,ee(de)?(I="",V!=null&&(I=V.replace(X,"$&/")+"/"),C(de,G,I,"",function(Oe){return Oe})):de!=null&&(Be(de)&&(de=be(de,I+(de.key==null||k&&k.key===de.key?"":(""+de.key).replace(X,"$&/")+"/")+V)),G.push(de)),1;V=0;var te=P===""?".":P+":";if(ee(k))for(var Me=0;Me>>1,Se=C[me];if(0>>1;med(I,le))Pd(de,I)?(C[me]=de,C[P]=le,me=P):(C[me]=I,C[G]=le,me=G);else if(Pd(de,le))C[me]=de,C[P]=le,me=P;else break e}}return K}function d(C,K){var le=C.sortIndex-K.sortIndex;return le!==0?le:C.id-K.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 h=Date,_=h.now();n.unstable_now=function(){return h.now()-_}}var p=[],g=[],x=1,S=null,w=3,q=!1,T=!1,O=!1,A=!1,U=typeof setTimeout=="function"?setTimeout:null,J=typeof clearTimeout=="function"?clearTimeout:null,M=typeof setImmediate<"u"?setImmediate:null;function W(C){for(var K=s(g);K!==null;){if(K.callback===null)r(g);else if(K.startTime<=C)r(g),K.sortIndex=K.expirationTime,l(p,K);else break;K=s(g)}}function ee(C){if(O=!1,W(C),!T)if(s(p)!==null)T=!0,he||(he=!0,ze());else{var K=s(g);K!==null&&B(ee,K.startTime-C)}}var he=!1,Z=-1,ie=5,ae=-1;function be(){return A?!0:!(n.unstable_now()-aeC&&be());){var me=S.callback;if(typeof me=="function"){S.callback=null,w=S.priorityLevel;var Se=me(S.expirationTime<=C);if(C=n.unstable_now(),typeof Se=="function"){S.callback=Se,W(C),K=!0;break t}S===s(p)&&r(p),W(C)}else r(p);S=s(p)}if(S!==null)K=!0;else{var k=s(g);k!==null&&B(ee,k.startTime-C),K=!1}}break e}finally{S=null,w=le,q=!1}K=void 0}}finally{K?ze():he=!1}}}var ze;if(typeof M=="function")ze=function(){M(Be)};else if(typeof MessageChannel<"u"){var X=new MessageChannel,re=X.port2;X.port1.onmessage=Be,ze=function(){re.postMessage(null)}}else ze=function(){U(Be,0)};function B(C,K){Z=U(function(){C(n.unstable_now())},K)}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(C){C.callback=null},n.unstable_forceFrameRate=function(C){0>C||125me?(C.sortIndex=le,l(g,C),s(p)===null&&C===s(g)&&(O?(J(Z),Z=-1):O=!0,B(ee,le-me))):(C.sortIndex=Se,l(p,C),T||q||(T=!0,he||(he=!0,ze()))),C},n.unstable_shouldYield=be,n.unstable_wrapCallback=function(C){var K=w;return function(){var le=w;w=K;try{return C.apply(this,arguments)}finally{w=le}}}})(Fo)),Fo}var qp;function nb(){return qp||(qp=1,Io.exports=tb()),Io.exports}var Wo={exports:{}},Nt={};/** + * @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 Lp;function ab(){if(Lp)return Nt;Lp=1;var n=Dd();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(),Wo.exports=ab(),Wo.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 Bp;function ib(){if(Bp)return Ns;Bp=1;var n=nb(),l=Dd(),s=lb();function r(e){var t="https://react.dev/errors/"+e;if(1Se||(e.current=me[Se],me[Se]=null,Se--)}function I(e,t){Se++,me[Se]=e.current,e.current=t}var P=k(null),de=k(null),ye=k(null),V=k(null);function te(e,t){switch(I(ye,t),I(de,e),I(P,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?tp(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=tp(t),e=np(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}G(P),I(P,e)}function Me(){G(P),G(de),G(ye)}function Oe(e){e.memoizedState!==null&&I(V,e);var t=P.current,a=np(t,e.type);t!==a&&(I(de,e),I(P,a))}function xe(e){de.current===e&&(G(P),G(de)),V.current===e&&(G(V),js._currentValue=le)}var At,yt;function Ne(e){if(At===void 0)try{throw Error()}catch(a){var t=a.stack.trim().match(/\n( *(at )?)/);At=t&&t[1]||"",yt=-1)":-1c||j[i]!==R[c]){var H=` +`+j[i].replace(" at new "," at ");return e.displayName&&H.includes("")&&(H=H.replace("",e.displayName)),H}while(1<=i&&0<=c);break}}}finally{nt=!1,Error.prepareStackTrace=a}return(a=e?e.displayName||e.name:"")?Ne(a):""}function wi(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 Yn(e.type,!1);case 11:return Yn(e.type.render,!1);case 1:return Yn(e.type,!0);case 31:return Ne("Activity");default:return""}}function Tl(e){try{var t="",a=null;do t+=wi(e,a),a=e,e=e.return;while(e);return t}catch(i){return` +Error generating stack: `+i.message+` +`+i.stack}}var ki=Object.prototype.hasOwnProperty,Ei=n.unstable_scheduleCallback,bt=n.unstable_cancelCallback,Xs=n.unstable_shouldYield,ke=n.unstable_requestPaint,pt=n.unstable_now,tn=n.unstable_getCurrentPriorityLevel,nn=n.unstable_ImmediatePriority,Ia=n.unstable_UserBlockingPriority,zt=n.unstable_NormalPriority,Ct=n.unstable_LowPriority,Fa=n.unstable_IdlePriority,Qn=n.log,Wa=n.unstable_setDisableYieldValue,Kn=null,Ze=null;function Nn(e){if(typeof Qn=="function"&&Wa(e),Ze&&typeof Ze.setStrictMode=="function")try{Ze.setStrictMode(Kn,e)}catch{}}var Tt=Math.clz32?Math.clz32:Ti,ma=Math.log,Qc=Math.LN2;function Ti(e){return e>>>=0,e===0?32:31-(ma(e)/Qc|0)|0}var Nl=256,Al=262144,Cl=4194304;function Xn(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 Mt(e,t,a){var i=e.pendingLanes;if(i===0)return 0;var c=0,o=e.suspendedLanes,m=e.pingedLanes;e=e.warmLanes;var y=i&134217727;return y!==0?(i=y&~o,i!==0?c=Xn(i):(m&=y,m!==0?c=Xn(m):a||(a=y&~e,a!==0&&(c=Xn(a))))):(y=i&~o,y!==0?c=Xn(y):m!==0?c=Xn(m):a||(a=i&~e,a!==0&&(c=Xn(a)))),c===0?0:t!==0&&t!==c&&(t&o)===0&&(o=c&-c,a=t&-t,o>=a||o===32&&(a&4194048)!==0)?t:c}function Le(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Ae(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 Dl(){var e=Cl;return Cl<<=1,(Cl&62914560)===0&&(Cl=4194304),e}function Zs(e){for(var t=[],a=0;31>a;a++)t.push(e);return t}function an(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function tf(e,t,a,i,c,o){var m=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,j=e.expirationTimes,R=e.hiddenUpdates;for(a=m&~a;0"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var Ws=/[\n"\\]/g;function $t(e){return e.replace(Ws,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function Oi(e,t,a,i,c,o,m,y){e.name="",m!=null&&typeof m!="function"&&typeof m!="symbol"&&typeof m!="boolean"?e.type=m:e.removeAttribute("type"),t!=null?m==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+Ot(t)):e.value!==""+Ot(t)&&(e.value=""+Ot(t)):m!=="submit"&&m!=="reset"||e.removeAttribute("value"),t!=null?$i(e,m,Ot(t)):a!=null?$i(e,m,Ot(a)):i!=null&&e.removeAttribute("value"),c==null&&o!=null&&(e.defaultChecked=!!o),c!=null&&(e.checked=c&&typeof c!="function"&&typeof c!="symbol"),y!=null&&typeof y!="function"&&typeof y!="symbol"&&typeof y!="boolean"?e.name=""+Ot(y):e.removeAttribute("name")}function Ps(e,t,a,i,c,o,m,y){if(o!=null&&typeof o!="function"&&typeof o!="symbol"&&typeof o!="boolean"&&(e.type=o),t!=null||a!=null){if(!(o!=="submit"&&o!=="reset"||t!=null)){zi(e);return}a=a!=null?""+Ot(a):"",t=t!=null?""+Ot(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,m!=null&&typeof m!="function"&&typeof m!="symbol"&&typeof m!="boolean"&&(e.name=m),zi(e)}function $i(e,t,a){t==="number"&&Pa(e.ownerDocument)===e||e.defaultValue===""+a||(e.defaultValue=""+a)}function va(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"),Ll=!1;if(ln)try{var wa={};Object.defineProperty(wa,"passive",{get:function(){Ll=!0}}),window.addEventListener("test",wa,wa),window.removeEventListener("test",wa,wa)}catch{Ll=!1}var v=null,F=null,ue=null;function Re(){if(ue)return ue;var e,t=F,a=t.length,i,c="value"in v?v.value:v.textContent,o=c.length;for(e=0;e=Qi),cf=" ",uf=!1;function of(e,t){switch(e){case"keyup":return yy.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function df(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Ul=!1;function by(e,t){switch(e){case"compositionend":return df(t);case"keypress":return t.which!==32?null:(uf=!0,cf);case"textInput":return e=t.data,e===cf&&uf?null:e;default:return null}}function Sy(e,t){if(Ul)return e==="compositionend"||!Wc&&of(e,t)?(e=Re(),ue=F=v=null,Ul=!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=vf(a)}}function Sf(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Sf(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function xf(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Pa(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=Pa(e.document)}return t}function tu(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 Ay=ln&&"documentMode"in document&&11>=document.documentMode,Bl=null,nu=null,Vi=null,au=!1;function jf(e,t,a){var i=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;au||Bl==null||Bl!==Pa(i)||(i=Bl,"selectionStart"in i&&tu(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}),Vi&&Zi(Vi,i)||(Vi=i,i=Zr(nu,"onSelect"),0>=m,c-=m,$n=1<<32-Tt(t)+c|a<ve?(Te=se,se=null):Te=se.sibling;var qe=z(N,se,D[ve],Y);if(qe===null){se===null&&(se=Te);break}e&&se&&qe.alternate===null&&t(N,se),E=o(qe,E,ve),$e===null?ce=qe:$e.sibling=qe,$e=qe,se=Te}if(ve===D.length)return a(N,se),Ce&&Jn(N,ve),ce;if(se===null){for(;veve?(Te=se,se=null):Te=se.sibling;var Xa=z(N,se,qe.value,Y);if(Xa===null){se===null&&(se=Te);break}e&&se&&Xa.alternate===null&&t(N,se),E=o(Xa,E,ve),$e===null?ce=Xa:$e.sibling=Xa,$e=Xa,se=Te}if(qe.done)return a(N,se),Ce&&Jn(N,ve),ce;if(se===null){for(;!qe.done;ve++,qe=D.next())qe=Q(N,qe.value,Y),qe!==null&&(E=o(qe,E,ve),$e===null?ce=qe:$e.sibling=qe,$e=qe);return Ce&&Jn(N,ve),ce}for(se=i(se);!qe.done;ve++,qe=D.next())qe=L(se,N,ve,qe.value,Y),qe!==null&&(e&&qe.alternate!==null&&se.delete(qe.key===null?ve:qe.key),E=o(qe,E,ve),$e===null?ce=qe:$e.sibling=qe,$e=qe);return e&&se.forEach(function(Jv){return t(N,Jv)}),Ce&&Jn(N,ve),ce}function Ke(N,E,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 ce=D.key;E!==null;){if(E.key===ce){if(ce=D.type,ce===O){if(E.tag===7){a(N,E.sibling),Y=c(E,D.props.children),Y.return=N,N=Y;break e}}else if(E.elementType===ce||typeof ce=="object"&&ce!==null&&ce.$$typeof===ie&&ul(ce)===E.type){a(N,E.sibling),Y=c(E,D.props),es(Y,D),Y.return=N,N=Y;break e}a(N,E);break}else t(N,E);E=E.sibling}D.type===O?(Y=ll(D.props.children,N.mode,Y,D.key),Y.return=N,N=Y):(Y=or(D.type,D.key,D.props,null,N.mode,Y),es(Y,D),Y.return=N,N=Y)}return m(N);case T:e:{for(ce=D.key;E!==null;){if(E.key===ce)if(E.tag===4&&E.stateNode.containerInfo===D.containerInfo&&E.stateNode.implementation===D.implementation){a(N,E.sibling),Y=c(E,D.children||[]),Y.return=N,N=Y;break e}else{a(N,E);break}else t(N,E);E=E.sibling}Y=ou(D,N.mode,Y),Y.return=N,N=Y}return m(N);case ie:return D=ul(D),Ke(N,E,D,Y)}if(B(D))return ne(N,E,D,Y);if(ze(D)){if(ce=ze(D),typeof ce!="function")throw Error(r(150));return D=ce.call(D),fe(N,E,D,Y)}if(typeof D.then=="function")return Ke(N,E,_r(D),Y);if(D.$$typeof===M)return Ke(N,E,mr(N,D),Y);yr(N,D)}return typeof D=="string"&&D!==""||typeof D=="number"||typeof D=="bigint"?(D=""+D,E!==null&&E.tag===6?(a(N,E.sibling),Y=c(E,D),Y.return=N,N=Y):(a(N,E),Y=uu(D,N.mode,Y),Y.return=N,N=Y),m(N)):a(N,E)}return function(N,E,D,Y){try{Pi=0;var ce=Ke(N,E,D,Y);return Fl=null,ce}catch(se){if(se===Il||se===pr)throw se;var $e=Zt(29,se,null,N.mode);return $e.lanes=Y,$e.return=N,$e}finally{}}}var dl=Xf(!0),Zf=Xf(!1),Aa=!1;function xu(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function ju(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 Ca(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Da(e,t,a){var i=e.updateQueue;if(i===null)return null;if(i=i.shared,(Ue&2)!==0){var c=i.pending;return c===null?t.next=t:(t.next=c.next,c.next=t),i.pending=t,t=ur(e),Cf(e,null,a),t}return cr(e,i,t,a),ur(e)}function ts(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 wu(e,t){var a=e.updateQueue,i=e.alternate;if(i!==null&&(i=i.updateQueue,a===i)){var c=null,o=null;if(a=a.firstBaseUpdate,a!==null){do{var m={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};o===null?c=o=m:o=o.next=m,a=a.next}while(a!==null);o===null?c=o=t:o=o.next=t}else c=o=t;a={baseState:i.baseState,firstBaseUpdate:c,lastBaseUpdate:o,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 ku=!1;function ns(){if(ku){var e=Jl;if(e!==null)throw e}}function as(e,t,a,i){ku=!1;var c=e.updateQueue;Aa=!1;var o=c.firstBaseUpdate,m=c.lastBaseUpdate,y=c.shared.pending;if(y!==null){c.shared.pending=null;var j=y,R=j.next;j.next=null,m===null?o=R:m.next=R,m=j;var H=e.alternate;H!==null&&(H=H.updateQueue,y=H.lastBaseUpdate,y!==m&&(y===null?H.firstBaseUpdate=R:y.next=R,H.lastBaseUpdate=j))}if(o!==null){var Q=c.baseState;m=0,H=R=j=null,y=o;do{var z=y.lane&-536870913,L=z!==y.lane;if(L?(Ee&z)===z:(i&z)===z){z!==0&&z===Vl&&(ku=!0),H!==null&&(H=H.next={lane:0,tag:y.tag,payload:y.payload,callback:null,next:null});e:{var ne=e,fe=y;z=t;var Ke=a;switch(fe.tag){case 1:if(ne=fe.payload,typeof ne=="function"){Q=ne.call(Ke,Q,z);break e}Q=ne;break e;case 3:ne.flags=ne.flags&-65537|128;case 0:if(ne=fe.payload,z=typeof ne=="function"?ne.call(Ke,Q,z):ne,z==null)break e;Q=S({},Q,z);break e;case 2:Aa=!0}}z=y.callback,z!==null&&(e.flags|=64,L&&(e.flags|=8192),L=c.callbacks,L===null?c.callbacks=[z]:L.push(z))}else L={lane:z,tag:y.tag,payload:y.payload,callback:y.callback,next:null},H===null?(R=H=L,j=Q):H=H.next=L,m|=z;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&&(j=Q),c.baseState=j,c.firstBaseUpdate=R,c.lastBaseUpdate=H,o===null&&(c.shared.lanes=0),$a|=m,e.lanes=m,e.memoizedState=Q}}function Vf(e,t){if(typeof e!="function")throw Error(r(191,e));e.call(t)}function Jf(e,t){var a=e.callbacks;if(a!==null)for(e.callbacks=null,e=0;eo?o:8;var m=C.T,y={};C.T=y,Qu(e,!1,t,a);try{var j=c(),R=C.S;if(R!==null&&R(y,j),j!==null&&typeof j=="object"&&typeof j.then=="function"){var H=Ly(j,i);ss(e,t,H,Wt(e))}else ss(e,t,i,Wt(e))}catch(Q){ss(e,t,{then:function(){},status:"rejected",reason:Q},Wt())}finally{K.p=o,m!==null&&y.types!==null&&(m.types=y.types),C.T=m}}function Qy(){}function Gu(e,t,a,i){if(e.tag!==5)throw Error(r(476));var c=Tm(e).queue;Em(e,c,t,le,a===null?Qy:function(){return Nm(e),a(i)})}function Tm(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:le,baseState:le,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Pn,lastRenderedState:le},next:null};var a={};return t.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Pn,lastRenderedState:a},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Nm(e){var t=Tm(e);t.next===null&&(t=e.alternate.memoizedState),ss(e,t.next.queue,{},Wt())}function Yu(){return xt(js)}function Am(){return ct().memoizedState}function Cm(){return ct().memoizedState}function Ky(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var a=Wt();e=Ca(a);var i=Da(t,e,a);i!==null&&(Ht(i,t,a),ts(i,t,a)),t={cache:yu()},e.payload=t;return}t=t.return}}function Xy(e,t,a){var i=Wt();a={lane:i,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},Nr(e)?Rm(t,a):(a=ru(e,t,a,i),a!==null&&(Ht(a,e,i),zm(a,t,i)))}function Dm(e,t,a){var i=Wt();ss(e,t,a,i)}function ss(e,t,a,i){var c={lane:i,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null};if(Nr(e))Rm(t,c);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var m=t.lastRenderedState,y=o(m,a);if(c.hasEagerState=!0,c.eagerState=y,Xt(y,m))return cr(e,t,c,0),Je===null&&rr(),!1}catch{}finally{}if(a=ru(e,t,c,i),a!==null)return Ht(a,e,i),zm(a,t,i),!0}return!1}function Qu(e,t,a,i){if(i={lane:2,revertLane:jo(),gesture:null,action:i,hasEagerState:!1,eagerState:null,next:null},Nr(e)){if(t)throw Error(r(479))}else t=ru(e,a,i,2),t!==null&&Ht(t,e,2)}function Nr(e){var t=e.alternate;return e===_e||t!==null&&t===_e}function Rm(e,t){Pl=Sr=!0;var a=e.pending;a===null?t.next=t:(t.next=a.next,a.next=t),e.pending=t}function zm(e,t,a){if((a&4194048)!==0){var i=t.lanes;i&=e.pendingLanes,a|=i,t.lanes=a,pe(e,a)}}var rs={readContext:xt,use:wr,useCallback:at,useContext:at,useEffect:at,useImperativeHandle:at,useLayoutEffect:at,useInsertionEffect:at,useMemo:at,useReducer:at,useRef:at,useState:at,useDebugValue:at,useDeferredValue:at,useTransition:at,useSyncExternalStore:at,useId:at,useHostTransitionStatus:at,useFormState:at,useActionState:at,useOptimistic:at,useMemoCache:at,useCacheRefresh:at};rs.useEffectEvent=at;var Mm={readContext:xt,use:wr,useCallback:function(e,t){return Dt().memoizedState=[e,t===void 0?null:t],e},useContext:xt,useEffect:_m,useImperativeHandle:function(e,t,a){a=a!=null?a.concat([e]):null,Er(4194308,4,Sm.bind(null,t,e),a)},useLayoutEffect:function(e,t){return Er(4194308,4,e,t)},useInsertionEffect:function(e,t){Er(4,2,e,t)},useMemo:function(e,t){var a=Dt();t=t===void 0?null:t;var i=e();if(fl){Nn(!0);try{e()}finally{Nn(!1)}}return a.memoizedState=[i,t],i},useReducer:function(e,t,a){var i=Dt();if(a!==void 0){var c=a(t);if(fl){Nn(!0);try{a(t)}finally{Nn(!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=Xy.bind(null,_e,e),[i.memoizedState,e]},useRef:function(e){var t=Dt();return e={current:e},t.memoizedState=e},useState:function(e){e=qu(e);var t=e.queue,a=Dm.bind(null,_e,t);return t.dispatch=a,[e.memoizedState,a]},useDebugValue:Bu,useDeferredValue:function(e,t){var a=Dt();return Hu(a,e,t)},useTransition:function(){var e=qu(!1);return e=Em.bind(null,_e,e.queue,!0,!1),Dt().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,a){var i=_e,c=Dt();if(Ce){if(a===void 0)throw Error(r(407));a=a()}else{if(a=t(),Je===null)throw Error(r(349));(Ee&127)!==0||tm(i,t,a)}c.memoizedState=a;var o={value:a,getSnapshot:t};return c.queue=o,_m(am.bind(null,i,o,e),[e]),i.flags|=2048,ti(9,{destroy:void 0},nm.bind(null,i,o,a,t),null),a},useId:function(){var e=Dt(),t=Je.identifierPrefix;if(Ce){var a=qn,i=$n;a=(i&~(1<<32-Tt(i)-1)).toString(32)+a,t="_"+t+"R_"+a,a=xr++,0<\/script>",o=o.removeChild(o.firstChild);break;case"select":o=typeof i.is=="string"?m.createElement("select",{is:i.is}):m.createElement("select"),i.multiple?o.multiple=!0:i.size&&(o.size=i.size);break;default:o=typeof i.is=="string"?m.createElement(c,{is:i.is}):m.createElement(c)}}o[gt]=t,o[Ve]=i;e:for(m=t.child;m!==null;){if(m.tag===5||m.tag===6)o.appendChild(m.stateNode);else if(m.tag!==4&&m.tag!==27&&m.child!==null){m.child.return=m,m=m.child;continue}if(m===t)break e;for(;m.sibling===null;){if(m.return===null||m.return===t)break e;m=m.return}m.sibling.return=m.return,m=m.sibling}t.stateNode=o;e:switch(wt(o,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&&ta(t)}}return Fe(t),lo(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,a),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==i&&ta(t);else{if(typeof i!="string"&&t.stateNode===null)throw Error(r(166));if(e=ye.current,Xl(t)){if(e=t.stateNode,a=t.memoizedProps,i=null,c=St,c!==null)switch(c.tag){case 27:case 5:i=c.memoizedProps}e[gt]=t,e=!!(e.nodeValue===a||i!==null&&i.suppressHydrationWarning===!0||Ph(e.nodeValue,a)),e||Ta(t,!0)}else e=Vr(e).createTextNode(i),e[gt]=t,t.stateNode=e}return Fe(t),null;case 31:if(a=t.memoizedState,e===null||e.memoizedState!==null){if(i=Xl(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 il(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Fe(t),e=!1}else a=hu(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),e=!0;if(!e)return t.flags&256?(Jt(t),t):(Jt(t),null);if((t.flags&128)!==0)throw Error(r(558))}return Fe(t),null;case 13:if(i=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(c=Xl(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 il(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Fe(t),c=!1}else c=hu(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=c),c=!0;if(!c)return t.flags&256?(Jt(t),t):(Jt(t),null)}return Jt(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),o=null,i.memoizedState!==null&&i.memoizedState.cachePool!==null&&(o=i.memoizedState.cachePool.pool),o!==c&&(i.flags|=2048)),a!==e&&a&&(t.child.flags|=8192),zr(t,t.updateQueue),Fe(t),null);case 4:return Me(),e===null&&To(t.stateNode.containerInfo),Fe(t),null;case 10:return Fn(t.type),Fe(t),null;case 19:if(G(rt),i=t.memoizedState,i===null)return Fe(t),null;if(c=(t.flags&128)!==0,o=i.rendering,o===null)if(c)us(i,!1);else{if(lt!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(o=br(e),o!==null){for(t.flags|=128,us(i,!1),e=o.updateQueue,t.updateQueue=e,zr(t,e),t.subtreeFlags=0,e=a,a=t.child;a!==null;)Df(a,e),a=a.sibling;return I(rt,rt.current&1|2),Ce&&Jn(t,i.treeForkCount),t.child}e=e.sibling}i.tail!==null&&pt()>Lr&&(t.flags|=128,c=!0,us(i,!1),t.lanes=4194304)}else{if(!c)if(e=br(o),e!==null){if(t.flags|=128,c=!0,e=e.updateQueue,t.updateQueue=e,zr(t,e),us(i,!0),i.tail===null&&i.tailMode==="hidden"&&!o.alternate&&!Ce)return Fe(t),null}else 2*pt()-i.renderingStartTime>Lr&&a!==536870912&&(t.flags|=128,c=!0,us(i,!1),t.lanes=4194304);i.isBackwards?(o.sibling=t.child,t.child=o):(e=i.last,e!==null?e.sibling=o:t.child=o,i.last=o)}return i.tail!==null?(e=i.tail,i.rendering=e,i.tail=e.sibling,i.renderingStartTime=pt(),e.sibling=null,a=rt.current,I(rt,c?a&1|2:a&1),Ce&&Jn(t,i.treeForkCount),e):(Fe(t),null);case 22:case 23:return Jt(t),Tu(),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&&(Fe(t),t.subtreeFlags&6&&(t.flags|=8192)):Fe(t),a=t.updateQueue,a!==null&&zr(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(cl),null;case 24:return a=null,e!==null&&(a=e.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),Fn(ot),Fe(t),null;case 25:return null;case 30:return null}throw Error(r(156,t.tag))}function Fy(e,t){switch(fu(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Fn(ot),Me(),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(Jt(t),t.alternate===null)throw Error(r(340));il()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Jt(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(r(340));il()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return G(rt),null;case 4:return Me(),null;case 10:return Fn(t.type),null;case 22:case 23:return Jt(t),Tu(),e!==null&&G(cl),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return Fn(ot),null;case 25:return null;default:return null}}function lh(e,t){switch(fu(t),t.tag){case 3:Fn(ot),Me();break;case 26:case 27:case 5:xe(t);break;case 4:Me();break;case 31:t.memoizedState!==null&&Jt(t);break;case 13:Jt(t);break;case 19:G(rt);break;case 10:Fn(t.type);break;case 22:case 23:Jt(t),Tu(),e!==null&&G(cl);break;case 24:Fn(ot)}}function os(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 o=a.create,m=a.inst;i=o(),m.destroy=i}a=a.next}while(a!==c)}}catch(y){Ge(t,t.return,y)}}function Ma(e,t,a){try{var i=t.updateQueue,c=i!==null?i.lastEffect:null;if(c!==null){var o=c.next;i=o;do{if((i.tag&e)===e){var m=i.inst,y=m.destroy;if(y!==void 0){m.destroy=void 0,c=t;var j=a,R=y;try{R()}catch(H){Ge(c,j,H)}}}i=i.next}while(i!==o)}}catch(H){Ge(t,t.return,H)}}function ih(e){var t=e.updateQueue;if(t!==null){var a=e.stateNode;try{Jf(t,a)}catch(i){Ge(e,e.return,i)}}}function sh(e,t,a){a.props=ml(e.type,e.memoizedProps),a.state=e.memoizedState;try{a.componentWillUnmount()}catch(i){Ge(e,t,i)}}function ds(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){Ge(e,t,c)}}function Ln(e,t){var a=e.ref,i=e.refCleanup;if(a!==null)if(typeof i=="function")try{i()}catch(c){Ge(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){Ge(e,t,c)}else a.current=null}function rh(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){Ge(e,e.return,c)}}function io(e,t,a){try{var i=e.stateNode;vv(i,e.type,a,t),i[Ve]=t}catch(c){Ge(e,e.return,c)}}function ch(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Ha(e.type)||e.tag===4}function so(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||ch(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&&Ha(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 ro(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=Yt));else if(i!==4&&(i===27&&Ha(e.type)&&(a=e.stateNode,t=null),e=e.child,e!==null))for(ro(e,t,a),e=e.sibling;e!==null;)ro(e,t,a),e=e.sibling}function Mr(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&&Ha(e.type)&&(a=e.stateNode),e=e.child,e!==null))for(Mr(e,t,a),e=e.sibling;e!==null;)Mr(e,t,a),e=e.sibling}function uh(e){var t=e.stateNode,a=e.memoizedProps;try{for(var i=e.type,c=t.attributes;c.length;)t.removeAttributeNode(c[0]);wt(t,i,a),t[gt]=e,t[Ve]=a}catch(o){Ge(e,e.return,o)}}var na=!1,mt=!1,co=!1,oh=typeof WeakSet=="function"?WeakSet:Set,vt=null;function Wy(e,t){if(e=e.containerInfo,Co=tc,e=xf(e),tu(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,o=i.focusNode;i=i.focusOffset;try{a.nodeType,o.nodeType}catch{a=null;break e}var m=0,y=-1,j=-1,R=0,H=0,Q=e,z=null;t:for(;;){for(var L;Q!==a||c!==0&&Q.nodeType!==3||(y=m+c),Q!==o||i!==0&&Q.nodeType!==3||(j=m+i),Q.nodeType===3&&(m+=Q.nodeValue.length),(L=Q.firstChild)!==null;)z=Q,Q=L;for(;;){if(Q===e)break t;if(z===a&&++R===c&&(y=m),z===o&&++H===i&&(j=m),(L=Q.nextSibling)!==null)break;Q=z,z=Q.parentNode}Q=L}a=y===-1||j===-1?null:{start:y,end:j}}else a=null}a=a||{start:0,end:0}}else a=null;for(Do={focusedElem:e,selectionRange:a},tc=!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,o=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"))),wt(o,i,a),o[gt]=e,it(o),i=o;break e;case"link":var m=gp("link","href",c).get(i+(a.href||""));if(m){for(var y=0;yKe&&(m=Ke,Ke=fe,fe=m);var N=bf(y,fe),E=bf(y,Ke);if(N&&E&&(L.rangeCount!==1||L.anchorNode!==N.node||L.anchorOffset!==N.offset||L.focusNode!==E.node||L.focusOffset!==E.offset)){var D=Q.createRange();D.setStart(N.node,N.offset),L.removeAllRanges(),fe>Ke?(L.addRange(D),L.extend(E.node,E.offset)):(D.setEnd(E.node,E.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,C.T=null,a=go,go=null;var o=La,m=ra;if(_t=0,si=La=null,ra=0,(Ue&6)!==0)throw Error(r(331));var y=Ue;if(Ue|=4,Sh(o.current),yh(o,o.current,m,a),Ue=y,_s(0,!1),Ze&&typeof Ze.onPostCommitFiberRoot=="function")try{Ze.onPostCommitFiberRoot(Kn,o)}catch{}return!0}finally{K.p=c,C.T=i,Uh(e,t)}}function Hh(e,t,a){t=rn(a,t),t=Vu(e.stateNode,t,2),e=Da(e,t,2),e!==null&&(an(e,2),Un(e))}function Ge(e,t,a){if(e.tag===3)Hh(e,e,a);else for(;t!==null;){if(t.tag===3){Hh(t,e,a);break}else if(t.tag===1){var i=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof i.componentDidCatch=="function"&&(qa===null||!qa.has(i))){e=rn(a,e),a=Gm(2),i=Da(t,a,2),i!==null&&(Ym(a,i,t,e),an(i,2),Un(i));break}}t=t.return}}function bo(e,t,a){var i=e.pingCache;if(i===null){i=e.pingCache=new tv;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)||(fo=!0,c.add(a),e=sv.bind(null,e,t,a),t.then(e,e))}function sv(e,t,a){var i=e.pingCache;i!==null&&i.delete(t),e.pingedLanes|=e.suspendedLanes&a,e.warmLanes&=~a,Je===e&&(Ee&a)===a&&(lt===4||lt===3&&(Ee&62914560)===Ee&&300>pt()-qr?(Ue&2)===0&&ri(e,0):mo|=a,ii===Ee&&(ii=0)),Un(e)}function Gh(e,t){t===0&&(t=Dl()),e=al(e,t),e!==null&&(an(e,t),Un(e))}function rv(e){var t=e.memoizedState,a=0;t!==null&&(a=t.retryLane),Gh(e,a)}function cv(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),Gh(e,a)}function uv(e,t){return Ei(e,t)}var Qr=null,ui=null,So=!1,Kr=!1,xo=!1,Ba=0;function Un(e){e!==ui&&e.next===null&&(ui===null?Qr=ui=e:ui=ui.next=e),Kr=!0,So||(So=!0,dv())}function _s(e,t){if(!xo&&Kr){xo=!0;do for(var a=!1,i=Qr;i!==null;){if(e!==0){var c=i.pendingLanes;if(c===0)var o=0;else{var m=i.suspendedLanes,y=i.pingedLanes;o=(1<<31-Tt(42|e)+1)-1,o&=c&~(m&~y),o=o&201326741?o&201326741|1:o?o|2:0}o!==0&&(a=!0,Xh(i,o))}else o=Ee,o=Mt(i,i===Je?o:0,i.cancelPendingCommit!==null||i.timeoutHandle!==-1),(o&3)===0||Le(i,o)||(a=!0,Xh(i,o));i=i.next}while(a);xo=!1}}function ov(){Yh()}function Yh(){Kr=So=!1;var e=0;Ba!==0&&Sv()&&(e=Ba);for(var t=pt(),a=null,i=Qr;i!==null;){var c=i.next,o=Qh(i,t);o===0?(i.next=null,a===null?Qr=c:a.next=c,c===null&&(ui=a)):(a=i,(e!==0||(o&3)!==0)&&(Kr=!0)),i=c}_t!==0&&_t!==5||_s(e),Ba!==0&&(Ba=0)}function Qh(e,t){for(var a=e.suspendedLanes,i=e.pingedLanes,c=e.expirationTimes,o=e.pendingLanes&-62914561;0y)break;var H=j.transferSize,Q=j.initiatorType;H&&ep(Q)&&(j=j.responseEnd,m+=H*(j"u"?null:document;function fp(e,t,a){var i=oi;if(i&&typeof t=="string"&&t){var c=$t(t);c='link[rel="'+e+'"][href="'+c+'"]',typeof a=="string"&&(c+='[crossorigin="'+a+'"]'),dp.has(c)||(dp.add(c),e={rel:e,crossOrigin:a,href:t},i.querySelector(c)===null&&(t=i.createElement("link"),wt(t,"link",e),it(t),i.head.appendChild(t)))}}function Cv(e){ca.D(e),fp("dns-prefetch",e,null)}function Dv(e,t){ca.C(e,t),fp("preconnect",e,t)}function Rv(e,t,a){ca.L(e,t,a);var i=oi;if(i&&e&&t){var c='link[rel="preload"][as="'+$t(t)+'"]';t==="image"&&a&&a.imageSrcSet?(c+='[imagesrcset="'+$t(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(c+='[imagesizes="'+$t(a.imageSizes)+'"]')):c+='[href="'+$t(e)+'"]';var o=c;switch(t){case"style":o=di(e);break;case"script":o=fi(e)}mn.has(o)||(e=S({rel:"preload",href:t==="image"&&a&&a.imageSrcSet?void 0:e,as:t},a),mn.set(o,e),i.querySelector(c)!==null||t==="style"&&i.querySelector(Ss(o))||t==="script"&&i.querySelector(xs(o))||(t=i.createElement("link"),wt(t,"link",e),it(t),i.head.appendChild(t)))}}function zv(e,t){ca.m(e,t);var a=oi;if(a&&e){var i=t&&typeof t.as=="string"?t.as:"script",c='link[rel="modulepreload"][as="'+$t(i)+'"][href="'+$t(e)+'"]',o=c;switch(i){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":o=fi(e)}if(!mn.has(o)&&(e=S({rel:"modulepreload",href:e},t),mn.set(o,e),a.querySelector(c)===null)){switch(i){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(xs(o)))return}i=a.createElement("link"),wt(i,"link",e),it(i),a.head.appendChild(i)}}}function Mv(e,t,a){ca.S(e,t,a);var i=oi;if(i&&e){var c=Rn(i).hoistableStyles,o=di(e);t=t||"default";var m=c.get(o);if(!m){var y={loading:0,preload:null};if(m=i.querySelector(Ss(o)))y.loading=5;else{e=S({rel:"stylesheet",href:e,"data-precedence":t},a),(a=mn.get(o))&&Lo(e,a);var j=m=i.createElement("link");it(j),wt(j,"link",e),j._p=new Promise(function(R,H){j.onload=R,j.onerror=H}),j.addEventListener("load",function(){y.loading|=1}),j.addEventListener("error",function(){y.loading|=2}),y.loading|=4,Ir(m,t,i)}m={type:"stylesheet",instance:m,count:1,state:y},c.set(o,m)}}}function Ov(e,t){ca.X(e,t);var a=oi;if(a&&e){var i=Rn(a).hoistableScripts,c=fi(e),o=i.get(c);o||(o=a.querySelector(xs(c)),o||(e=S({src:e,async:!0},t),(t=mn.get(c))&&Uo(e,t),o=a.createElement("script"),it(o),wt(o,"link",e),a.head.appendChild(o)),o={type:"script",instance:o,count:1,state:null},i.set(c,o))}}function $v(e,t){ca.M(e,t);var a=oi;if(a&&e){var i=Rn(a).hoistableScripts,c=fi(e),o=i.get(c);o||(o=a.querySelector(xs(c)),o||(e=S({src:e,async:!0,type:"module"},t),(t=mn.get(c))&&Uo(e,t),o=a.createElement("script"),it(o),wt(o,"link",e),a.head.appendChild(o)),o={type:"script",instance:o,count:1,state:null},i.set(c,o))}}function mp(e,t,a,i){var c=(c=ye.current)?Jr(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=di(a.href),a=Rn(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=di(a.href);var o=Rn(c).hoistableStyles,m=o.get(e);if(m||(c=c.ownerDocument||c,m={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},o.set(e,m),(o=c.querySelector(Ss(e)))&&!o._p&&(m.instance=o,m.state.loading=5),mn.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},mn.set(e,a),o||qv(c,e,a,m.state))),t&&i===null)throw Error(r(528,""));return m}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=fi(a),a=Rn(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 di(e){return'href="'+$t(e)+'"'}function Ss(e){return'link[rel="stylesheet"]['+e+"]"}function hp(e){return S({},e,{"data-precedence":e.precedence,precedence:null})}function qv(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}),wt(t,"link",a),it(t),e.head.appendChild(t))}function fi(e){return'[src="'+$t(e)+'"]'}function xs(e){return"script[async]"+e}function pp(e,t,a){if(t.count++,t.instance===null)switch(t.type){case"style":var i=e.querySelector('style[data-href~="'+$t(a.href)+'"]');if(i)return t.instance=i,it(i),i;var c=S({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return i=(e.ownerDocument||e).createElement("style"),it(i),wt(i,"style",c),Ir(i,a.precedence,e),t.instance=i;case"stylesheet":c=di(a.href);var o=e.querySelector(Ss(c));if(o)return t.state.loading|=4,t.instance=o,it(o),o;i=hp(a),(c=mn.get(c))&&Lo(i,c),o=(e.ownerDocument||e).createElement("link"),it(o);var m=o;return m._p=new Promise(function(y,j){m.onload=y,m.onerror=j}),wt(o,"link",i),t.state.loading|=4,Ir(o,a.precedence,e),t.instance=o;case"script":return o=fi(a.src),(c=e.querySelector(xs(o)))?(t.instance=c,it(c),c):(i=a,(c=mn.get(o))&&(i=S({},a),Uo(i,c)),e=e.ownerDocument||e,c=e.createElement("script"),it(c),wt(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,Ir(i,a.precedence,e));return t.instance}function Ir(e,t,a){for(var i=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),c=i.length?i[i.length-1]:null,o=c,m=0;m title"):null)}function Lv(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 yp(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function Uv(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=di(i.href),o=t.querySelector(Ss(c));if(o){t=o._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=Wr.bind(e),t.then(e,e)),a.state.loading|=4,a.instance=o,it(o);return}o=t.ownerDocument||t,i=hp(i),(c=mn.get(c))&&Lo(i,c),o=o.createElement("link"),it(o);var m=o;m._p=new Promise(function(y,j){m.onload=y,m.onerror=j}),wt(o,"link",i),a.instance=o}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(a,t),(t=a.state.preload)&&(a.state.loading&3)===0&&(e.count++,a=Wr.bind(e),t.addEventListener("load",a),t.addEventListener("error",a))}}var Bo=0;function Bv(e,t){return e.stylesheets&&e.count===0&&ec(e,e.stylesheets),0Bo?50:800)+t);return e.unsuspend=a,function(){e.unsuspend=null,clearTimeout(i),clearTimeout(c)}}:null}function Wr(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)ec(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Pr=null;function ec(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Pr=new Map,t.forEach(Hv,e),Pr=null,Wr.call(e))}function Hv(e,t){if(!(t.state.loading&4)){var a=Pr.get(e);if(a)var i=a.get(null);else{a=new Map,Pr.set(e,a);for(var c=e.querySelectorAll("link[data-precedence],style[data-precedence]"),o=0;o"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(l){console.error(l)}}return n(),Jo.exports=ib(),Jo.exports}var rb=sb();/** + * 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 Gp="popstate";function Yp(n){return typeof n=="object"&&n!=null&&"pathname"in n&&"search"in n&&"hash"in n&&"state"in n&&"key"in n}function cb(n={}){function l(d,f){let{pathname:h="/",search:_="",hash:p=""}=xl(d.location.hash.substring(1));return!h.startsWith("/")&&!h.startsWith(".")&&(h="/"+h),md("",{pathname:h,search:_,hash:p},f.state&&f.state.usr||null,f.state&&f.state.key||"default")}function s(d,f){let h=d.document.querySelector("base"),_="";if(h&&h.getAttribute("href")){let p=d.location.href,g=p.indexOf("#");_=g===-1?p:p.slice(0,g)}return _+"#"+(typeof f=="string"?f:$s(f))}function r(d,f){hn(d.pathname.charAt(0)==="/",`relative pathnames are not supported in hash history.push(${JSON.stringify(f)})`)}return ob(l,s,r,n)}function tt(n,l){if(n===!1||n===null||typeof n>"u")throw new Error(l)}function hn(n,l){if(!n){typeof console<"u"&&console.warn(l);try{throw new Error(l)}catch{}}}function ub(){return Math.random().toString(36).substring(2,10)}function Qp(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 md(n,l,s=null,r,d){return{pathname:typeof n=="string"?n:n.pathname,search:"",hash:"",...typeof l=="string"?xl(l):l,state:s,key:l&&l.key||r||ub(),mask:d}}function $s({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 xl(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 ob(n,l,s,r={}){let{window:d=document.defaultView,v5Compat:f=!1}=r,h=d.history,_="POP",p=null,g=x();g==null&&(g=0,h.replaceState({...h.state,idx:g},""));function x(){return(h.state||{idx:null}).idx}function S(){_="POP";let A=x(),U=A==null?null:A-g;g=A,p&&p({action:_,location:O.location,delta:U})}function w(A,U){_="PUSH";let J=Yp(A)?A:md(O.location,A,U);s&&s(J,A),g=x()+1;let M=Qp(J,g),W=O.createHref(J.mask||J);try{h.pushState(M,"",W)}catch(ee){if(ee instanceof DOMException&&ee.name==="DataCloneError")throw ee;d.location.assign(W)}f&&p&&p({action:_,location:O.location,delta:1})}function q(A,U){_="REPLACE";let J=Yp(A)?A:md(O.location,A,U);s&&s(J,A),g=x();let M=Qp(J,g),W=O.createHref(J.mask||J);h.replaceState(M,"",W),f&&p&&p({action:_,location:O.location,delta:0})}function T(A){return db(d,A)}let O={get action(){return _},get location(){return n(d,h)},listen(A){if(p)throw new Error("A history only accepts one active listener");return d.addEventListener(Gp,S),p=A,()=>{d.removeEventListener(Gp,S),p=null}},createHref(A){return l(d,A)},createURL:T,encodeLocation(A){let U=T(A);return{pathname:U.pathname,search:U.search,hash:U.hash}},push:w,replace:q,go(A){return h.go(A)}};return O}function db(n,l,s=!1){let r="http://localhost";n&&(r=n.location.origin!=="null"?n.location.origin:n.location.href),tt(r,"No window.location.(origin|href) available to create URL");let d=typeof l=="string"?l:$s(l);return d=d.replace(/ $/,"%20"),!s&&d.startsWith("//")&&(d=r+d),new URL(d,r)}function qg(n,l,s="/"){return fb(n,l,s,!1)}function fb(n,l,s,r,d){let f=typeof l=="string"?xl(l):l,h=da(f.pathname||"/",s);if(h==null)return null;let _=mb(n),p=null,g=kb(h);for(let x=0;p==null&&x<_.length;++x)p=jb(_[x],g,r);return p}function mb(n){let l=Lg(n);return hb(l),l}function Lg(n,l=[],s=[],r="",d=!1){let f=(h,_,p=d,g)=>{let x={relativePath:g===void 0?h.path||"":g,caseSensitive:h.caseSensitive===!0,childrenIndex:_,route:h};if(x.relativePath.startsWith("/")){if(!x.relativePath.startsWith(r)&&p)return;tt(x.relativePath.startsWith(r),`Absolute route path "${x.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),x.relativePath=x.relativePath.slice(r.length)}let S=jn([r,x.relativePath]),w=s.concat(x);h.children&&h.children.length>0&&(tt(h.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${S}".`),Lg(h.children,l,w,S,p)),!(h.path==null&&!h.index)&&l.push({path:S,score:Sb(S,h.index),routesMeta:w})};return n.forEach((h,_)=>{var p;if(h.path===""||!((p=h.path)!=null&&p.includes("?")))f(h,_);else for(let g of Ug(h.path))f(h,_,!0,g)}),l}function Ug(n){let l=n.split("/");if(l.length===0)return[];let[s,...r]=l,d=s.endsWith("?"),f=s.replace(/\?$/,"");if(r.length===0)return d?[f,""]:[f];let h=Ug(r.join("/")),_=[];return _.push(...h.map(p=>p===""?f:[f,p].join("/"))),d&&_.push(...h),_.map(p=>n.startsWith("/")&&p===""?"/":p)}function hb(n){n.sort((l,s)=>l.score!==s.score?s.score-l.score:xb(l.routesMeta.map(r=>r.childrenIndex),s.routesMeta.map(r=>r.childrenIndex)))}var pb=/^:[\w-]+$/,gb=3,_b=2,yb=1,vb=10,bb=-2,Kp=n=>n==="*";function Sb(n,l){let s=n.split("/"),r=s.length;return s.some(Kp)&&(r+=bb),l&&(r+=_b),s.filter(d=>!Kp(d)).reduce((d,f)=>d+(pb.test(f)?gb:f===""?yb:vb),r)}function xb(n,l){return n.length===l.length&&n.slice(0,-1).every((r,d)=>r===l[d])?n[n.length-1]-l[l.length-1]:0}function jb(n,l,s=!1){let{routesMeta:r}=n,d={},f="/",h=[];for(let _=0;_{if(x==="*"){let T=_[w]||"";h=f.slice(0,f.length-T.length).replace(/(.)\/+$/,"$1")}const q=_[w];return S&&!q?g[x]=void 0:g[x]=(q||"").replace(/%2F/g,"/"),g},{}),pathname:f,pathnameBase:h,pattern:n}}function wb(n,l=!1,s=!0){hn(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=[],d="^"+n.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(h,_,p,g,x)=>{if(r.push({paramName:_,isOptional:p!=null}),p){let S=x.charAt(g+h.length);return S&&S!=="/"?"/([^\\/]*)":"(?:/([^\\/]*))?"}return"/([^\\/]+)"}).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return n.endsWith("*")?(r.push({paramName:"*"}),d+=n==="*"||n==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):s?d+="\\/*$":n!==""&&n!=="/"&&(d+="(?:(?=\\/|$))"),[new RegExp(d,l?void 0:"i"),r]}function kb(n){try{return n.split("/").map(l=>decodeURIComponent(l).replace(/\//g,"%2F")).join("/")}catch(l){return hn(!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 da(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 Eb=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i;function Tb(n,l="/"){let{pathname:s,search:r="",hash:d=""}=typeof n=="string"?xl(n):n,f;return s?(s=Bg(s),s.startsWith("/")?f=Xp(s.substring(1),"/"):f=Xp(s,l)):f=l,{pathname:f,search:Cb(r),hash:Db(d)}}function Xp(n,l){let s=wc(l).split("/");return n.split("/").forEach(d=>{d===".."?s.length>1&&s.pop():d!=="."&&s.push(d)}),s.length>1?s.join("/"):"/"}function Po(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 Nb(n){return n.filter((l,s)=>s===0||l.route.path&&l.route.path.length>0)}function Rd(n){let l=Nb(n);return l.map((s,r)=>r===l.length-1?s.pathname:s.pathnameBase)}function Rc(n,l,s,r=!1){let d;typeof n=="string"?d=xl(n):(d={...n},tt(!d.pathname||!d.pathname.includes("?"),Po("?","pathname","search",d)),tt(!d.pathname||!d.pathname.includes("#"),Po("#","pathname","hash",d)),tt(!d.search||!d.search.includes("#"),Po("#","search","hash",d)));let f=n===""||d.pathname==="",h=f?"/":d.pathname,_;if(h==null)_=s;else{let S=l.length-1;if(!r&&h.startsWith("..")){let w=h.split("/");for(;w[0]==="..";)w.shift(),S-=1;d.pathname=w.join("/")}_=S>=0?l[S]:"/"}let p=Tb(d,_),g=h&&h!=="/"&&h.endsWith("/"),x=(f||h===".")&&s.endsWith("/");return!p.pathname.endsWith("/")&&(g||x)&&(p.pathname+="/"),p}var Bg=n=>n.replace(/\/\/+/g,"/"),jn=n=>Bg(n.join("/")),wc=n=>n.replace(/\/+$/,""),Ab=n=>wc(n).replace(/^\/*/,"/"),Cb=n=>!n||n==="?"?"":n.startsWith("?")?n:"?"+n,Db=n=>!n||n==="#"?"":n.startsWith("#")?n:"#"+n,Rb=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 zb(n){return n!=null&&typeof n.status=="number"&&typeof n.statusText=="string"&&typeof n.internal=="boolean"&&"data"in n}function Mb(n){let l=n.map(s=>s.route.path).filter(Boolean);return jn(l)||"/"}var Hg=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function Gg(n,l){let s=n;if(typeof s!="string"||!Eb.test(s))return{absoluteURL:void 0,isExternal:!1,to:s};let r=s,d=!1;if(Hg)try{let f=new URL(window.location.href),h=s.startsWith("//")?new URL(f.protocol+s):new URL(s),_=da(h.pathname,l);h.origin===f.origin&&_!=null?s=_+h.search+h.hash:d=!0}catch{hn(!1,` contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:r,isExternal:d,to:s}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var Yg=["POST","PUT","PATCH","DELETE"];new Set(Yg);var Ob=["GET",...Yg];new Set(Ob);var vi=b.createContext(null);vi.displayName="DataRouter";var zc=b.createContext(null);zc.displayName="DataRouterState";var Qg=b.createContext(!1);function $b(){return b.useContext(Qg)}var Kg=b.createContext({isTransitioning:!1});Kg.displayName="ViewTransition";var qb=b.createContext(new Map);qb.displayName="Fetchers";var Lb=b.createContext(null);Lb.displayName="Await";var Pt=b.createContext(null);Pt.displayName="Navigation";var Bs=b.createContext(null);Bs.displayName="Location";var Gn=b.createContext({outlet:null,matches:[],isDataRoute:!1});Gn.displayName="Route";var zd=b.createContext(null);zd.displayName="RouteError";var Xg="REACT_ROUTER_ERROR",Ub="REDIRECT",Bb="ROUTE_ERROR_RESPONSE";function Hb(n){if(n.startsWith(`${Xg}:${Ub}:{`))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 Gb(n){if(n.startsWith(`${Xg}:${Bb}:{`))try{let l=JSON.parse(n.slice(40));if(typeof l=="object"&&l&&typeof l.status=="number"&&typeof l.statusText=="string")return new Rb(l.status,l.statusText,l.data)}catch{}}function Yb(n,{relative:l}={}){tt(bi(),"useHref() may be used only in the context of a component.");let{basename:s,navigator:r}=b.useContext(Pt),{hash:d,pathname:f,search:h}=Hs(n,{relative:l}),_=f;return s!=="/"&&(_=f==="/"?s:jn([s,f])),r.createHref({pathname:_,search:h,hash:d})}function bi(){return b.useContext(Bs)!=null}function Tn(){return tt(bi(),"useLocation() may be used only in the context of a component."),b.useContext(Bs).location}var Zg="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function Vg(n){b.useContext(Pt).static||b.useLayoutEffect(n)}function Md(){let{isDataRoute:n}=b.useContext(Gn);return n?n0():Qb()}function Qb(){tt(bi(),"useNavigate() may be used only in the context of a component.");let n=b.useContext(vi),{basename:l,navigator:s}=b.useContext(Pt),{matches:r}=b.useContext(Gn),{pathname:d}=Tn(),f=JSON.stringify(Rd(r)),h=b.useRef(!1);return Vg(()=>{h.current=!0}),b.useCallback((p,g={})=>{if(hn(h.current,Zg),!h.current)return;if(typeof p=="number"){s.go(p);return}let x=Rc(p,JSON.parse(f),d,g.relative==="path");n==null&&l!=="/"&&(x.pathname=x.pathname==="/"?l:jn([l,x.pathname])),(g.replace?s.replace:s.push)(x,g.state,g)},[l,s,f,d,n])}b.createContext(null);function Hs(n,{relative:l}={}){let{matches:s}=b.useContext(Gn),{pathname:r}=Tn(),d=JSON.stringify(Rd(s));return b.useMemo(()=>Rc(n,JSON.parse(d),r,l==="path"),[n,d,r,l])}function Kb(n,l){return Jg(n,l)}function Jg(n,l,s){var A;tt(bi(),"useRoutes() may be used only in the context of a component.");let{navigator:r}=b.useContext(Pt),{matches:d}=b.useContext(Gn),f=d[d.length-1],h=f?f.params:{},_=f?f.pathname:"/",p=f?f.pathnameBase:"/",g=f&&f.route;{let U=g&&g.path||"";Fg(_,!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 x=Tn(),S;if(l){let U=typeof l=="string"?xl(l):l;tt(p==="/"||((A=U.pathname)==null?void 0:A.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.`),S=U}else S=x;let w=S.pathname||"/",q=w;if(p!=="/"){let U=p.replace(/^\//,"").split("/");q="/"+w.replace(/^\//,"").split("/").slice(U.length).join("/")}let T=s&&s.state.matches.length?s.state.matches.map(U=>Object.assign(U,{route:s.manifest[U.route.id]||U.route})):qg(n,{pathname:q});hn(g||T!=null,`No routes matched location "${S.pathname}${S.search}${S.hash}" `),hn(T==null||T[T.length-1].route.element!==void 0||T[T.length-1].route.Component!==void 0||T[T.length-1].route.lazy!==void 0,`Matched leaf route at location "${S.pathname}${S.search}${S.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=Ib(T&&T.map(U=>Object.assign({},U,{params:Object.assign({},h,U.params),pathname:jn([p,r.encodeLocation?r.encodeLocation(U.pathname.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:U.pathname]),pathnameBase:U.pathnameBase==="/"?p:jn([p,r.encodeLocation?r.encodeLocation(U.pathnameBase.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:U.pathnameBase])})),d,s);return l&&O?b.createElement(Bs.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",mask:void 0,...S},navigationType:"POP"}},O):O}function Xb(){let n=t0(),l=zb(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)",d={padding:"0.5rem",backgroundColor:r},f={padding:"2px 4px",backgroundColor:r},h=null;return console.error("Error handled by React Router default ErrorBoundary:",n),h=b.createElement(b.Fragment,null,b.createElement("p",null,"💿 Hey developer 👋"),b.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",b.createElement("code",{style:f},"ErrorBoundary")," or"," ",b.createElement("code",{style:f},"errorElement")," prop on your route.")),b.createElement(b.Fragment,null,b.createElement("h2",null,"Unexpected Application Error!"),b.createElement("h3",{style:{fontStyle:"italic"}},l),s?b.createElement("pre",{style:d},s):null,h)}var Zb=b.createElement(Xb,null),Ig=class extends b.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=Gb(n.digest);s&&(n=s)}let l=n!==void 0?b.createElement(Gn.Provider,{value:this.props.routeContext},b.createElement(zd.Provider,{value:n,children:this.props.component})):this.props.children;return this.context?b.createElement(Vb,{error:n},l):l}};Ig.contextType=Qg;var ed=new WeakMap;function Vb({children:n,error:l}){let{basename:s}=b.useContext(Pt);if(typeof l=="object"&&l&&"digest"in l&&typeof l.digest=="string"){let r=Hb(l.digest);if(r){let d=ed.get(l);if(d)throw d;let f=Gg(r.location,s);if(Hg&&!ed.get(l))if(f.isExternal||r.reloadDocument)window.location.href=f.absoluteURL||f.to;else{const h=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(f.to,{replace:r.replace}));throw ed.set(l,h),h}return b.createElement("meta",{httpEquiv:"refresh",content:`0;url=${f.absoluteURL||f.to}`})}}return n}function Jb({routeContext:n,match:l,children:s}){let r=b.useContext(vi);return r&&r.static&&r.staticContext&&(l.route.errorElement||l.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=l.route.id),b.createElement(Gn.Provider,{value:n},s)}function Ib(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 d=n,f=r==null?void 0:r.errors;if(f!=null){let x=d.findIndex(S=>S.route.id&&(f==null?void 0:f[S.route.id])!==void 0);tt(x>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(f).join(",")}`),d=d.slice(0,Math.min(d.length,x+1))}let h=!1,_=-1;if(s&&r){h=r.renderFallback;for(let x=0;x=0?d=d.slice(0,_+1):d=[d[0]];break}}}}let p=s==null?void 0:s.onError,g=r&&p?(x,S)=>{var w,q;p(x,{location:r.location,params:((q=(w=r.matches)==null?void 0:w[0])==null?void 0:q.params)??{},pattern:Mb(r.matches),errorInfo:S})}:void 0;return d.reduceRight((x,S,w)=>{let q,T=!1,O=null,A=null;r&&(q=f&&S.route.id?f[S.route.id]:void 0,O=S.route.errorElement||Zb,h&&(_<0&&w===0?(Fg("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),T=!0,A=null):_===w&&(T=!0,A=S.route.hydrateFallbackElement||null)));let U=l.concat(d.slice(0,w+1)),J=()=>{let M;return q?M=O:T?M=A:S.route.Component?M=b.createElement(S.route.Component,null):S.route.element?M=S.route.element:M=x,b.createElement(Jb,{match:S,routeContext:{outlet:x,matches:U,isDataRoute:r!=null},children:M})};return r&&(S.route.ErrorBoundary||S.route.errorElement||w===0)?b.createElement(Ig,{location:r.location,revalidation:r.revalidation,component:O,error:q,children:J(),routeContext:{outlet:null,matches:U,isDataRoute:!0},onError:g}):J()},null)}function Od(n){return`${n} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Fb(n){let l=b.useContext(vi);return tt(l,Od(n)),l}function Wb(n){let l=b.useContext(zc);return tt(l,Od(n)),l}function Pb(n){let l=b.useContext(Gn);return tt(l,Od(n)),l}function $d(n){let l=Pb(n),s=l.matches[l.matches.length-1];return tt(s.route.id,`${n} can only be used on routes that contain a unique "id"`),s.route.id}function e0(){return $d("useRouteId")}function t0(){var r;let n=b.useContext(zd),l=Wb("useRouteError"),s=$d("useRouteError");return n!==void 0?n:(r=l.errors)==null?void 0:r[s]}function n0(){let{router:n}=Fb("useNavigate"),l=$d("useNavigate"),s=b.useRef(!1);return Vg(()=>{s.current=!0}),b.useCallback(async(d,f={})=>{hn(s.current,Zg),s.current&&(typeof d=="number"?await n.navigate(d):await n.navigate(d,{fromRouteId:l,...f}))},[n,l])}var Zp={};function Fg(n,l,s){!l&&!Zp[n]&&(Zp[n]=!0,hn(!1,s))}b.memo(a0);function a0({routes:n,manifest:l,future:s,state:r,isStatic:d,onError:f}){return Jg(n,void 0,{manifest:l,state:r,isStatic:d,onError:f})}function l0({to:n,replace:l,state:s,relative:r}){tt(bi()," may be used only in the context of a component.");let{static:d}=b.useContext(Pt);hn(!d," 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}=b.useContext(Gn),{pathname:h}=Tn(),_=Md(),p=Rc(n,Rd(f),h,r==="path"),g=JSON.stringify(p);return b.useEffect(()=>{_(JSON.parse(g),{replace:l,state:s,relative:r})},[_,g,r,l,s]),null}function hd(n){tt(!1,"A is only ever to be used as the child of element, never rendered directly. Please wrap your in a .")}function i0({basename:n="/",children:l=null,location:s,navigationType:r="POP",navigator:d,static:f=!1,useTransitions:h}){tt(!bi(),"You cannot render a inside another . You should never have more than one in your app.");let _=n.replace(/^\/*/,"/"),p=b.useMemo(()=>({basename:_,navigator:d,static:f,useTransitions:h,future:{}}),[_,d,f,h]);typeof s=="string"&&(s=xl(s));let{pathname:g="/",search:x="",hash:S="",state:w=null,key:q="default",mask:T}=s,O=b.useMemo(()=>{let A=da(g,_);return A==null?null:{location:{pathname:A,search:x,hash:S,state:w,key:q,mask:T},navigationType:r}},[_,g,x,S,w,q,r,T]);return hn(O!=null,` is not able to match the URL "${g}${x}${S}" because it does not start with the basename, so the won't render anything.`),O==null?null:b.createElement(Pt.Provider,{value:p},b.createElement(Bs.Provider,{children:l,value:O}))}function s0({children:n,location:l}){return Kb(pd(n),l)}function pd(n,l=[]){let s=[];return b.Children.forEach(n,(r,d)=>{if(!b.isValidElement(r))return;let f=[...l,d];if(r.type===b.Fragment){s.push.apply(s,pd(r.props.children,f));return}tt(r.type===hd,`[${typeof r.type=="string"?r.type:r.type.name}] is not a component. All component children of must be a or `),tt(!r.props.index||!r.props.children,"An index route cannot have child routes.");let h={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&&(h.children=pd(r.props.children,f)),s.push(h)}),s}var gc="get",_c="application/x-www-form-urlencoded";function Mc(n){return typeof HTMLElement<"u"&&n instanceof HTMLElement}function r0(n){return Mc(n)&&n.tagName.toLowerCase()==="button"}function c0(n){return Mc(n)&&n.tagName.toLowerCase()==="form"}function u0(n){return Mc(n)&&n.tagName.toLowerCase()==="input"}function o0(n){return!!(n.metaKey||n.altKey||n.ctrlKey||n.shiftKey)}function d0(n,l){return n.button===0&&(!l||l==="_self")&&!o0(n)}var cc=null;function f0(){if(cc===null)try{new FormData(document.createElement("form"),0),cc=!1}catch{cc=!0}return cc}var m0=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function td(n){return n!=null&&!m0.has(n)?(hn(!1,`"${n}" is not a valid \`encType\` for \`
\`/\`\` and will default to "${_c}"`),null):n}function h0(n,l){let s,r,d,f,h;if(c0(n)){let _=n.getAttribute("action");r=_?da(_,l):null,s=n.getAttribute("method")||gc,d=td(n.getAttribute("enctype"))||_c,f=new FormData(n)}else if(r0(n)||u0(n)&&(n.type==="submit"||n.type==="image")){let _=n.form;if(_==null)throw new Error('Cannot submit a