:root{--color-primary:#07c160;--color-primary-light:#38d97a;--color-primary-dark:#06a050;--color-primary-bg:#e6f7ee;--color-primary-bg-hover:#d4f0e2;--color-blue:#1677ff;--color-blue-bg:#e6f0ff;--color-orange:#ff8c00;--color-orange-bg:#fff4e6;--color-red:#ff4d4f;--color-red-bg:#fff0f0;--color-purple:#7c3aed;--color-purple-bg:#f0e6ff;--color-yellow:#faad14;--color-yellow-bg:#fffbe6;--color-bg-page:#f5f5f5;--color-bg-card:#fff;--color-bg-section:#fafafa;--color-bg-hover:#f0f0f0;--color-bg-active:#e8e8e8;--color-text-primary:#1a1a1a;--color-text-secondary:#666;--color-text-tertiary:#999;--color-text-placeholder:#bfbfbf;--color-text-inverse:#fff;--color-border:#e8e8e8;--color-border-light:#f0f0f0;--color-divider:#ececec;--shadow-sm:0 1px 3px #0000000d;--shadow-md:0 2px 8px #00000014;--shadow-lg:0 4px 16px #0000001f;--shadow-card:0 1px 4px #0000000f;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-pill:100px;--radius-circle:50%;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--font-family:"PingFang SC", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--font-size-xs:11px;--font-size-sm:12px;--font-size-base:14px;--font-size-md:15px;--font-size-lg:16px;--font-size-xl:18px;--font-size-2xl:20px;--font-size-3xl:24px;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.3;--line-height-normal:1.5;--line-height-relaxed:1.7;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.35s ease;--z-dropdown:100;--z-modal:200;--z-toast:300;--z-tooltip:400;--sidebar-width:48%;--topbar-height:52px;--bottombar-height:56px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;font-size:14px}body{font-family:var(--font-family);color:var(--color-text-primary);background-color:var(--color-bg-page);line-height:var(--line-height-normal);min-height:100vh;overflow:hidden}a{color:var(--color-primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-primary-dark)}button{cursor:pointer;font-family:inherit;font-size:inherit;transition:all var(--transition-fast);background:0 0;border:none}input,textarea,select{font-family:inherit;font-size:inherit;outline:none}img{max-width:100%;display:block}ul,ol{list-style:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#0000001f;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#0003}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fadeIn{animation:fadeIn var(--transition-base) both}.animate-fadeInUp{animation:fadeInUp var(--transition-base) both}.animate-fadeInDown{animation:fadeInDown var(--transition-base) both}.animate-slideInLeft{animation:slideInLeft var(--transition-base) both}.animate-pulse{animation:1.5s ease-in-out infinite pulse}.animate-spin{animation:1s linear infinite spin}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.tag-lifecycle{background:var(--color-primary-bg);color:var(--color-primary-dark);border:1px solid #07c16033}.tag-intent{background:var(--color-blue-bg);color:var(--color-blue);border:1px solid #1677ff33}.tag-risk{background:var(--color-red-bg);color:var(--color-red);border:1px solid #ff4d4f33}.tag-status{background:var(--color-bg-section);color:var(--color-text-secondary);border:1px solid var(--color-border)}.tag-custom{background:var(--color-purple-bg);color:var(--color-purple);border:1px solid #7c3aed33}.tag-warning{background:var(--color-orange-bg);color:var(--color-orange);border:1px solid #ff8c0033}.btn-primary{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--color-primary);color:var(--color-text-inverse);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);transition:all var(--transition-fast);cursor:pointer;border:none;display:inline-flex}.btn-primary:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:0 2px 8px #07c1604d}.btn-primary:active{transform:translateY(0)}.btn-secondary{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--color-bg-card);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);transition:all var(--transition-fast);cursor:pointer;display:inline-flex}.btn-secondary:hover{background:var(--color-bg-hover);border-color:var(--color-primary);color:var(--color-primary)}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200% 100%;animation:1.5s ease-in-out infinite shimmer}.status-dot{border-radius:var(--radius-circle);width:8px;height:8px;display:inline-block}.status-dot.online{background:var(--color-primary);box-shadow:0 0 0 2px #07c16033}.status-dot.offline{background:var(--color-text-tertiary)}.status-dot.away{background:var(--color-yellow)}.badge{background:var(--color-red);color:#fff;min-width:18px;height:18px;font-size:11px;font-weight:var(--font-weight-bold);border-radius:var(--radius-pill);justify-content:center;align-items:center;padding:0 5px;line-height:1;display:inline-flex}.divider{background:var(--color-divider);width:100%;height:1px}.text-ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.text-ellipsis-2{-webkit-line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.animate-slideInRight{animation:slideInRight var(--transition-normal) ease both}.animate-scaleIn{animation:scaleIn var(--transition-fast) ease both}
