Files
qiming/qimingclaw/crates/agent-electron-client/embedded/sgrobot-digital/src/index.css
2026-06-09 18:33:01 +08:00

3197 lines
113 KiB
CSS

@import "tailwindcss";
@layer base {
*, ::before, ::after { box-sizing: border-box; }
body {
margin: 0;
background: var(--pc-bg-base);
color: var(--pc-text-primary);
font-family: var(--font-sans), ui-sans-serif, system-ui, sans-serif;
}
}
@layer components {
.btn-electric {
display: inline-flex;
align-items: center;
justify-content: center;
border: 1px solid var(--pc-accent-dim);
border-radius: 9999px;
background: linear-gradient(135deg, var(--pc-accent-glow), transparent);
color: var(--pc-accent-light);
font-weight: 600;
cursor: pointer;
transition: all 0.2s;
}
.btn-electric:hover {
background: var(--pc-accent);
color: #fff;
border-color: var(--pc-accent);
}
.btn-electric:disabled {
opacity: 0.4;
cursor: not-allowed;
}
.input-electric {
border: 1px solid var(--pc-border);
border-radius: 12px;
background: var(--pc-bg-elevated);
color: var(--pc-text-primary);
outline: none;
transition: border-color 0.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);
border-radius: 16px;
background: var(--pc-bg-surface);
}
.surface-panel {
background: var(--pc-bg-elevated);
border: 1px solid var(--pc-border);
border-radius: 24px;
}
.btn-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 36px;
height: 36px;
border-radius: 50%;
background: transparent;
color: var(--pc-text-muted);
border: none;
cursor: pointer;
transition: all 0.15s;
}
.btn-icon:hover {
background: var(--pc-hover);
color: var(--pc-text-primary);
}
.table-electric {
width: 100%;
border-collapse: collapse;
}
.table-electric th {
text-align: left;
padding: 10px 16px;
font-size: 10px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.05em;
color: var(--pc-text-muted);
border-bottom: 1px solid var(--pc-border);
}
.table-electric td {
padding: 12px 16px;
font-size: 13px;
border-bottom: 1px solid var(--pc-border);
}
.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: 0.75em;
}
.chat-markdown ul,
.chat-markdown ol {
margin: 0.5em 0;
padding-left: 1.25em;
}
.chat-markdown pre {
margin: 0.5em 0 0;
}
.chat-markdown code {
white-space: break-spaces;
}
}
@layer utilities {
.text-gradient-blue {
background: linear-gradient(135deg, var(--pc-accent), #818cf8);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.animate-fade-in { animation: fadeIn 0.3s ease-out; }
.animate-fade-in-scale { animation: fadeInScale 0.3s ease-out; }
.animate-slide-in-up { animation: slideInUp 0.4s ease-out; }
.animate-float { animation: float 3s ease-in-out infinite; }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes fadeInScale { from { opacity: 0; transform: scale(0.95); } to { opacity: 1; transform: scale(1); } }
@keyframes slideInUp { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@keyframes float {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-6px); }
}
}
/* ===== Digital Employee Visual Tokens ===== */
: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: rgba(32, 191, 107, 0.14);
--de-warning: #faad14;
--de-warning-text: #8c5b04;
--de-warning-bg: rgba(255, 184, 61, 0.18);
--de-danger: #d94a4a;
--de-danger-text: #a33b3b;
--de-danger-bg: rgba(244, 96, 96, 0.16);
/* -- 玻璃拟态 -- */
--de-glass-bg: rgba(230, 242, 255, 0.65);
--de-glass-border: rgba(79, 172, 254, 0.22);
--de-glass-border-light: rgba(79, 172, 254, 0.12);
--de-glass-border-lighter: rgba(79, 172, 254, 0.08);
--de-glass-blur: blur(20px) saturate(1.2);
/* -- 半透明工具 -- */
--de-overlay-bg: rgba(79, 172, 254, 0.06);
--de-overlay-md: rgba(79, 172, 254, 0.12);
--de-overlay-hover: rgba(79, 172, 254, 0.18);
--de-overlay-active: rgba(79, 172, 254, 0.22);
/* -- 按钮渐变 -- */
--de-btn-gradient: linear-gradient(135deg, #2ca8ff, #00c6ff);
--de-btn-shadow: 0 10px 18px rgba(44, 168, 255, 0.22);
--de-btn-gradient-blue: linear-gradient(135deg, rgba(89, 173, 245, 0.92), rgba(58, 214, 243, 0.9));
--de-btn-gradient-active: linear-gradient(135deg, rgba(79, 172, 254, 0.9), rgba(0, 242, 254, 0.85));
/* -- 页面背景 -- */
--de-page-bg: linear-gradient(180deg, #d6e8f7, #e2f0fb 25%, #d8eaf8 50%, #cce2f5 75%, #c0d8f0);
--de-page-grid: rgba(79, 172, 254, 0.04);
/* -- 字体 -- */
--de-font-family: Microsoft YaHei, PingFang SC, Helvetica Neue, Arial, sans-serif;
--de-font-mono: Fira Code, Consolas, monospace;
}
/* ===== Digital Employee Layout ===== */
.de-page {
min-height: 100vh;
background: var(--de-page-bg);
font-family: var(--de-font-family);
position: relative;
}
.de-page::before {
content: "";
position: fixed;
inset: 0;
background-image:
linear-gradient(var(--de-page-grid) 1px, transparent 0),
linear-gradient(90deg, var(--de-page-grid) 1px, transparent 0);
background-size: 40px 40px;
pointer-events: none;
z-index: 0;
}
.de-page::after {
content: "";
position: fixed;
left: 0; right: 0; bottom: 0;
height: 40%;
background:
radial-gradient(ellipse at 20% 100%, rgba(79,172,254,0.08) 0, transparent 50%),
radial-gradient(ellipse at 80% 100%, rgba(0,242,254,0.06) 0, transparent 50%),
radial-gradient(ellipse at 50% 100%, rgba(79,172,254,0.05) 0, transparent 40%);
pointer-events: none;
z-index: 0;
}
.de-page-content {
position: relative;
z-index: 1;
}
/* ===== GlassCard ===== */
.de-card {
background: var(--de-glass-bg);
border-radius: 12px;
border: 1px solid var(--de-glass-border);
box-shadow:
0 4px 24px rgba(30, 144, 255, 0.06),
inset 0 0 0 1px hsla(0, 0%, 100%, 0.5),
inset 0 1px 0 hsla(0, 0%, 100%, 0.6),
inset 0 -1px 0 rgba(79, 172, 254, 0.1),
0 0 0 1.5px rgba(79, 172, 254, 0.12);
backdrop-filter: var(--de-glass-blur);
overflow: hidden;
position: relative;
}
.de-card::before {
content: "";
position: absolute;
top: 0; left: 0; right: 0;
height: 2px;
background: linear-gradient(
90deg,
transparent 5%,
rgba(79, 172, 254, 0.35) 25%,
rgba(0, 242, 254, 0.25) 50%,
rgba(79, 172, 254, 0.35) 75%,
transparent 95%
);
}
.de-card::after {
content: "";
position: absolute;
top: 2px; left: 2px; right: 2px; bottom: 2px;
border-radius: 10px;
background: linear-gradient(180deg, hsla(0, 0%, 100%, 0.25), transparent 40%);
pointer-events: none;
z-index: 0;
}
.de-card-body {
padding: 14px 16px;
position: relative;
z-index: 1;
}
/* ===== CardTitleBar ===== */
.de-card-title-bar {
background: linear-gradient(90deg, rgba(156,206,246,0.9), rgba(184,222,251,0.84) 46%, rgba(215,238,255,0.76));
border-bottom: 1px solid rgba(79,172,254,0.18);
box-shadow:
inset 0 1px 0 hsla(0,0%,100%,0.68),
inset 0 -1px 0 rgba(79,172,254,0.08);
padding: 10px 18px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
position: relative;
z-index: 1;
}
.de-card-title-bar::before {
content: "";
display: inline-block;
width: 3px;
height: 12px;
background: linear-gradient(180deg, rgba(121,191,247,0.88), rgba(170,224,255,0.78));
border-radius: 2px;
margin-right: 4px;
box-shadow: 0 0 8px rgba(155,214,255,0.16);
}
.de-card-title-bar::after {
content: "";
position: absolute;
top: 8px; right: 14px;
width: 32px; height: 10px;
background: linear-gradient(135deg, rgba(168,216,255,0.3), rgba(208,238,255,0.12));
border-radius: 5px;
box-shadow: inset 0 1px 0 hsla(0,0%,100%,0.32);
}
.de-card-title-bar-text {
min-width: 0;
flex: 1;
color: #1e3a5c;
font-size: 16px;
font-weight: 700;
letter-spacing: 1.5px;
}
/* ===== Status Badge (DE 风格) ===== */
.de-badge {
display: inline-flex; align-items: center; justify-content: center;
min-height: 24px; padding: 0 10px;
border-radius: 999px; font-size: 12px; font-weight: 700;
}
.de-badge-info { color: #22659a; background: rgba(79,172,254,0.12); }
.de-badge-success { color: #0f7a44; background: rgba(32,191,107,0.14); }
.de-badge-warning { color: #8c5b04; background: rgba(255,184,61,0.18); }
.de-badge-danger { color: #a33b3b; background: rgba(244,96,96,0.16); }
/* ===== NavSkewButton ===== */
.de-nav-btn {
padding: 6px 26px; font-size: 13px;
color: hsla(0,0%,100%,0.75); cursor: pointer;
transition: all 0.25s;
transform: skewX(-15deg);
background: hsla(0,0%,100%,0.06);
border: 1px solid hsla(0,0%,100%,0.08);
position: relative;
}
.de-nav-btn span { transform: skewX(15deg); display: inline-block; }
.de-nav-btn.active {
background: hsla(0,0%,100%,0.95); color: #1e88e5; font-weight: 700;
border-color: hsla(0,0%,100%,0.6);
box-shadow: 0 2px 10px rgba(0,0,0,0.15);
}
.de-nav-btn:hover:not(.active) { background: hsla(0,0%,100%,0.18); color: #fff; }
/* Responsive */
@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 { font-size: 15px; letter-spacing: 1px; }
.de-nav-btn { padding: 5px 16px; font-size: 12px; }
}
/* ===== Gem (动画宝石) ===== */
.de-gem {
position: absolute;
width: 16px; height: 16px;
background: radial-gradient(circle, #4facfe 0, rgba(79,172,254,0.5) 100%);
transform: rotate(45deg);
box-shadow: 0 0 15px #4facfe, 0 0 30px rgba(79,172,254,0.6);
z-index: 8;
animation: de-gem-pulse 2s ease-in-out infinite;
}
@keyframes de-gem-pulse {
0%, 100% { opacity: 0.5; transform: rotate(45deg) scale(0.9); }
50% { opacity: 1; transform: rotate(45deg) scale(1.4); }
}
.de-gem-1 { top: 35%; left: 38%; animation-delay: 0s; }
.de-gem-2 { top: 54%; left: 32%; animation-delay: 0.6s; }
.de-gem-3 { top: 36%; right: 28%; animation-delay: 1.2s; }
@media (prefers-reduced-motion: reduce) {
.de-gem { animation: none; }
}
/* ===== Stage (3层椭圆舞台) ===== */
.de-stage {
position: relative;
width: 58%;
max-width: 360px;
height: 50px;
display: flex;
align-items: flex-end;
justify-content: center;
z-index: 1;
flex-shrink: 0;
}
.de-stage-layer {
position: absolute;
left: 50%;
transform: translateX(-50%);
border-radius: 50%;
}
.de-stage-layer-1 {
width: 100%; height: 42px; bottom: 0;
background: linear-gradient(180deg, #b3d9ff, #80bfff 25%, #4da6ff 50%, #39f 75%, #1a8cff);
box-shadow:
0 3px 15px rgba(26,140,255,0.35), 0 0 30px rgba(79,172,254,0.2),
inset 0 2px 8px hsla(0,0%,100%,0.5), inset 0 -2px 6px rgba(0,80,180,0.15);
z-index: 1;
}
.de-stage-layer-1::after {
content: "";
position: absolute; top: 2px; left: 3%; right: 3%; height: 3px;
background: linear-gradient(90deg, transparent, hsla(0,0%,100%,0.6) 20%, hsla(0,0%,100%,0.8) 50%, hsla(0,0%,100%,0.6) 80%, transparent);
border-radius: 50%; filter: blur(1px);
}
.de-stage-layer-2 {
width: 75%; height: 32px; bottom: 6px;
background: linear-gradient(180deg, #d4eaff, #a8d4ff 25%, #7ab8ff 50%, #4da6ff 75%, #39f);
box-shadow:
0 3px 12px rgba(51,153,255,0.3), 0 0 25px rgba(79,172,254,0.15),
inset 0 2px 6px hsla(0,0%,100%,0.6), inset 0 -2px 5px rgba(0,80,180,0.12);
z-index: 2;
}
.de-stage-layer-2::after {
content: "";
position: absolute; top: 2px; left: 4%; right: 4%; height: 2px;
background: linear-gradient(90deg, transparent, hsla(0,0%,100%,0.7) 25%, hsla(0,0%,100%,0.9) 50%, hsla(0,0%,100%,0.7) 75%, transparent);
border-radius: 50%; filter: blur(1px);
}
.de-stage-layer-3 {
width: 48%; height: 22px; bottom: 12px;
background: linear-gradient(180deg, #e8f4ff, #c8e4ff 25%, #a8d4ff 50%, #7ab8ff 75%, #4da6ff);
box-shadow:
0 2px 10px rgba(77,166,255,0.3), 0 0 30px rgba(79,172,254,0.25), 0 0 60px rgba(79,172,254,0.1),
inset 0 2px 8px hsla(0,0%,100%,0.7), inset 0 -2px 4px rgba(0,80,180,0.1);
z-index: 3;
}
.de-stage-layer-3::after {
content: "";
position: absolute; top: 1px; left: 5%; right: 5%; height: 2px;
background: linear-gradient(90deg, transparent, hsla(0,0%,100%,0.8) 30%, #fff 50%, hsla(0,0%,100%,0.8) 70%, transparent);
border-radius: 50%; filter: blur(1px);
}
.de-stage-glow {
position: absolute;
width: 140%; height: 55px; bottom: -8px; left: 50%;
transform: translateX(-50%);
background: radial-gradient(ellipse at center, rgba(79,172,254,0.25) 0, rgba(0,242,254,0.1) 35%, rgba(79,172,254,0.04) 60%, transparent 80%);
filter: blur(10px);
z-index: 0; pointer-events: none;
}
/* ===== Avatar3D ===== */
.de-avatar-container {
width: 100%; height: 100%; min-height: 0;
display: flex; flex-direction: column;
align-items: center; justify-content: center;
position: relative;
}
.de-avatar-glass-space {
position: absolute;
width: 84%; max-width: 560px;
height: 92%; max-height: 760px;
top: 0; left: 50%; transform: translateX(-50%);
pointer-events: none;
perspective: 1200px;
z-index: 3;
}
.de-avatar-roof {
position: absolute; top: 0; left: 50%; transform: translateX(-50%);
width: 68%; max-width: 440px; height: 16%; z-index: 6;
}
.de-avatar-roof-face {
position: absolute; inset: 0 0 15% 0;
background: linear-gradient(180deg, rgba(79,172,254,0.45), rgba(0,242,254,0.25) 45%, rgba(79,172,254,0.08));
clip-path: polygon(50% 0, 3% 100%, 97% 100%);
}
.de-avatar-roof-glow {
position: absolute; bottom: 12%; left: 2%; right: 2%; height: 2px;
background: linear-gradient(90deg, transparent, rgba(79,172,254,0.7) 10%, #00f2fe 50%, rgba(79,172,254,0.7) 90%, transparent);
box-shadow: 0 0 8px rgba(79,172,254,0.8), 0 0 20px rgba(0,242,254,0.4);
}
.de-avatar-glass-left {
top: 18%; left: 6%; width: 5%; bottom: 6%;
background: linear-gradient(90deg, rgba(79,172,254,0.15), transparent);
position: absolute; z-index: 2;
}
.de-avatar-glass-right {
top: 18%; right: 6%; width: 5%; bottom: 6%;
background: linear-gradient(270deg, rgba(0,242,254,0.15), transparent);
position: absolute; z-index: 2;
}
.de-avatar-img {
height: 56vh;
max-height: calc(100vh - 236px);
width: auto;
object-fit: contain;
filter: drop-shadow(0 10px 40px rgba(30,144,255,0.35));
position: relative;
z-index: 5;
flex-shrink: 0;
margin-bottom: -50px;
}
.de-avatar-state-label {
position: absolute;
top: 19%;
left: 50%;
z-index: 8;
transform: translateX(-50%);
min-height: 28px;
display: inline-flex;
align-items: center;
justify-content: center;
padding: 0 14px;
border-radius: 999px;
color: #0b4a6d;
font-size: 13px;
font-weight: 700;
background: rgba(241, 249, 255, 0.88);
border: 1px solid rgba(79,172,254,0.3);
box-shadow: 0 8px 18px rgba(30,144,255,0.12);
backdrop-filter: blur(10px);
}
/* ===== CommandDeck Layout ===== */
.de-dashboard-grid {
display: grid;
grid-template-columns: minmax(240px, 0.9fr) minmax(420px, 1.6fr) minmax(280px, 1fr);
gap: 14px;
min-height: 0;
align-items: stretch;
}
.de-dashboard-left,
.de-dashboard-center,
.de-dashboard-right {
display: flex; flex-direction: column;
min-height: 0; min-width: 0;
}
.de-dashboard-left { gap: 12px; overflow: hidden; }
.de-dashboard-center { align-items: center; justify-content: center; position: relative; padding-bottom: 56px; overflow: visible; }
.de-dashboard-right { overflow: hidden; }
/* Header */
.de-header {
height: 52px;
flex-shrink: 0;
background: var(--de-header-gradient);
box-shadow: 0 2px 12px rgba(30,144,255,0.3);
position: relative; z-index: 100;
}
.de-header::before {
content: none;
}
.de-header::after {
content: none;
}
.de-header-content {
height: 100%; display: flex; align-items: center;
justify-content: space-between;
padding: 0 36px; position: relative; z-index: 2;
}
.de-header-left { display: flex; align-items: center; gap: 14px; min-width: 300px; }
.de-header-accent-bar {
width: 5px; height: 30px;
background: hsla(0,0%,100%,0.9);
border-radius: 3px;
box-shadow: 0 0 8px hsla(0,0%,100%,0.6);
}
.de-header-title {
color: #fff; font-size: 24px; font-weight: 700;
letter-spacing: 3px;
text-shadow: 0 2px 6px rgba(0,0,0,0.2);
}
.de-header-center {
display: flex; gap: 4px;
position: absolute; left: 50%; transform: translateX(-50%);
max-width: 52%;
}
.de-header-right { display: flex; align-items: center; gap: 16px; min-width: 220px; justify-content: flex-end; }
.de-header-welcome { color: hsla(0,0%,100%,0.95); font-size: 13px; }
.de-header-icon {
width: 28px; height: 28px; border: none; border-radius: 999px;
display: inline-flex; align-items: center; justify-content: center;
color: #fff; background: rgba(255,255,255,0.12);
cursor: pointer; transition: background 0.18s ease, transform 0.18s ease;
}
.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;
right: 24px;
z-index: 3;
width: 38px;
height: 38px;
border: 0;
border-radius: 999px;
background: transparent;
cursor: pointer;
}
/* Mission mini cards */
.de-mission-list { display: flex; flex-direction: column; gap: 8px; }
.de-mission-card-mini {
display: flex; align-items: center; justify-content: space-between;
padding: 10px 14px; border-radius: 12px;
background: linear-gradient(180deg, rgba(244,250,255,0.92), rgba(235,246,255,0.86));
border: 1px solid var(--de-glass-border-light);
}
.de-mission-title { font-size: 14px; font-weight: 600; color: var(--de-text-primary); }
/* Approval items */
.de-approval-item {
display: flex; align-items: center; justify-content: space-between;
padding: 8px 0;
border-bottom: 1px solid var(--de-glass-border-lighter);
}
.de-approval-item:last-child { border-bottom: none; }
.de-approval-actions { display: flex; gap: 6px; }
.de-btn-approve, .de-btn-reject {
border: none; border-radius: 8px; padding: 4px 12px;
font-size: 12px; font-weight: 600; cursor: pointer;
}
.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); }
/* Stats row */
.de-stats-row {
display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px;
margin-top: 12px; padding-top: 12px;
border-top: 1px solid var(--de-glass-border-lighter);
}
.de-stat { text-align: center; }
.de-stat strong { display: block; font-size: 22px; color: var(--de-text-primary); }
.de-stat span { font-size: 11px; color: var(--de-text-muted); }
/* Empty + loading */
.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%;
animation: de-shimmer 1.5s infinite;
border-radius: 8px;
}
@keyframes de-shimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }
.de-btn-sm { padding: 4px 10px; font-size: 12px; }
.de-btn-sm svg { flex-shrink: 0; }
.de-btn-primary {
border: none; border-radius: 12px; padding: 11px 18px;
color: #fff; font-weight: 700; cursor: pointer;
background: var(--de-btn-gradient);
box-shadow: var(--de-btn-shadow);
}
.de-btn-secondary {
border: 1px solid rgba(79,172,254,0.24);
border-radius: 12px;
color: #22659a;
font-weight: 700;
cursor: pointer;
background: linear-gradient(180deg, rgba(248,252,255,0.96), rgba(229,243,255,0.88));
box-shadow: inset 0 1px 0 rgba(255,255,255,0.64);
}
.de-btn-secondary:hover:not(:disabled) {
border-color: rgba(44,168,255,0.42);
background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(214,237,255,0.94));
}
.de-btn-secondary:disabled,
.de-btn-primary:disabled {
opacity: 0.52;
cursor: not-allowed;
}
/* Responsive */
@media (max-width: 1679px) {
.de-header { height: 50px; }
.de-header-content { padding: 0 24px; }
.de-header-left { min-width: 240px; }
.de-header-title { font-size: 20px; letter-spacing: 2px; }
.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 { font-size: 18px; letter-spacing: 1px; }
}
@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; }
}
/* ===== MissionCenter ===== */
.de-mission-center-layout {
display: grid;
grid-template-columns: minmax(320px, 1fr) minmax(400px, 1.6fr);
gap: 16px; min-height: 0; height: 100%;
}
.de-mission-center-page {
padding: 14px 18px; height: 100%; min-height: 0; overflow: hidden;
}
.de-mc-list, .de-mc-detail { min-height: 0; display: flex; flex-direction: column; }
.de-mc-list > .de-card, .de-mc-detail > .de-card {
height: 100%; min-height: 0; display: flex; flex-direction: column;
}
.de-mc-list .de-card-body, .de-mc-detail .de-card-body {
flex: 1; min-height: 0; overflow: hidden; display: flex; flex-direction: column;
}
.de-mc-card-list { display: flex; flex-direction: column; gap: 8px; overflow-y: auto; min-height: 0; padding-right: 4px; }
.de-mission-empty-panel {
display: grid; gap: 10px; align-content: center; justify-items: center;
min-height: 220px; padding: 28px 18px; text-align: center;
border-radius: 14px; border: 1px dashed rgba(79,172,254,0.3);
background: rgba(255,255,255,0.46); color: var(--de-text-body);
}
.de-mission-empty-panel strong { color: var(--de-text-primary); font-size: 15px; }
.de-mission-empty-panel p { max-width: 520px; margin: 0; color: var(--de-text-muted); font-size: 13px; line-height: 1.65; }
.de-mission-empty-panel--detail { min-height: 100%; }
.de-mission-empty-actions { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px; }
.de-mission-focus-notice {
display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 8px;
margin-bottom: 10px; padding: 9px 11px; border-radius: 10px;
background: rgba(79,172,254,0.12); border: 1px solid rgba(79,172,254,0.24);
color: var(--de-text-primary); font-size: 12px;
}
.de-mission-focus-notice strong { color: #1769aa; white-space: nowrap; }
.de-mission-focus-notice span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 700; }
.de-mission-focus-notice code {
min-width: 0; max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
padding: 2px 6px; border-radius: 6px; background: rgba(255,255,255,0.7); color: var(--de-text-muted);
}
.de-date-filter-row {
display: flex; align-items: center; flex-wrap: wrap; gap: 8px;
margin-bottom: 10px; padding: 9px 10px; border-radius: 12px;
background: rgba(244,250,255,0.82); border: 1px solid rgba(79,172,254,0.14);
}
.de-date-filter-field {
display: inline-flex; align-items: center; gap: 8px;
min-width: 0; color: var(--de-text-muted); font-size: 12px; font-weight: 700;
}
.de-date-filter-field input {
height: 30px; min-width: 138px; border-radius: 999px;
border: 1px solid rgba(79,172,254,0.24);
background: rgba(255,255,255,0.86); color: var(--de-text-primary);
padding: 0 10px; font: inherit; font-size: 12px;
}
.de-date-filter-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.de-date-filter-summary {
margin-left: auto; color: var(--de-text-muted); font-size: 12px; font-weight: 700;
white-space: nowrap;
}
.de-mission-card {
width: 100%; text-align: left;
padding: 14px; border-radius: 14px;
background: linear-gradient(180deg, rgba(244,250,255,0.92), rgba(235,246,255,0.86));
border: 1px solid var(--de-glass-border-light);
box-shadow: 0 2px 10px rgba(30,144,255,0.04), inset 0 1px 0 hsla(0,0%,100%,0.5);
cursor: pointer; transition: border-color 0.18s ease, box-shadow 0.18s ease;
}
.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 {
border-color: #2d8cf0;
box-shadow: 0 0 0 2px rgba(45,140,240,0.22), 0 8px 24px rgba(29,67,109,0.12);
background: linear-gradient(180deg, rgba(240,248,255,0.98), rgba(226,242,255,0.96));
}
.de-mission-card-header { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 8px; }
.de-mission-card-title { font-size: 15px; font-weight: 600; color: var(--de-text-primary); }
.de-mission-card-badges { display: flex; align-items: center; gap: 6px; flex-shrink: 0; }
.de-mission-card-focus-chip {
border-radius: 999px; padding: 2px 7px;
background: rgba(45,140,240,0.14); border: 1px solid rgba(45,140,240,0.24);
color: #1769aa; font-size: 11px; font-weight: 800; white-space: nowrap;
}
.de-mission-card-desc { font-size: 13px; color: var(--de-text-body); line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin-bottom: 8px; }
.de-mission-card-meta { display: flex; gap: 12px; font-size: 12px; color: var(--de-text-muted); }
.de-mission-card-actions {
display: flex; align-items: center; justify-content: space-between; gap: 8px;
margin-top: 10px; padding-top: 9px; border-top: 1px solid var(--de-glass-border-light);
}
.de-mission-card-actions > .de-btn-restart,
.de-mission-card-actions > .de-btn-run {
flex-shrink: 0;
}
.de-mission-card-time {
min-width: 0; flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
font-size: 11px; color: var(--de-text-muted); font-weight: 600;
}
.de-btn-restart,
.de-btn-run {
border: none; border-radius: 999px; padding: 5px 12px;
font-size: 12px; font-weight: 700; cursor: pointer;
}
.de-btn-run {
background: var(--de-btn-gradient-active); color: #fff;
box-shadow: 0 2px 8px rgba(79,172,254,0.22);
}
.de-btn-restart {
background: rgba(79,172,254,0.12);
color: #1769aa;
border: 1px solid rgba(79,172,254,0.22);
}
.de-btn-restart:not(:disabled):hover {
background: rgba(79,172,254,0.2);
border-color: rgba(45,140,240,0.42);
}
.de-btn-restart:disabled,
.de-btn-run:disabled {
cursor: not-allowed; box-shadow: none;
background: rgba(142, 142, 147, 0.18); color: var(--de-text-muted);
border-color: transparent;
}
.de-filter-row { display: flex; gap: 6px; margin-bottom: 12px; flex-wrap: wrap; }
.de-filter-chip {
padding: 4px 12px; border-radius: 999px; border: 1px solid var(--de-glass-border-light);
background: var(--de-overlay-bg); color: var(--de-text-body);
font-size: 12px; cursor: pointer; transition: all 0.2s;
}
.de-filter-chip.active {
background: var(--de-btn-gradient-active);
color: #fff; border-color: transparent;
box-shadow: 0 2px 8px rgba(79,172,254,0.25);
}
/* FlowDetailPanel + Drawer */
.de-drawer {
position: relative; width: 100%; height: 100%;
display: grid; grid-template-rows: auto auto minmax(0, 1fr);
gap: 14px; padding: 18px; border-radius: 24px;
background: linear-gradient(180deg, hsla(0,0%,100%,0.96), rgba(232,244,255,0.98));
border: 1px solid rgba(79,172,254,0.2);
box-shadow: 0 24px 60px rgba(29,67,109,0.18), inset 0 1px 0 hsla(0,0%,100%,0.9);
backdrop-filter: blur(18px);
overflow-y: auto;
}
.de-drawer-head { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: start; }
.de-drawer-title-group h3 { font-size: 22px; color: var(--de-text-primary); margin: 0; }
.de-drawer-eyebrow { font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--de-primary); }
.de-drawer-status-line { display: flex; gap: 8px; align-items: center; }
.de-drawer-meta { font-size: 12px; color: var(--de-text-muted); }
.de-drawer-timeline { display: flex; flex-direction: column; gap: 12px; overflow-y: auto; min-height: 0; }
.de-detail-section {
padding: 12px; border-radius: 14px;
background: rgba(255,255,255,0.54);
border: 1px solid var(--de-glass-border-light);
}
.de-detail-section h4 {
margin: 0 0 10px; font-size: 13px; color: var(--de-text-primary);
}
.de-detail-section-head {
display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 10px;
}
.de-detail-section-head h4 { margin: 0; }
.de-detail-kv {
display: grid; grid-template-columns: 72px minmax(0, 1fr);
gap: 7px 10px; font-size: 12px;
}
.de-detail-kv span, .de-task-run-meta, .de-event-row time { color: var(--de-text-muted); }
.de-detail-kv strong {
min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
color: var(--de-text-primary); font-weight: 600;
}
.de-execution-chain {
border-color: rgba(0, 184, 148, 0.22);
background: linear-gradient(180deg, rgba(255,255,255,0.72), rgba(232,255,248,0.62));
}
.de-chain-plan-id {
min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
color: var(--de-text-muted); font-size: 11px;
}
.de-chain-list { display: flex; flex-direction: column; gap: 7px; }
.de-chain-row {
display: grid; grid-template-columns: 78px minmax(0, 1fr) 132px;
gap: 8px; align-items: start; padding: 8px 9px; border-radius: 10px;
background: rgba(255,255,255,0.68); border: 1px solid rgba(0,184,148,0.16);
font-size: 11px;
}
.de-chain-row strong { color: #087f5b; font-weight: 800; }
.de-chain-row span {
min-width: 0; color: var(--de-text-primary); line-height: 1.35;
overflow: visible; text-overflow: clip; white-space: normal; word-break: break-word;
}
.de-chain-row time { color: var(--de-text-muted); text-align: right; }
.de-chain-row--danger strong { color: var(--de-danger); }
.de-step-node { display: grid; grid-template-columns: 24px 1fr; gap: 10px; align-items: start; position: relative; padding-bottom: 16px; }
.de-step-dot { width: 12px; height: 12px; border-radius: 50%; margin-top: 4px; }
.de-step-dot--succeeded, .de-step-dot--completed { background: var(--de-success); box-shadow: 0 0 8px rgba(27,156,90,0.4); }
.de-step-dot--running { background: var(--de-primary); box-shadow: 0 0 8px rgba(79,172,254,0.6); animation: de-pulse-dot 1.5s ease-in-out infinite; }
.de-step-dot--failed { background: var(--de-danger); }
.de-step-dot--pending, .de-step-dot--queued { background: #94a3b8; }
@keyframes de-pulse-dot { 0%,100% { box-shadow: 0 0 4px rgba(79,172,254,0.3); } 50% { box-shadow: 0 0 12px rgba(79,172,254,0.8); } }
.de-step-line { position: absolute; top: 20px; left: 5px; width: 2px; height: calc(100% - 8px); background: rgba(79,172,254,0.15); }
.de-step-content { display: flex; flex-direction: column; gap: 4px; }
.de-step-content strong { font-size: 14px; color: var(--de-text-primary); }
.de-step-content span { font-size: 12px; color: var(--de-text-muted); }
.de-task-run-card {
margin-top: 6px; padding: 9px 10px; border-radius: 10px;
background: rgba(255,255,255,0.64); border: 1px solid var(--de-glass-border-light);
}
.de-task-run-head { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.de-task-run-head span {
min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
font-size: 12px; font-weight: 700; color: var(--de-text-primary);
}
.de-task-run-meta {
display: flex; flex-wrap: wrap; gap: 8px 12px; margin-top: 5px; font-size: 11px;
}
.de-event-list { display: flex; flex-direction: column; gap: 6px; }
.de-event-row {
display: grid; grid-template-columns: 74px minmax(0, 1fr) 132px;
gap: 8px; align-items: start; padding: 7px 8px; border-radius: 9px;
background: rgba(255,255,255,0.58); border: 1px solid var(--de-glass-border-light);
font-size: 11px;
}
.de-event-row strong { color: var(--de-primary); }
.de-event-row--danger strong { color: var(--de-danger); }
.de-event-row span {
min-width: 0; overflow: visible; text-overflow: clip; white-space: normal;
color: var(--de-text-primary); line-height: 1.35; word-break: break-word;
}
.de-event-row time { text-align: right; }
.de-session-message-list { display: flex; flex-direction: column; gap: 8px; }
.de-session-message {
padding: 8px 10px; border-radius: 10px;
background: rgba(255,255,255,0.6); border: 1px solid var(--de-glass-border-light);
}
.de-session-message--user {
background: rgba(79,172,254,0.1); border-color: rgba(79,172,254,0.18);
}
.de-session-message-role {
margin-bottom: 4px; font-size: 11px; font-weight: 700; color: var(--de-primary);
}
.de-session-message p {
margin: 0; color: var(--de-text-primary); font-size: 12px; line-height: 1.55;
white-space: pre-wrap; word-break: break-word;
}
/* SkillLibrary */
.de-skill-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 10px; }
.de-skill-card { padding: 14px; border-radius: 14px; background: linear-gradient(180deg, rgba(244,250,255,0.92), rgba(235,246,255,0.86)); border: 1px solid var(--de-glass-border-light); display: flex; flex-direction: column; gap: 8px; cursor: pointer; transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease; }
.de-skill-card:hover, .de-skill-card--selected { border-color: rgba(79,172,254,0.5); box-shadow: 0 0 0 2px rgba(79,172,254,0.14); transform: translateY(-1px); }
.de-skill-card-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.de-skill-name { font-size: 15px; font-weight: 600; color: var(--de-text-primary); }
.de-skill-desc { font-size: 13px; color: var(--de-text-body); line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; flex: 1; }
.de-skill-meta-row { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; min-height: 24px; }
.de-skill-meta-chip { display: inline-flex; align-items: center; max-width: 160px; min-height: 22px; padding: 0 8px; border-radius: 999px; border: 1px solid rgba(79,172,254,0.14); background: rgba(79,172,254,0.08); color: #41627f; font-size: 11px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.de-skill-recent { margin: 0; font-size: 12px; color: var(--de-text-muted); line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.de-skill-card-foot { display: flex; align-items: center; justify-content: space-between; }
.de-skill-version { font-size: 11px; color: var(--de-text-muted); }
.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 { display: flex; flex-direction: column; gap: 10px; margin-bottom: 14px; }
.de-input {
height: 40px; padding: 0 14px; border-radius: 12px;
border: 1px solid rgba(79,172,254,0.18);
background: hsla(0,0%,100%,0.88); color: var(--de-text-primary);
font-size: 14px; font-family: var(--de-font-family);
}
.de-input:focus { outline: none; border-color: var(--de-primary); box-shadow: 0 0 0 3px rgba(79,172,254,0.15); }
.de-capability-badge { font-size: 10px; font-weight: 700; padding: 2px 8px; border-radius: 999px; letter-spacing: 0.04em; }
.de-capability-core { background: rgba(79,172,254,0.12); color: #22659a; }
.de-capability-standard { background: rgba(32,191,107,0.12); color: #0f7a44; }
.de-capability-specialized { background: rgba(124,58,237,0.10); color: #6d28d9; }
.de-capability-experimental { background: rgba(245,158,11,0.12); color: #92400e; }
/* DailyReport */
.de-journal-list { display: flex; flex-direction: column; gap: 6px; }
.de-journal-entry { display: grid; grid-template-columns: 60px 80px 1fr; gap: 10px; align-items: baseline; padding: 10px 12px; border-radius: 10px; border: 1px solid var(--de-glass-border-lighter); font-size: 13px; }
.de-journal-time { color: var(--de-text-muted); white-space: nowrap; }
.de-journal-kind { font-weight: 700; font-size: 11px; text-transform: uppercase; }
.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 { font-size: 12px; color: var(--de-text-muted); }
/* OpsSettings */
.de-settings-section { margin-bottom: 24px; }
.de-settings-heading { font-size: 16px; font-weight: 700; color: var(--de-text-heading); margin-bottom: 4px; }
.de-settings-desc { font-size: 13px; color: var(--de-text-muted); margin-bottom: 14px; }
.de-role-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; }
.de-role-card { padding: 16px; border-radius: 14px; text-align: center; cursor: pointer; background: linear-gradient(180deg, rgba(244,250,255,0.92), rgba(235,246,255,0.86)); border: 1px solid var(--de-glass-border-light); transition: all 0.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 rgba(79,172,254,0.2); }
.de-role-label { display: block; font-size: 15px; font-weight: 600; color: var(--de-text-primary); }
.de-role-density { display: block; font-size: 11px; color: var(--de-text-muted); margin-top: 4px; }
.de-saved-hint { font-size: 12px; color: var(--de-success-text); margin-top: 8px; }
.de-btn-approve:disabled, .de-btn-reject:disabled { opacity: 0.45; cursor: not-allowed; }
@media (max-width: 1023px) {
.de-mission-center-layout { grid-template-columns: 1fr; }
}
/* ===== Digital Employee Shell (popup window) ===== */
.de-shell {
height: 100vh;
min-height: 0;
background: var(--de-page-bg);
font-family: var(--de-font-family);
display: flex; flex-direction: column;
position: relative;
overflow: hidden;
}
.de-shell::before {
content: "";
position: fixed; inset: 0;
background-image:
linear-gradient(var(--de-page-grid) 1px, transparent 0),
linear-gradient(90deg, var(--de-page-grid) 1px, transparent 0);
background-size: 40px 40px;
pointer-events: none; z-index: 0;
}
.de-shell-header {
height: 56px; flex-shrink: 0;
background: var(--de-header-gradient);
box-shadow: 0 2px 12px rgba(30,144,255,0.3);
position: relative; z-index: 100;
}
.de-shell-header-content {
height: 100%; display: flex; align-items: center;
justify-content: space-between;
padding: 0 24px; position: relative; z-index: 2;
}
.de-shell-header-left { display: flex; align-items: center; gap: 12px; }
.de-shell-title {
color: #fff; font-size: 18px; font-weight: 700;
letter-spacing: 1.5px;
text-shadow: 0 2px 6px rgba(0,0,0,0.2);
}
.de-shell-header-right { display: flex; align-items: center; gap: 12px; }
/* ===== CommandDeck Full Dashboard (1:1 replica) ===== */
.de-dashboard {
width: 100%; height: 100%;
background: var(--de-page-bg);
position: relative; overflow: hidden;
}
/* Connection layer */
.de-connection-layer {
position: absolute; inset: 0;
pointer-events: none; z-index: 0; overflow: hidden;
}
.de-connection-svg {
position: absolute; inset: 0;
width: 100%; height: 100%;
}
/* Dashboard content grid */
.de-dashboard-content {
flex: 1; display: grid;
grid-template-columns: minmax(300px, 0.86fr) minmax(420px, 1.08fr) minmax(280px, 0.78fr);
padding: 8px 18px 10px; gap: 12px;
min-height: 0; position: relative; z-index: 1;
align-items: stretch; overflow: hidden;
}
.de-dashboard-left,
.de-dashboard-center,
.de-dashboard-right {
display: flex; flex-direction: column;
min-height: 0; min-width: 0;
position: relative; z-index: 2;
}
.de-dashboard-left { gap: 12px; overflow: hidden; }
.de-dashboard-center { align-items: center; justify-content: center; position: relative; padding: 4px 0 76px; overflow: visible; }
.de-dashboard-right { overflow: hidden; }
/* Right panels container */
.de-right-panels {
height: 100%;
display: grid;
grid-template-rows: minmax(0, 1fr) minmax(178px, 0.34fr);
gap: 8px; overflow: hidden;
}
/* User Info */
.de-info-grid {
display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px;
padding: 10px 14px;
background: linear-gradient(135deg, rgba(79,172,254,0.06), rgba(0,242,254,0.03));
border-radius: 10px; border: 1px solid rgba(79,172,254,0.1);
}
.de-info-item { display: grid; gap: 6px; min-width: 0; padding: 6px 0; }
.de-info-item label { color: #2d5a8a; font-weight: 700; font-size: 14px; }
.de-info-item span { color: #1e3a5c; font-size: 15px; line-height: 1.5; word-break: break-all; }
.de-status-working { color: #0f7a44 !important; font-weight: 800; }
.de-status-resting { color: #8c5b04 !important; font-weight: 800; }
/* Task Template Manager */
.de-template-manager-card { flex: 1; display: flex; flex-direction: column; min-height: 0; }
.de-template-manager-body { flex: 1; display: flex; flex-direction: column; min-height: 0; overflow: hidden; }
.de-template-overview {
display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0;
margin-bottom: 12px; border-radius: 16px; overflow: hidden;
border: 1px solid rgba(79,172,254,0.14);
background: linear-gradient(180deg, rgba(246,251,255,0.94), rgba(231,242,253,0.9));
box-shadow: inset 0 1px 0 hsla(0,0%,100%,0.55), 0 2px 8px rgba(30,144,255,0.04);
}
.de-template-overview-item {
border: none; text-align: left; cursor: pointer;
background: transparent;
position: relative; display: flex; flex-direction: column;
justify-content: center; gap: 6px;
min-height: 74px; padding: 10px 16px 14px;
}
.de-template-overview-item.active {
background: linear-gradient(180deg, rgba(224,243,255,0.98), rgba(204,233,255,0.94));
box-shadow: inset 0 0 0 2px rgba(45,140,240,0.16);
}
.de-template-overview-item + .de-template-overview-item { border-left: 1px solid rgba(79,172,254,0.12); }
.de-template-overview-item::after {
content: ""; position: absolute; left: 16px; right: 16px; bottom: 0;
height: 3px; border-radius: 999px; opacity: 0.92;
}
.de-template-overview-label { font-size: 12px; color: #6a8198; }
.de-template-overview-value { font-size: 34px; font-weight: 700; line-height: 1; color: #1e3a5c; }
.de-template-overview-item--total .de-template-overview-value { color: #0c4a6e; }
.de-template-overview-item--total::after { background: linear-gradient(90deg, rgba(59,130,246,0.7), rgba(125,211,252,0.5)); }
.de-template-overview-item--scheduled .de-template-overview-value { color: #8c5b04; }
.de-template-overview-item--scheduled::after { background: linear-gradient(90deg, rgba(255,184,61,0.86), rgba(255,210,112,0.5)); }
.de-template-overview-item--runnable .de-template-overview-value { color: #0369a1; }
.de-template-overview-item--runnable::after { background: linear-gradient(90deg, rgba(34,211,238,0.78), rgba(59,130,246,0.46)); }
.de-template-list-scroll { display: flex; flex-direction: column; gap: 8px; overflow-y: auto; padding-right: 4px; min-height: 0; flex: 1; }
.de-template-card-row {
display: flex; min-height: 116px; padding: 10px 12px; border-radius: 12px;
background: linear-gradient(180deg, rgba(244,250,255,0.92), rgba(235,246,255,0.86));
border: 1px solid rgba(79,172,254,0.12);
box-shadow: 0 2px 10px rgba(30,144,255,0.04), inset 0 1px 0 hsla(0,0%,100%,0.5);
cursor: pointer; transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}
.de-template-card-row:hover { border-color: rgba(79,172,254,0.48); box-shadow: 0 0 0 2px rgba(79,172,254,0.12); transform: translateY(-1px); }
.de-template-card-main { flex: 1; min-width: 0; display: grid; gap: 7px; }
.de-template-card-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-width: 0; }
.de-template-card-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 15px; font-weight: 700; color: #214566; line-height: 1.2; }
.de-template-card-desc { margin: 0; color: #58728e; font-size: 12px; line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.de-plan-progress-bar { height: 7px; overflow: hidden; border-radius: 999px; background: rgba(145,181,210,0.22); }
.de-plan-progress-bar span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, rgba(34,211,238,0.86), rgba(59,130,246,0.82)); }
.de-template-card-meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-width: 0; color: #5b7590; font-size: 11px; }
.de-template-card-meta span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.de-template-card-actions { display: flex; gap: 8px; justify-content: flex-end; }
.de-person-card { cursor: default; transition: border-color 0.18s ease, box-shadow 0.18s ease; }
.de-person-card:hover { border-color: rgba(79,172,254,0.36); box-shadow: 0 0 0 2px rgba(79,172,254,0.1); }
.de-workday-toolbar {
display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 10px;
margin-bottom: 10px;
}
.de-workday-toolbar label { display: flex; align-items: center; gap: 8px; font-size: 11px; color: #5b7590; }
.de-workday-toolbar label span { white-space: nowrap; font-weight: 800; }
.de-workday-toolbar input {
height: 32px; min-width: 0; padding: 0 10px; border-radius: 10px;
border: 1px solid rgba(79,172,254,0.18); color: #16324e;
background: rgba(247,251,255,0.96);
}
.de-management-sync-strip {
display: flex; align-items: center; gap: 8px; min-height: 34px;
margin: -2px 0 10px; padding: 7px 10px; border-radius: 12px;
font-size: 12px; line-height: 1.35; color: #315576;
border: 1px solid rgba(79,172,254,0.14); background: rgba(79,172,254,0.07);
}
.de-management-sync-strip > span:last-child {
min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.de-management-sync-strip--success {
color: #176a3a; border-color: rgba(27,156,90,0.2); background: rgba(27,156,90,0.08);
}
.de-management-sync-strip--warning {
color: #7a5509; border-color: rgba(245,173,45,0.22); background: rgba(245,173,45,0.1);
}
.de-management-sync-strip--danger {
color: #ad3434; border-color: rgba(224,72,72,0.2); background: rgba(224,72,72,0.08);
}
.de-management-sync-failures {
display: grid; gap: 6px; margin: -4px 0 10px;
}
.de-management-sync-failure {
width: 100%; font-family: inherit; text-align: left; cursor: pointer;
display: grid; grid-template-columns: 56px 54px minmax(54px, 0.7fr) minmax(0, 1.6fr);
align-items: center; gap: 8px; min-height: 28px; padding: 6px 9px;
border-radius: 10px; border: 1px solid rgba(224,72,72,0.14);
background: rgba(224,72,72,0.055); color: #7b4450; font-size: 11px;
}
.de-management-sync-failure:hover {
border-color: rgba(224,72,72,0.28); box-shadow: 0 0 0 2px rgba(224,72,72,0.06);
}
.de-management-sync-failure span,
.de-management-sync-failure em,
.de-management-sync-failure small {
min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.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: rgba(32,191,107,0.42);
box-shadow: inset 4px 0 0 rgba(32,191,107,0.64), 0 0 0 2px rgba(32,191,107,0.08);
}
.de-duty-card--running {
border-color: rgba(255,184,61,0.44);
box-shadow: inset 4px 0 0 rgba(255,184,61,0.72), 0 0 0 2px rgba(255,184,61,0.1);
}
.de-duty-card--disabled {
cursor: pointer; opacity: 0.7;
background: linear-gradient(180deg, rgba(246,248,250,0.92), rgba(236,241,245,0.86));
filter: grayscale(0.28);
}
.de-duty-card-foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.de-duty-card-actions {
min-width: 0;
display: flex;
align-items: center;
justify-content: flex-end;
gap: 6px;
flex-wrap: wrap;
}
.de-duty-card-actions .de-btn-sm {
min-height: 26px;
padding: 4px 9px;
white-space: nowrap;
}
.de-duty-selected-mark {
display: inline-flex; align-items: center; justify-content: center;
min-width: 42px; height: 24px; border-radius: 999px; font-size: 11px; font-weight: 700;
color: #60758a; background: rgba(148,163,184,0.12);
}
.de-duty-selected-mark.active { color: #0f7a44; background: rgba(32,191,107,0.14); }
.de-task-date-context {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 6px;
margin-top: 8px;
min-width: 0;
}
.de-template-manager-body > .de-task-date-context {
margin: -2px 0 8px;
padding: 7px 8px;
border-radius: 11px;
background: rgba(244,250,255,0.76);
border: 1px solid rgba(79,172,254,0.1);
}
.de-task-date-context span {
display: inline-flex;
align-items: center;
min-height: 22px;
padding: 0 8px;
border-radius: 999px;
color: #0c5a85;
font-size: 11px;
font-weight: 800;
background: rgba(79,172,254,0.12);
}
.de-task-date-context em {
flex: 1;
min-width: 0;
color: #58728e;
font-size: 11px;
font-style: normal;
line-height: 1.35;
}
.de-task-date-context .de-btn-sm {
min-height: 26px;
padding: 0 9px;
border-radius: 9px;
}
.de-task-manager-preview {
flex: 1;
min-height: 0;
display: grid;
gap: 8px;
align-content: start;
padding: 10px;
border-radius: 14px;
background: rgba(247,251,255,0.82);
border: 1px solid rgba(79,172,254,0.12);
overflow: hidden;
}
.de-task-manager-preview-scroll {
overflow-y: auto;
overscroll-behavior: contain;
scrollbar-gutter: stable;
}
.de-task-manager-preview-head {
position: sticky;
top: 0;
z-index: 1;
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
min-height: 28px;
padding: 0 2px 6px;
color: #5b7590;
font-size: 11px;
background: rgba(247,251,255,0.96);
}
.de-task-manager-preview-head strong {
color: #143450;
font-size: 12px;
}
.de-task-manager-preview-row {
display: grid;
gap: 4px;
min-width: 0;
padding: 9px 10px;
border-radius: 11px;
border: 1px solid rgba(79,172,254,0.12);
background: rgba(255,255,255,0.78);
color: #173550;
text-align: left;
font: inherit;
}
.de-task-manager-preview-row.is-selected {
border-color: rgba(32,191,107,0.36);
box-shadow: inset 3px 0 0 rgba(32,191,107,0.58);
}
.de-template-task-main {
min-width: 0;
display: grid;
gap: 4px;
padding: 0;
border: 0;
background: transparent;
color: inherit;
text-align: left;
font: inherit;
cursor: pointer;
}
.de-template-task-main:hover strong { color: #0877c7; }
.de-template-task-main strong,
.de-template-task-main span {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.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 {
display: flex;
align-items: center;
justify-content: flex-end;
gap: 6px;
}
.de-template-item-actions .de-btn-sm,
.de-duty-card-actions .de-btn-sm {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 4px;
}
.de-task-manager-modal-overlay {
position: fixed;
inset: 0;
z-index: 260;
display: flex;
align-items: center;
justify-content: center;
padding: 26px;
background: rgba(13, 36, 55, 0.24);
backdrop-filter: blur(6px);
}
.de-plan-action-overlay { z-index: 320; }
.de-task-manager-modal {
width: min(1040px, calc(100vw - 56px));
max-height: min(760px, calc(100vh - 54px));
display: grid;
grid-template-rows: auto minmax(0, 1fr);
gap: 16px;
padding: 18px;
border-radius: 20px;
background: linear-gradient(180deg, rgba(252,254,255,0.96), rgba(231,243,255,0.94));
border: 1px solid rgba(79,172,254,0.2);
box-shadow: 0 24px 70px rgba(21, 55, 84, 0.24), inset 0 1px 0 rgba(255,255,255,0.6);
}
.de-task-manager-modal-head {
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
align-items: start;
gap: 14px;
}
.de-task-manager-modal-head h3 { margin: 2px 0 4px; color: #12344f; font-size: 22px; }
.de-task-manager-modal-head p { margin: 0; color: #58728e; font-size: 13px; line-height: 1.55; }
.de-workday-guide-modal {
width: min(1120px, calc(100vw - 56px));
grid-template-rows: auto auto minmax(0, 1fr);
}
.de-workday-guide-head h3 { font-size: 24px; }
.de-workday-guide-steps {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 10px;
}
.de-workday-guide-step {
min-width: 0;
display: grid;
grid-template-columns: auto minmax(0, 1fr);
gap: 4px 8px;
align-items: start;
padding: 10px 11px;
border-radius: 14px;
background: rgba(255,255,255,0.74);
border: 1px solid rgba(79,172,254,0.14);
}
.de-workday-guide-step span {
grid-row: span 2;
width: 24px;
height: 24px;
display: inline-flex;
align-items: center;
justify-content: center;
border-radius: 999px;
color: #fff;
font-size: 12px;
font-weight: 800;
background: linear-gradient(135deg, #1e90ff, #20bf6b);
}
.de-workday-guide-step strong {
min-width: 0;
color: #143450;
font-size: 13px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.de-workday-guide-step p {
min-width: 0;
margin: 0;
color: #5b7590;
font-size: 11px;
line-height: 1.38;
}
.de-workday-guide-body {
min-height: 0;
display: grid;
grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.72fr);
gap: 14px;
}
.de-workday-guide-column {
grid-template-rows: auto minmax(0, 1fr);
}
.de-workday-guide-duty-list {
min-height: 0;
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 8px;
overflow-y: auto;
padding-right: 4px;
}
.de-workday-guide-duty-list .de-duty-card {
min-height: 116px;
display: grid;
grid-template-columns: 78px minmax(0, 1fr);
gap: 9px;
}
.de-duty-card--guide .de-template-card-desc {
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
}
.de-workday-guide-side {
min-height: 0;
display: grid;
align-content: start;
gap: 10px;
padding: 12px;
border-radius: 16px;
background: rgba(247,251,255,0.92);
border: 1px solid rgba(79,172,254,0.14);
overflow-y: auto;
}
.de-workday-guide-summary {
display: grid;
gap: 5px;
padding: 11px;
border-radius: 13px;
background: rgba(255,255,255,0.78);
border: 1px solid rgba(79,172,254,0.12);
}
.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 {
margin: 0;
color: #58728e;
font-size: 12px;
line-height: 1.5;
}
.de-workday-guide-actions {
display: flex;
justify-content: flex-end;
gap: 8px;
flex-wrap: wrap;
}
.de-task-manager-modal-body {
min-height: 0;
display: grid;
grid-template-columns: minmax(0, 1.3fr) minmax(300px, 0.78fr);
gap: 14px;
}
.de-task-manager-column {
min-height: 0;
display: grid;
grid-template-rows: auto minmax(0, 1fr);
gap: 10px;
padding: 12px;
border-radius: 16px;
background: rgba(247,251,255,0.9);
border: 1px solid rgba(79,172,254,0.14);
overflow: hidden;
}
.de-task-manager-section-head {
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
align-items: center;
gap: 10px;
}
.de-task-manager-section-head strong { display: block; color: #143450; font-size: 15px; }
.de-task-manager-section-head span { display: block; margin-top: 3px; color: #5b7590; font-size: 11px; }
.de-task-manager-duty-list,
.de-task-manager-decision-list {
min-height: 0;
display: flex;
flex-direction: column;
gap: 8px;
overflow-y: auto;
padding-right: 4px;
}
.de-task-manager-duty-list .de-duty-card {
min-height: 104px;
display: grid;
grid-template-columns: 86px minmax(0, 1fr);
gap: 10px;
}
.de-task-manager-duty-check {
min-width: 0;
display: grid;
justify-items: center;
align-content: center;
gap: 8px;
color: #315576;
font-size: 12px;
font-weight: 700;
border-right: 1px solid rgba(79,172,254,0.1);
}
.de-task-manager-duty-check input {
width: 22px;
height: 22px;
accent-color: #20bf6b;
}
.de-task-manager-duty-check input:disabled { opacity: 0.48; }
.de-task-manager-decision-card {
display: grid;
gap: 8px;
padding: 11px 12px;
border-radius: 12px;
color: #16324e;
background: rgba(255,255,255,0.8);
border: 1px solid rgba(79,172,254,0.12);
}
.de-task-manager-decision-card p { margin: 0; color: #58728e; font-size: 12px; line-height: 1.48; }
.de-event-detail-modal,
.de-event-history-modal {
width: min(760px, calc(100vw - 52px));
max-height: min(720px, calc(100vh - 48px));
display: grid;
grid-template-rows: auto auto auto;
gap: 14px;
padding: 18px;
border-radius: 20px;
background: linear-gradient(180deg, rgba(252,254,255,0.97), rgba(231,243,255,0.95));
border: 1px solid rgba(79,172,254,0.2);
box-shadow: 0 24px 70px rgba(21, 55, 84, 0.24), inset 0 1px 0 rgba(255,255,255,0.6);
}
.de-event-history-modal {
width: min(1080px, calc(100vw - 56px));
grid-template-rows: auto auto minmax(0, 1fr);
}
.de-plan-action-modal {
width: min(640px, calc(100vw - 56px));
max-height: min(680px, calc(100vh - 48px));
display: grid;
grid-template-rows: auto minmax(0, 1fr) auto;
gap: 14px;
padding: 18px;
border-radius: 20px;
background: linear-gradient(180deg, rgba(252,254,255,0.97), rgba(232,244,255,0.95));
border: 1px solid rgba(79,172,254,0.22);
box-shadow: 0 24px 70px rgba(21, 55, 84, 0.24), inset 0 1px 0 rgba(255,255,255,0.62);
}
.de-plan-action-body {
min-height: 0;
display: grid;
gap: 12px;
overflow: auto;
}
.de-plan-action-field {
display: grid;
gap: 6px;
color: #41627f;
font-size: 12px;
}
.de-plan-action-field input {
height: 36px;
padding: 0 12px;
border-radius: 11px;
border: 1px solid rgba(79,172,254,0.2);
background: rgba(255,255,255,0.9);
color: #173550;
}
.de-plan-action-grid {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
.de-event-detail-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 8px;
}
.de-event-detail-grid > div,
.de-event-detail-result {
min-width: 0;
display: grid;
gap: 4px;
padding: 10px 11px;
border-radius: 12px;
background: rgba(247,251,255,0.92);
border: 1px solid rgba(79,172,254,0.14);
}
.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 {
min-width: 0;
color: #143450;
font-size: 13px;
line-height: 1.36;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.de-event-detail-result p {
margin: 0;
color: #173550;
font-size: 13px;
line-height: 1.55;
}
.de-sync-attempt-history {
display: grid;
gap: 8px;
padding: 14px;
border: 1px solid rgba(126,163,194,0.2);
border-radius: 14px;
background: rgba(247,251,255,0.82);
}
.de-sync-attempt-history > span {
color: #6f8196;
font-size: 12px;
font-weight: 800;
}
.de-sync-attempt-list {
display: grid;
gap: 8px;
}
.de-sync-attempt-row {
display: grid;
gap: 5px;
padding: 9px 10px;
border-radius: 12px;
background: rgba(255,255,255,0.72);
}
.de-sync-attempt-row > div {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 8px;
}
.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 {
line-height: 1.45;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.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 {
display: flex;
justify-content: flex-end;
flex-wrap: wrap;
gap: 8px;
}
.de-event-modal-actions .de-btn-sm {
display: inline-flex;
align-items: center;
gap: 6px;
}
.de-event-history-toolbar {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 8px;
}
.de-event-history-list {
min-height: 0;
display: grid;
align-content: start;
gap: 8px;
overflow-y: auto;
padding-right: 4px;
}
.de-event-history-row {
width: 100%;
min-height: 64px;
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(78px, 0.58fr) minmax(0, 1.36fr);
gap: 8px;
align-items: stretch;
padding: 8px 9px;
border: 1px solid rgba(79,172,254,0.13);
border-left: 4px solid rgba(79,172,254,0.42);
border-radius: 12px;
background: rgba(248,251,255,0.96);
color: #16324e;
text-align: left;
font: inherit;
cursor: pointer;
}
.de-event-history-row span {
min-width: 0;
display: grid;
align-content: start;
gap: 3px;
}
.de-event-history-row strong {
min-width: 0;
color: #173550;
font-size: 12px;
line-height: 1.35;
display: -webkit-box;
overflow: hidden;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
.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 0.16s ease, box-shadow 0.16s ease;
}
.de-workday-execution--clickable:hover {
border-color: rgba(79,172,254,0.34);
box-shadow: 0 14px 34px rgba(38, 125, 191, 0.14), inset 0 1px 0 rgba(255,255,255,0.62);
}
.de-workday-execution--clickable:focus-visible {
outline: 2px solid rgba(79,172,254,0.56);
outline-offset: 2px;
}
.de-workday-execution--clickable button,
.de-workday-execution--clickable input {
cursor: pointer;
}
.de-live-feed {
min-height: 0; overflow: hidden; display: grid; align-content: start; gap: 8px;
}
.de-live-feed-row {
position: relative; min-height: 66px; border-left: 4px solid rgba(79,172,254,0.38);
animation: deFeedIn 0.28s ease both;
}
.de-live-feed-row--running { border-left-color: rgba(255,184,61,0.9); }
.de-live-feed-row--success { border-left-color: rgba(32,191,107,0.82); }
.de-live-feed-row--danger { border-left-color: rgba(244,96,96,0.82); }
.de-live-feed-row--warning { border-left-color: rgba(255,184,61,0.9); }
.de-workday-execution-body {
min-height: 0;
overflow: hidden;
display: grid;
grid-template-rows: auto minmax(96px, 0.58fr) auto minmax(0, 1fr);
gap: 8px;
}
.de-execution-status-strip {
display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px;
}
.de-execution-status-strip span {
display: grid;
gap: 3px;
min-width: 0;
padding: 7px 8px;
border-radius: 10px;
background: rgba(247,251,255,0.94);
border: 1px solid rgba(79,172,254,0.12);
}
.de-execution-status-strip em { color: #5b7590; font-size: 11px; font-style: normal; white-space: nowrap; }
.de-execution-status-strip strong { color: #12344f; font-size: 18px; line-height: 1; }
.de-task-summary-scroll {
min-height: 0;
overflow-y: auto;
overscroll-behavior: contain;
padding-right: 4px;
scrollbar-gutter: stable;
}
.de-task-summary-grid {
display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px;
min-height: 0;
}
.de-task-summary-scroll .de-task-summary-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.de-task-summary-card {
min-width: 0; min-height: 84px; padding: 8px;
display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 5px 6px;
align-content: start; text-align: left; cursor: pointer;
border-radius: 11px; border: 1px solid rgba(79,172,254,0.14);
background: rgba(247,251,255,0.9);
}
.de-task-summary-card:hover { border-color: rgba(79,172,254,0.42); box-shadow: 0 0 0 2px rgba(79,172,254,0.1); }
.de-task-summary-title {
min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
color: #143450; font-size: 12px; font-weight: 800;
}
.de-task-summary-counts {
grid-column: 1 / -1;
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 5px;
}
.de-task-summary-counts span {
min-width: 0;
display: grid;
gap: 2px;
padding: 6px 6px;
border-radius: 9px;
background: rgba(255,255,255,0.74);
border: 1px solid rgba(79,172,254,0.1);
}
.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 {
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
min-width: 0;
min-height: 30px;
padding: 4px 2px 0;
}
.de-stage-feed-tools > span {
color: #55718b;
font-size: 11px;
font-weight: 700;
white-space: nowrap;
}
.de-stage-feed-tools > div {
display: flex;
align-items: center;
gap: 6px;
min-width: 0;
}
.de-task-agent-control-strip {
display: grid;
gap: 6px;
min-width: 0;
}
.de-task-agent-control {
min-width: 0;
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
gap: 8px;
align-items: center;
padding: 7px 8px;
border-radius: 10px;
border: 1px solid rgba(79,172,254,0.14);
background: rgba(247,251,255,0.9);
}
.de-task-agent-control-main {
min-width: 0;
display: grid;
gap: 2px;
}
.de-task-agent-control-main span {
color: #0c5a85;
font-size: 10px;
font-weight: 800;
line-height: 1;
}
.de-task-agent-control-main strong {
min-width: 0;
overflow: hidden;
color: #143450;
font-size: 12px;
line-height: 1.25;
text-overflow: ellipsis;
white-space: nowrap;
}
.de-task-agent-control-main small {
min-width: 0;
overflow: hidden;
color: #58728e;
font-size: 10px;
line-height: 1.25;
text-overflow: ellipsis;
white-space: nowrap;
}
.de-task-agent-control-actions {
display: flex;
align-items: center;
gap: 5px;
min-width: 0;
}
.de-task-agent-control-actions .de-btn-sm {
min-width: 58px;
justify-content: center;
}
.de-task-agent-cancel-btn {
color: #b42318;
border-color: rgba(180,35,24,0.22);
}
.de-run-detail-list-scroll {
overscroll-behavior: contain;
scrollbar-gutter: stable;
}
.de-run-detail-panel { min-height: 0; display: grid; grid-template-rows: auto minmax(0, 1fr); gap: 8px; }
.de-run-detail-head { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.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 {
min-height: 0; overflow-y: auto; display: grid; align-content: start; gap: 6px;
padding-right: 4px;
}
.de-run-detail-row {
display: grid; grid-template-columns: 50px minmax(72px, 0.95fr) minmax(70px, 0.85fr) 74px minmax(90px, 1.2fr);
gap: 7px; align-items: center;
min-width: 0; padding: 7px 8px; border-radius: 10px;
border: 1px solid rgba(79,172,254,0.12);
background: rgba(247,251,255,0.88);
color: #173550; font-size: 11px; text-align: left;
}
.de-run-detail-row--head {
position: sticky; top: 0; z-index: 1;
background: rgba(220,236,252,0.98); color: #29577f; font-weight: 800;
cursor: default;
}
.de-run-detail-row strong,
.de-run-detail-row span,
.de-run-detail-row em {
min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.de-run-detail-row em { color: #58728e; font-style: normal; }
.de-run-detail-row i { font-style: normal; min-height: 20px; padding: 0 7px; font-size: 10px; }
.de-workday-result { overflow: auto; min-height: 0; }
.de-workday-result-summary { margin: 0; color: #173550; font-size: 13px; line-height: 1.55; }
.de-artifact-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.de-artifact-source-list { display: grid; gap: 8px; max-height: 320px; overflow-y: auto; padding-right: 4px; }
.de-artifact-source-row { display: grid; grid-template-columns: minmax(120px, 1fr) minmax(88px, 140px); gap: 4px 10px; align-items: center; padding: 9px 10px; border-radius: 8px; border: 1px solid rgba(79,172,254,0.12); background: rgba(244,250,255,0.62); }
.de-artifact-source-row strong { min-width: 0; color: var(--de-text-primary); font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.de-artifact-source-row span { color: var(--de-text-muted); font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-align: right; }
.de-artifact-source-row code, .de-artifact-source-row em { grid-column: 1 / -1; min-width: 0; color: var(--de-text-body); font-size: 12px; font-style: normal; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.de-decision-card { background: rgba(247,251,255,0.96); }
.de-decision-chain-note {
display: flex; align-items: center; flex-wrap: wrap; gap: 8px;
margin-top: 8px; color: #60758a; font-size: 12px; line-height: 1.45;
}
@keyframes deFeedIn {
from { opacity: 0; transform: translateY(6px); }
to { opacity: 1; transform: translateY(0); }
}
/* Skill Manager */
.de-skill-manager-card { flex: 1; display: flex; flex-direction: column; min-height: 0; }
.de-skill-manager-body { flex: 1; display: flex; flex-direction: column; min-height: 0; overflow: hidden; }
.de-skill-overview {
display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0;
margin-bottom: 12px; border-radius: 18px; overflow: hidden;
border: 1px solid rgba(79,172,254,0.14);
background: linear-gradient(180deg, rgba(246,251,255,0.94), rgba(231,242,253,0.9));
box-shadow: inset 0 1px 0 hsla(0,0%,100%,0.55), 0 2px 8px rgba(30,144,255,0.04);
}
.de-skill-overview-item {
position: relative; display: flex; flex-direction: column;
justify-content: center; gap: 6px;
min-height: 74px; padding: 10px 16px 14px;
}
.de-skill-overview-item + .de-skill-overview-item { border-left: 1px solid rgba(79,172,254,0.12); }
.de-skill-overview-item::after {
content: ""; position: absolute; left: 16px; right: 16px; bottom: 0;
height: 3px; border-radius: 999px; opacity: 0.92;
}
.de-skill-overview-label { font-size: 12px; color: #6a8198; }
.de-skill-overview-value { font-size: 34px; font-weight: 700; line-height: 1; color: #1e3a5c; }
.de-skill-overview-item--total .de-skill-overview-value { color: #0c4a6e; }
.de-skill-overview-item--total::after { background: linear-gradient(90deg, rgba(59,130,246,0.7), rgba(125,211,252,0.5)); }
.de-skill-overview-item--learned .de-skill-overview-value { color: #0369a1; }
.de-skill-overview-item--learned::after { background: linear-gradient(90deg, rgba(34,211,238,0.78), rgba(59,130,246,0.46)); }
.de-skill-overview-item--unlearned .de-skill-overview-value { color: #c2410c; }
.de-skill-overview-item--unlearned::after { background: linear-gradient(90deg, rgba(251,146,60,0.86), rgba(255,205,124,0.5)); }
.de-skill-tabs { display: flex; gap: 0; margin-bottom: 12px; background: rgba(30,144,255,0.05); border-radius: 16px; padding: 2px; border: 1px solid rgba(79,172,254,0.08); }
.de-skill-tab { flex: 1; text-align: center; padding: 8px 10px; font-size: 14px; color: #4a6a8a; cursor: pointer; border-radius: 14px; transition: all 0.3s; border: none; background: transparent; }
.de-skill-tab.active { background: linear-gradient(135deg, rgba(79,172,254,0.9), rgba(0,242,254,0.85)); color: #fff; font-weight: 700; box-shadow: 0 2px 8px rgba(79,172,254,0.25); }
/* Category slider */
.de-category-slider { display: grid; grid-template-columns: 28px minmax(0, 1fr) 28px; align-items: center; gap: 8px; margin-bottom: 12px; }
.de-category-nav { width: 28px; height: 28px; border: 1px solid rgba(79,172,254,0.12); border-radius: 999px; background: rgba(240,248,255,0.7); color: #4a6a8a; cursor: pointer; font-size: 18px; line-height: 1; }
.de-category-tags { display: flex; gap: 8px; overflow-x: auto; padding: 2px 4px 2px 0; scrollbar-width: none; }
.de-category-tags::-webkit-scrollbar { display: none; }
.de-workbench-table-wrap,
.de-log-list,
.de-shell-body {
scrollbar-width: thin;
scrollbar-color: rgba(46, 161, 255, 0.8) rgba(201, 227, 252, 0.48);
}
.de-workbench-table-wrap::-webkit-scrollbar,
.de-log-list::-webkit-scrollbar,
.de-shell-body::-webkit-scrollbar {
width: 10px;
}
.de-workbench-table-wrap::-webkit-scrollbar-track,
.de-log-list::-webkit-scrollbar-track,
.de-shell-body::-webkit-scrollbar-track {
background: linear-gradient(180deg, rgba(231, 243, 255, 0.88), rgba(210, 230, 250, 0.58));
border-radius: 999px;
border: 1px solid rgba(151, 198, 238, 0.5);
}
.de-workbench-table-wrap::-webkit-scrollbar-thumb,
.de-log-list::-webkit-scrollbar-thumb,
.de-shell-body::-webkit-scrollbar-thumb {
background: linear-gradient(180deg, rgba(70, 179, 255, 0.98), rgba(36, 144, 244, 0.95));
border-radius: 999px;
border: 1px solid rgba(255, 255, 255, 0.82);
box-shadow: inset 0 1px 0 rgba(255,255,255,0.55), 0 0 8px rgba(79,172,254,0.18);
}
.de-workbench-table-wrap::-webkit-scrollbar-thumb:hover,
.de-log-list::-webkit-scrollbar-thumb:hover,
.de-shell-body::-webkit-scrollbar-thumb:hover {
background: linear-gradient(180deg, rgba(58, 170, 255, 1), rgba(23, 128, 231, 0.98));
}
.de-tag { flex: 0 0 auto; min-width: 58px; padding: 8px 14px; font-size: 13px; text-align: center; border-radius: 999px; background: rgba(30,144,255,0.06); color: #4a6a8a; cursor: pointer; border: 1px solid rgba(79,172,254,0.08); transition: all 0.3s; }
.de-tag-label { display: block; text-align: center; font-weight: 600; }
.de-tag.active { background: linear-gradient(135deg, rgba(79,172,254,0.9), rgba(0,242,254,0.85)); color: #fff; border-color: transparent; box-shadow: 0 4px 10px rgba(79,172,254,0.18); }
/* Skill list */
.de-skill-list-scroll { display: flex; flex-direction: column; gap: 6px; overflow-y: auto; padding-right: 4px; min-height: 0; flex: 1; }
.de-skill-card-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 52px; padding: 8px 12px; border-radius: 12px; background: linear-gradient(180deg, rgba(244,250,255,0.92), rgba(235,246,255,0.86)); border: 1px solid rgba(79,172,254,0.12); box-shadow: 0 2px 10px rgba(30,144,255,0.04), inset 0 1px 0 hsla(0,0%,100%,0.5); }
.de-skill-card-row--clickable { cursor: pointer; transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease; }
.de-skill-card-row--clickable:hover { border-color: rgba(79,172,254,0.48); box-shadow: 0 0 0 2px rgba(79,172,254,0.12); transform: translateY(-1px); }
.de-skill-card-main { flex: 1; min-width: 0; display: grid; gap: 6px; }
.de-skill-card-name { font-size: 15px; font-weight: 600; color: #214566; line-height: 1.2; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.de-skill-card-meta { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.de-skill-card-badge, .de-skill-card-schedule { display: inline-flex; align-items: center; min-height: 24px; padding: 0 10px; border-radius: 999px; font-size: 12px; color: #41627f; background: rgba(79,172,254,0.08); border: 1px solid rgba(79,172,254,0.12); }
.de-skill-card-actions { display: flex; align-items: center; gap: 8px; }
.de-skill-btn { min-width: 68px; border: none; border-radius: 999px; padding: 7px 14px; font-size: 13px; font-weight: 600; color: #fff; cursor: pointer; background: linear-gradient(135deg, rgba(89,173,245,0.92), rgba(58,214,243,0.9)); box-shadow: 0 2px 8px rgba(79,172,254,0.16); }
.de-skill-btn--danger { background: linear-gradient(135deg, rgba(255,150,105,0.92), rgba(255,120,94,0.92)); }
.de-skill-btn:disabled { cursor: not-allowed; opacity: 0.62; box-shadow: none; }
/* Avatar wrapper */
.de-avatar-wrapper {
width: 100%;
flex: 1;
min-height: 520px;
max-width: 780px;
position: relative;
}
/* Speech bubble */
.de-speech-bubble {
position: absolute; top: 24%; right: 2%;
width: min(100%, 320px); max-width: 320px;
padding: 16px 16px 14px;
border-radius: 24px 24px 24px 12px;
background: linear-gradient(180deg, rgba(252,254,255,0.78), rgba(225,238,255,0.68));
border: 1px solid rgba(79,172,254,0.22);
box-shadow: 0 14px 28px rgba(30,58,92,0.1), inset 0 1px 0 hsla(0,0%,100%,0.58);
backdrop-filter: blur(10px);
z-index: 12; pointer-events: auto;
}
.de-speech-label { font-size: 12px; font-weight: 700; color: #27567f; letter-spacing: 0.08em; display: block; margin-bottom: 8px; }
.de-speech-text { color: #16324e; font-size: 13px; line-height: 1.52; min-height: 60px; }
.de-speech-bubble--employee {
border-radius: 18px 18px 18px 8px;
box-shadow: 0 10px 22px rgba(30,58,92,0.1), inset 0 1px 0 hsla(0,0%,100%,0.58);
}
.de-speech-bubble--employee .de-speech-text {
min-height: 0;
margin: 0 0 8px;
}
.de-speech-workflow {
width: 100%;
min-width: 0;
display: grid;
grid-template-columns: auto minmax(0, 1fr);
gap: 2px 7px;
padding: 8px 9px;
border: 1px solid rgba(79,172,254,0.16);
border-radius: 12px;
text-align: left;
background: rgba(247,251,255,0.78);
cursor: pointer;
}
.de-speech-workflow:hover {
border-color: rgba(79,172,254,0.38);
background: rgba(239,248,255,0.92);
}
.de-speech-workflow:focus-visible {
outline: 2px solid rgba(79,172,254,0.56);
outline-offset: 2px;
}
.de-speech-workflow span {
color: #0c5a85;
font-size: 10px;
font-weight: 800;
line-height: 1.35;
white-space: nowrap;
}
.de-speech-workflow strong {
min-width: 0;
overflow: hidden;
color: #143450;
font-size: 12px;
line-height: 1.35;
text-overflow: ellipsis;
white-space: nowrap;
}
.de-speech-workflow small {
grid-column: 2;
min-width: 0;
color: #58728e;
font-size: 10px;
line-height: 1.35;
display: -webkit-box;
overflow: hidden;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
.de-speech-workflow span:last-of-type,
.de-speech-workflow span:last-of-type + small {
margin-top: 3px;
}
/* Workbench (right column) */
.de-workbench {
display: grid; grid-template-rows: auto minmax(0, 1fr); gap: 10px;
padding: 12px; border-radius: 14px;
background: linear-gradient(180deg, hsla(0,0%,100%,0.78), rgba(235,244,255,0.94));
border: 1px solid rgba(79,172,254,0.16); overflow: hidden;
min-height: 0;
}
.de-workbench-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.de-workbench > .de-card-title-bar {
margin: -12px -12px 0;
min-height: 42px;
border-radius: 14px 14px 0 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 { min-width: 0; display: flex; align-items: baseline; gap: 10px; }
.de-workbench-title-row h3 { font-size: 16px; color: #143450; margin: 0; }
.de-workbench-count { font-size: 11px; color: #5b7590; white-space: nowrap; }
.de-workbench-table-wrap { min-height: 0; overflow-y: auto; border-radius: 12px; border: 1px solid rgba(79,172,254,0.14); background: rgba(247,251,255,0.92); }
.de-workbench-table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 12px; table-layout: fixed; }
.de-workbench-table th { position: sticky; top: 0; z-index: 1; background: rgba(220,236,252,0.98); color: #29577f; font-weight: 700; padding: 9px 8px; text-align: left; border-bottom: 1px solid rgba(79,172,254,0.08); }
.de-workbench-table td { padding: 9px 8px; color: #173550; border-bottom: 1px solid rgba(79,172,254,0.08); vertical-align: top; }
.de-workbench-clickable-row { cursor: pointer; transition: background 0.18s ease, box-shadow 0.18s ease; }
.de-workbench-clickable-row:hover { background: rgba(79,172,254,0.1); box-shadow: inset 3px 0 0 rgba(44,168,255,0.72); }
.de-workbench-empty { text-align: center; color: #6b849d; padding: 40px 12px; }
.de-workbench-task-name { display: -webkit-box; overflow: hidden; color: #16324e; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.de-workbench-desc { display: -webkit-box; overflow: hidden; color: #58728e; line-height: 1.55; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.de-workbench-plan-progress { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px; color: #5b7590; }
.de-workbench-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.de-workbench-actions button { border: none; border-radius: 999px; min-height: 28px; padding: 0 9px; font-size: 11px; color: #22659a; background: rgba(79,172,254,0.14); cursor: pointer; }
.de-workbench-action-accent { color: #8c5b04 !important; background: rgba(255,184,61,0.2) !important; }
/* Log panel */
.de-log-panel {
display: grid; grid-template-rows: auto minmax(0, 1fr); gap: 12px;
padding: 12px; border-radius: 14px;
background: linear-gradient(180deg, hsla(0,0%,100%,0.76), rgba(234,243,255,0.94));
border: 1px solid rgba(79,172,254,0.16); overflow: hidden;
min-height: 0;
}
.de-log-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.de-log-panel-title-row { min-width: 0; display: flex; align-items: baseline; gap: 10px; }
.de-log-panel-title-row h3 { font-size: 16px; color: #143450; margin: 0; }
.de-log-panel-title-row p { font-size: 11px; color: #5b7590; margin: 0; }
.de-log-list { overflow-y: auto; min-height: 0; display: flex; align-items: center; justify-content: center; }
/* Report summary */
.de-report-summary {
display: grid; gap: 10px; padding: 12px; border-radius: 14px;
background: linear-gradient(180deg, hsla(0,0%,100%,0.76), rgba(231,242,255,0.94));
border: 1px solid rgba(79,172,254,0.16);
min-height: 0; overflow: hidden;
}
.de-report-summary-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.de-report-summary > .de-card-title-bar {
margin: -12px -12px 0;
min-height: 42px;
border-radius: 14px 14px 0 0;
}
.de-report-summary-head--bar {
flex-wrap: nowrap;
}
.de-report-summary-title-row { min-width: 0; display: flex; align-items: baseline; gap: 10px; }
.de-report-summary-title-row h3 { font-size: 16px; color: #143450; margin: 0; }
.de-report-badge { display: inline-flex; align-items: center; padding: 6px 12px; border: 0; border-radius: 999px; font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
.de-report-badge:hover { box-shadow: 0 0 0 2px rgba(79,172,254,0.14); }
.de-report-badge--waiting { background: rgba(255,184,61,0.18); color: #8c5b04; }
.de-report-badge--ready { background: rgba(32,191,107,0.14); color: #0f7a44; }
.de-report-summary-body { display: grid; gap: 10px; }
.de-report-schedule-row {
display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
align-items: center; gap: 8px;
}
.de-report-schedule-row label {
grid-column: 1 / -1;
display: flex; align-items: center; gap: 8px;
min-width: 0; color: #5b7590; font-size: 12px; font-weight: 800;
}
.de-report-schedule-row input {
min-width: 0; height: 30px; border-radius: 9px;
border: 1px solid rgba(79,172,254,0.18);
color: #16324e; background: rgba(247,251,255,0.96);
padding: 0 9px;
}
.de-report-download-btn,
.de-report-preview-btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 5px;
min-width: 0;
min-height: 30px;
white-space: nowrap;
}
.de-report-download-btn:not(:disabled) {
color: #0c5a85;
border-color: rgba(44,168,255,0.42);
background: linear-gradient(180deg, rgba(235,248,255,0.98), rgba(200,233,255,0.9));
box-shadow: 0 4px 10px rgba(44,168,255,0.12), inset 0 1px 0 rgba(255,255,255,0.68);
}
.de-report-download-btn:disabled {
opacity: 0.5;
cursor: not-allowed;
}
.de-report-preview-overlay { z-index: 330; }
.de-report-preview-modal {
width: min(780px, calc(100vw - 56px));
max-height: min(720px, calc(100vh - 54px));
display: grid;
grid-template-rows: auto auto minmax(0, 1fr) auto;
gap: 14px;
padding: 18px;
border-radius: 20px;
background: linear-gradient(180deg, rgba(252,254,255,0.98), rgba(233,245,255,0.96));
border: 1px solid rgba(79,172,254,0.2);
box-shadow: 0 24px 70px rgba(21,55,84,0.26), inset 0 1px 0 rgba(255,255,255,0.62);
}
.de-report-preview-summary {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 8px;
}
.de-report-preview-summary div {
min-width: 0;
display: flex;
align-items: baseline;
justify-content: space-between;
gap: 8px;
padding: 9px 10px;
border-radius: 12px;
background: rgba(247,251,255,0.96);
border: 1px solid rgba(79,172,254,0.12);
}
.de-report-preview-summary span {
color: #5b7590;
font-size: 12px;
white-space: nowrap;
}
.de-report-preview-summary strong {
color: #16324e;
font-size: 20px;
line-height: 1;
}
.de-report-preview-content {
min-height: 0;
max-height: min(460px, calc(100vh - 260px));
overflow-y: auto;
display: grid;
align-content: start;
gap: 10px;
padding: 14px;
border-radius: 14px;
background: rgba(247,251,255,0.86);
border: 1px solid rgba(79,172,254,0.12);
scrollbar-gutter: stable;
}
.de-report-preview-content p {
margin: 0;
color: #173550;
font-size: 13px;
line-height: 1.65;
}
.de-report-actions { display: flex; gap: 10px; }
.de-report-generate-btn { min-width: 118px; border: none; border-radius: 12px; padding: 10px 16px; font-size: 14px; font-weight: 700; color: #fff; cursor: pointer; background: linear-gradient(135deg, #2ca8ff, #00c6ff); }
.de-report-generate-btn:disabled { opacity: 0.6; cursor: not-allowed; }
.de-report-download { flex: 1; display: flex; align-items: center; padding: 10px 16px; border-radius: 12px; font-size: 14px; color: #16324e; background: hsla(0,0%,100%,0.9); border: 1px solid rgba(79,172,254,0.16); }
.de-report-download--disabled { opacity: 0.55; }
.de-report-meta { display: grid; gap: 4px; }
.de-report-meta p { font-size: 12px; color: #5b7590; margin: 0; }
.de-profile-settings-modal {
width: min(520px, 100%);
max-height: min(720px, calc(100vh - 48px));
display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: 14px;
padding: 18px; border-radius: 18px;
background: linear-gradient(180deg, rgba(250,253,255,0.98), rgba(232,244,255,0.98));
border: 1px solid rgba(79,172,254,0.22);
box-shadow: 0 24px 60px rgba(29,67,109,0.18);
}
.de-profile-settings-grid {
display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px;
}
.de-profile-settings-grid label,
.de-profile-status-toggle {
display: grid; gap: 6px;
color: #5b7590; font-size: 12px; font-weight: 800;
}
.de-profile-settings-grid input {
min-width: 0; height: 36px; border-radius: 10px;
border: 1px solid rgba(79,172,254,0.18);
color: #16324e; background: rgba(247,251,255,0.96);
padding: 0 10px;
}
.de-profile-status-toggle div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.de-profile-status-toggle button {
min-height: 36px; border-radius: 10px;
border: 1px solid rgba(79,172,254,0.18);
color: #22659a; background: rgba(79,172,254,0.1);
font-weight: 800; cursor: pointer;
}
.de-profile-status-toggle button.active {
color: #fff; border-color: transparent;
background: var(--de-btn-gradient-active);
box-shadow: 0 2px 8px rgba(79,172,254,0.22);
}
/* Skin Switch */
.de-gender-toggle { display: flex; gap: 0; }
.de-gender-btn {
padding: 8px 36px; font-size: 15px; font-weight: 700;
color: rgba(30,144,255,0.5); cursor: pointer; transition: all 0.3s;
transform: skewX(-15deg);
background: hsla(0,0%,100%,0.5);
border: 1px solid rgba(79,172,254,0.25);
}
.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 { transform: skewX(15deg); display: inline-block; }
.de-gender-btn.active { background: linear-gradient(135deg, #4facfe, #00f2fe); color: #fff; border-color: transparent; box-shadow: 0 3px 12px rgba(79,172,254,0.4); }
.de-skin-row {
display: flex; gap: 6px; padding: 8px 10px; margin-top: 8px;
background: rgba(230,242,255,0.75);
border: 1px solid rgba(79,172,254,0.22);
border-radius: 12px;
box-shadow: 0 4px 24px rgba(30,144,255,0.08);
backdrop-filter: blur(20px) saturate(1.2);
}
.de-skin-option {
display: flex; flex-direction: column; align-items: center; gap: 3px;
padding: 5px 8px; border-radius: 8px; cursor: pointer;
border: 2px solid transparent; background: hsla(0,0%,100%,0.3);
transition: all 0.3s;
}
.de-skin-option.active { border-color: #4facfe; box-shadow: 0 0 12px rgba(79,172,254,0.3); background: linear-gradient(135deg, rgba(79,172,254,0.2), rgba(0,242,254,0.15)); }
.de-skin-preview { width: 38px; height: 50px; overflow: hidden; border-radius: 6px; background: hsla(0,0%,100%,0.5); }
.de-skin-preview img { width: 100%; height: 100%; object-fit: contain; object-position: center top; }
.de-skin-label { font-size: 11px; color: #4a6a8a; white-space: nowrap; }
/* Shell body */
.de-shell-body { flex: 1; min-height: 0; overflow-x: hidden; overflow-y: auto; position: relative; }
/* Fix card styles to work inside de-dashboard */
.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 {
min-height: calc(100vh - 60px);
height: auto;
}
.de-dashboard-content {
grid-template-columns: minmax(248px, 0.76fr) minmax(340px, 1.18fr) minmax(248px, 0.68fr);
padding: 7px 8px 72px;
gap: 8px;
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, 0.34fr);
gap: 8px;
overflow: hidden;
}
.de-workbench-table-wrap,
.de-log-list {
max-height: none;
}
.de-speech-bubble {
top: 24%;
left: 50%;
right: auto;
width: min(260px, calc(100% + 12px));
padding: 8px 10px;
transform: translateX(-50%);
}
.de-card { border-radius: 10px; }
.de-card-body { padding: 10px 12px; }
.de-card-title-bar { padding: 7px 13px; }
.de-card-title-bar-text { font-size: 14px; letter-spacing: 0.5px; }
.de-badge { min-height: 20px; padding: 0 8px; font-size: 11px; }
.de-speech-label { font-size: 11px; margin-bottom: 5px; }
.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 { padding: 7px 8px; gap: 2px 6px; }
.de-speech-workflow strong { font-size: 11px; }
.de-speech-workflow small { font-size: 10px; -webkit-line-clamp: 1; }
.de-avatar-wrapper { min-height: 420px; max-width: 560px; }
.de-avatar-img { height: 56vh; max-height: 470px; margin-bottom: -10px; max-width: 96%; }
.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; padding: 6px 8px; margin-top: 6px; }
.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 { margin-bottom: 8px; border-radius: 14px; }
.de-template-overview-item,
.de-skill-overview-item { min-height: 54px; padding: 7px 10px 10px; gap: 4px; }
.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 { margin-bottom: 8px; border-radius: 12px; }
.de-skill-tab { padding: 6px 8px; font-size: 12px; border-radius: 10px; }
.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 { padding: 10px; gap: 8px; border-radius: 12px; }
.de-report-summary { padding: 10px; gap: 8px; border-radius: 12px; }
.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 {
display: grid;
gap: 2px;
}
.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, 0.9fr) minmax(380px, 1.35fr);
gap: 10px;
}
.de-mc-card-list { gap: 6px; }
.de-mission-card { padding: 9px 10px; border-radius: 10px; }
.de-mission-card-header { margin-bottom: 5px; }
.de-mission-card-title { font-size: 13px; }
.de-mission-card-desc { font-size: 12px; line-height: 1.38; margin-bottom: 5px; -webkit-line-clamp: 1; }
.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 { width: 100%; justify-content: space-between; }
.de-date-filter-field input { min-width: 136px; }
.de-date-filter-summary { width: 100%; margin-left: 0; }
.de-filter-row { margin-bottom: 8px; gap: 5px; }
.de-filter-chip { padding: 3px 9px; font-size: 11px; }
.de-drawer { gap: 10px; padding: 12px; border-radius: 14px; }
.de-drawer-title-group h3 { font-size: 17px; }
.de-drawer-eyebrow { font-size: 10px; }
.de-drawer-meta { font-size: 11px; }
.de-detail-section { padding: 9px; border-radius: 10px; }
.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 { grid-column: 1 / -1; text-align: left; }
.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 { padding: 7px 8px; border-radius: 9px; }
.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 { grid-column: 1 / -1; text-align: left; }
.de-log-entry { gap: 4px; padding: 8px 10px; border-radius: 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 { padding: 8px 14px 10px; gap: 12px; }
.de-dashboard-content {
grid-template-columns: minmax(278px, 0.86fr) minmax(360px, 1.08fr) minmax(276px, 0.78fr);
}
.de-dashboard-center { padding: 4px 0 80px; }
}
@media (max-width: 1439px) {
.de-dashboard-content { padding: 8px 12px 8px; gap: 10px; }
.de-dashboard-content {
grid-template-columns: minmax(260px, 0.9fr) minmax(300px, 0.96fr) minmax(260px, 0.74fr);
}
.de-dashboard-center { padding: 4px 0 72px; }
}
@media (max-width: 1280px) {
.de-dashboard-content {
padding: 7px 8px 72px;
gap: 8px;
}
.de-dashboard-center { padding: 4px 0 56px; }
.de-log-entry { gap: 4px; padding: 8px 10px; border-radius: 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, 0.9fr) minmax(360px, 0.86fr) minmax(410px, 1.05fr);
padding: 6px 14px 8px;
gap: 10px;
}
.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 {
margin-top: 8px !important;
padding: 7px 10px;
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 { height: 30px; border-radius: 9px; }
.de-dashboard--compact .de-template-overview {
margin-bottom: 8px;
border-radius: 12px;
}
.de-dashboard--compact .de-template-overview-item {
min-height: 54px;
padding: 7px 10px 10px;
gap: 3px;
}
.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 { gap: 6px; padding: 8px; border-radius: 12px; }
.de-dashboard--compact .de-task-manager-preview-row { padding: 8px 9px; border-radius: 10px; }
.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 {
min-height: 86px;
padding: 8px 10px;
border-radius: 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 {
font-size: 11px;
line-height: 1.34;
-webkit-line-clamp: 1;
}
.de-dashboard--compact .de-template-card-meta { font-size: 10px; gap: 6px; }
.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 {
min-height: 430px !important;
max-width: 520px !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 { top: 17%; min-height: 24px; font-size: 12px; }
.de-dashboard--compact .de-speech-bubble {
top: 38% !important;
left: 27% !important;
width: 250px !important;
padding: 9px 11px !important;
border-radius: 18px 18px 18px 10px;
}
.de-dashboard--compact .de-speech-label { font-size: 11px; margin-bottom: 5px; }
.de-dashboard--compact .de-speech-text { min-height: 0; font-size: 11px; line-height: 1.38; }
.de-dashboard--compact .de-speech-workflow { padding: 7px 8px; gap: 2px 6px; }
.de-dashboard--compact .de-speech-workflow strong { font-size: 11px; }
.de-dashboard--compact .de-speech-workflow small { font-size: 10px; -webkit-line-clamp: 1; }
.de-dashboard--compact .de-skin-row { gap: 5px; padding: 6px 8px; margin-top: 5px; }
.de-dashboard--compact .de-right-panels {
grid-template-rows: minmax(0, 1fr) minmax(156px, 0.33fr);
gap: 8px;
}
.de-dashboard--compact .de-workbench,
.de-dashboard--compact .de-log-panel,
.de-dashboard--compact .de-report-summary {
padding: 10px;
gap: 8px;
border-radius: 12px;
}
.de-dashboard--compact .de-workbench-title-row,
.de-dashboard--compact .de-log-panel-title-row,
.de-dashboard--compact .de-report-summary-title-row {
display: grid;
gap: 2px;
}
.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 {
gap: 6px;
grid-template-rows: auto minmax(80px, 0.48fr) auto minmax(0, 1fr);
}
.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 {
min-height: 76px;
padding: 7px;
gap: 3px 5px;
border-radius: 10px;
}
.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 { padding: 7px 9px; gap: 4px; border-radius: 10px; }
.de-dashboard--compact .de-log-entry-meta strong { font-size: 12px; }
.de-dashboard--compact .de-log-entry p { font-size: 11px; line-height: 1.34; -webkit-line-clamp: 1; }
.de-dashboard--compact .de-decision-chain-note { margin-top: 4px; font-size: 10px; }
.de-dashboard--compact .de-report-summary { gap: 6px; }
.de-dashboard--compact .de-report-summary-body { gap: 6px; }
.de-dashboard--compact .de-report-schedule-row { gap: 6px; }
.de-dashboard--compact .de-report-download-btn { min-height: 28px; gap: 4px; }
.de-dashboard--compact .de-report-preview-btn { min-height: 28px; gap: 4px; }
.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 {
width: min(1000px, calc(100vw - 36px));
max-height: calc(100vh - 36px);
gap: 12px;
padding: 14px;
border-radius: 16px;
}
.de-task-manager-modal-body {
grid-template-columns: minmax(0, 1.24fr) minmax(280px, 0.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 {
width: min(1040px, calc(100vw - 36px));
gap: 10px;
}
.de-workday-guide-steps { gap: 8px; }
.de-workday-guide-step { padding: 8px 9px; border-radius: 12px; }
.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, 0.72fr);
gap: 10px;
}
.de-workday-guide-duty-list { gap: 7px; }
.de-workday-guide-duty-list .de-duty-card {
min-height: 94px;
grid-template-columns: 68px minmax(0, 1fr);
gap: 7px;
}
.de-workday-guide-side { padding: 10px; border-radius: 13px; gap: 8px; }
.de-workday-guide-summary { padding: 9px; border-radius: 11px; }
.de-workday-guide-summary strong { font-size: 14px; }
.de-workday-guide-summary p { font-size: 11px; line-height: 1.38; }
.de-task-manager-column { padding: 10px; border-radius: 13px; gap: 8px; }
.de-task-manager-duty-list .de-duty-card {
min-height: 88px;
grid-template-columns: 72px minmax(0, 1fr);
gap: 8px;
}
.de-task-manager-duty-check { font-size: 11px; gap: 6px; }
.de-task-manager-duty-check input { width: 20px; height: 20px; }
.de-task-manager-decision-card { padding: 9px 10px; border-radius: 10px; }
}
@media (max-width: 1023px) {
.de-mission-center-page {
height: auto;
min-height: 100%;
overflow: visible;
padding: 10px 12px 96px;
}
.de-mission-center-layout {
grid-template-columns: 1fr;
height: auto;
min-height: auto;
overflow: visible;
}
.de-mc-list,
.de-mc-detail {
display: flex;
min-height: auto;
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;
overflow: visible;
padding: 8px 12px 96px;
}
.de-dashboard-left,
.de-dashboard-center,
.de-dashboard-right {
overflow: visible;
}
.de-right-panels {
height: auto;
grid-template-rows: auto 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;
}
}
/* Log entries in CommandDeck */
.de-log-entries { display: flex; flex-direction: column; gap: 6px; overflow-y: auto; }
.de-log-entry {
width: 100%; display: grid; gap: 6px; padding: 10px 12px;
text-align: left; border: 1px solid rgba(79,172,254,0.12);
border-radius: 12px; background: rgba(248,251,255,0.96);
color: #16324e; cursor: pointer; font-family: inherit; font-size: 12px;
transition: border-color 0.18s ease, box-shadow 0.18s ease;
}
.de-log-entry:hover, .de-log-entry--active {
border-color: rgba(79,172,254,0.34);
box-shadow: 0 0 0 2px rgba(79,172,254,0.08);
}
.de-log-entry-meta { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.de-log-entry-meta strong { font-size: 13px; line-height: 1.4; }
.de-log-entry-meta span { font-size: 11px; color: #5b7590; }
.de-log-entry p { font-size: 12px; color: #5b7590; line-height: 1.5; margin: 0;
display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
/* Workbench real data */
.de-workbench-actions button:hover { background: rgba(79,172,254,0.22); }
.de-workbench-actions button:disabled { opacity: 0.45; cursor: not-allowed; }
/* Digital Employee — real-time task indicators */
.de-status-dot--running {
display: inline-block; width: 8px; height: 8px; border-radius: 50%;
background: var(--de-primary); margin-right: 6px;
animation: de-pulse-dot 1.5s ease-in-out infinite;
}
.de-elapsed { font-size: 11px; color: var(--de-text-muted); font-variant-numeric: tabular-nums; }
/* Tag count badge */
.de-tag-count-badge {
position: absolute; top: -6px; right: -2px;
display: inline-flex; align-items: center; justify-content: center;
min-width: 22px; height: 22px; padding: 0 6px;
border-radius: 999px; font-size: 11px; font-weight: 700; line-height: 1;
color: #fff;
background: linear-gradient(135deg, #ff7d66, #ff5b6b);
box-shadow: 0 3px 8px rgba(255,91,107,0.28);
}
/* Schedule skill button */
.de-skill-btn--schedule {
background: linear-gradient(135deg, rgba(14,165,233,0.94), rgba(6,182,212,0.88)) !important;
}
/* Schedule Dialog */
.de-schedule-overlay {
position: fixed; inset: 0; z-index: 28;
display: flex; align-items: center; justify-content: center;
background: rgba(10,28,44,0.28);
backdrop-filter: blur(4px);
}
.de-schedule-dialog {
width: min(520px, calc(100vw - 32px));
display: grid; gap: 18px; padding: 20px;
border-radius: 24px;
background: linear-gradient(180deg, rgba(252,254,255,0.9), rgba(229,240,255,0.88));
border: 1px solid rgba(79,172,254,0.2);
box-shadow: 0 20px 48px rgba(30,58,92,0.18), inset 0 1px 0 hsla(0,0%,100%,0.5);
}
.de-schedule-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.de-schedule-title { display: block; font-size: 18px; font-weight: 700; color: #173553; }
.de-schedule-skill-id { display: block; margin-top: 4px; font-size: 13px; color: #5b7590; }
.de-schedule-close {
border: none; border-radius: 999px; padding: 8px 14px; cursor: pointer;
color: #3c6486; background: rgba(79,172,254,0.12);
}
.de-schedule-section { display: grid; gap: 12px; }
.de-schedule-label { font-size: 13px; color: #41627f; }
.de-schedule-desc { font-size: 13px; color: #315576; line-height: 1.6; margin: 0; }
.de-schedule-presets { display: flex; flex-wrap: wrap; gap: 10px; }
.de-schedule-preset {
padding: 8px 14px; font-size: 13px; border: none; border-radius: 999px;
color: #315576; background: rgba(79,172,254,0.1); cursor: pointer;
}
.de-schedule-preset.is-active {
color: #fff; font-weight: 700;
background: linear-gradient(135deg, rgba(79,172,254,0.92), rgba(0,242,254,0.86));
box-shadow: 0 4px 12px rgba(79,172,254,0.22);
}
.de-schedule-switch {
display: flex; align-items: center; justify-content: space-between; gap: 12px;
padding: 10px 12px; border-radius: 12px;
background: hsla(0,0%,100%,0.74); border: 1px solid rgba(79,172,254,0.12);
font-size: 13px; color: #315576;
}
.de-schedule-switch input[type="checkbox"] { width: 18px; height: 18px; accent-color: #4facfe; }
.de-schedule-notice {
padding: 12px 14px; border-radius: 14px;
background: rgba(79,172,254,0.08); border: 1px solid rgba(79,172,254,0.12);
font-size: 13px; line-height: 1.5; color: #315576;
}
.de-schedule-result {
padding: 10px 12px; border-radius: 12px; font-size: 13px; line-height: 1.5;
}
.de-schedule-result--success {
color: #176a3a; background: rgba(27,156,90,0.1); border: 1px solid rgba(27,156,90,0.2);
}
.de-schedule-result--pending {
color: #7a5509; background: rgba(245,173,45,0.12); border: 1px solid rgba(245,173,45,0.24);
}
.de-schedule-result--error {
color: #ad3434; background: rgba(224,72,72,0.1); border: 1px solid rgba(224,72,72,0.2);
}
.de-schedule-footer { display: flex; justify-content: flex-end; gap: 12px; }
.de-schedule-btn-secondary {
padding: 8px 14px; border: none; border-radius: 999px; cursor: pointer;
color: #3c6486; background: rgba(79,172,254,0.12);
}
.de-schedule-btn-primary {
padding: 8px 18px; border: none; border-radius: 999px; cursor: pointer;
color: #fff; background: linear-gradient(135deg, rgba(79,172,254,0.92), rgba(0,242,254,0.86));
box-shadow: 0 4px 12px rgba(79,172,254,0.22);
}
.de-schedule-btn-primary:disabled { opacity: 0.55; cursor: not-allowed; }