@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400&display=swap";:root{--bg-page: #f5f7fa;--bg-sidebar: #ffffff;--bg-card: #ffffff;--bg-elevated: #f8f9fc;--bg-hover: #f1f5f9;--bg-active: #eef2ff;--bg-input: #f8f9fc;--border-light: #eef0f4;--border-default: #e2e8f0;--border-strong: #cbd5e1;--text-primary: #1a1d26;--text-secondary: #5b6377;--text-muted: #94a3b8;--text-inverse: #ffffff;--accent: #6366f1;--accent-light: #eef2ff;--accent-hover: #4f46e5;--accent-text: #4338ca;--positive: #10b981;--positive-light: #ecfdf5;--positive-text: #059669;--negative: #ef4444;--negative-light: #fef2f2;--negative-text: #dc2626;--warning: #f59e0b;--warning-light: #fffbeb;--info: #3b82f6;--info-light: #eff6ff;--purple: #8b5cf6;--purple-light: #f5f3ff;--shadow-xs: 0 1px 2px rgba(0,0,0,.04);--shadow-sm: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 16px rgba(0,0,0,.06), 0 1px 3px rgba(0,0,0,.04);--shadow-lg: 0 12px 40px rgba(0,0,0,.1);--font-body: "Plus Jakarta Sans", system-ui, sans-serif;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--sidebar-width: 260px;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1)}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;background:var(--bg-page);color:var(--text-primary);font-family:var(--font-body);font-size:14px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background:var(--accent-light);color:var(--accent-text)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}input,select,textarea{font-family:var(--font-body);font-size:14px}button{font-family:var(--font-body);cursor:pointer}a{color:inherit;text-decoration:none}[data-hover=lift]{transition:transform .25s var(--ease-out-expo),box-shadow .25s ease}[data-hover=lift]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}[data-hover=glow]{transition:transform .2s var(--ease-out-expo),box-shadow .2s ease}[data-hover=glow]:hover{transform:translateY(-1px);box-shadow:0 4px 20px #6366f140}[data-hover=subtle]{transition:background .15s ease}[data-hover=subtle]:hover{background:var(--bg-hover)!important}nav a{transition:all .15s ease!important}nav a:focus,nav a:active,nav a:-moz-focusring{outline:none!important;box-shadow:none!important;-webkit-tap-highlight-color:transparent}nav a:focus-visible{outline:2px solid var(--accent)!important;outline-offset:-2px;border-radius:var(--radius-md)}nav a:hover{background:var(--bg-hover)!important;color:var(--text-primary)!important}tr[data-hover=row]{transition:background .1s ease}tr[data-hover=row]:hover{background:var(--bg-hover)!important}input:focus,select:focus,textarea:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px var(--accent-light)!important}.chat-fab-ring{position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--accent);opacity:0;animation:fabPulse 2.5s ease-in-out infinite}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes revealUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes revealScale{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideRight{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes fabPulse{0%,to{opacity:0;transform:scale(1)}50%{opacity:.4;transform:scale(1.15)}}@keyframes breathe{0%,to{box-shadow:0 0 #34d39933}50%{box-shadow:0 0 20px 4px #34d39926}}@keyframes progressFill{0%{width:0%}}@keyframes modalIn{0%{opacity:0;transform:scale(.92) translateY(16px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}@keyframes chatPanelIn{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes barGrow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}
