.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);background:var(--sidebar-bg);display:flex;flex-direction:column;height:100vh;position:relative;z-index:100;overflow:hidden}.sidebar:after{content:"";position:absolute;top:0;right:0;bottom:0;width:1px;background:linear-gradient(to bottom,transparent,rgba(0,174,239,.3),transparent)}.sidebar-logo{display:flex;align-items:center;gap:12px;padding:24px 20px;border-bottom:1px solid rgba(255,255,255,.06)}.sidebar-logo-icon{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,#00AEEF,#0090c7);display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:#fff;flex-shrink:0;box-shadow:0 4px 14px #00aeef66}.sidebar-logo-text{display:flex;flex-direction:column}.sidebar-logo-title{font-size:1rem;font-weight:700;color:#fff;line-height:1.2}.sidebar-logo-sub{font-size:.7rem;color:#00aeef;font-weight:500;text-transform:uppercase;letter-spacing:.1em}.sidebar-nav{flex:1;padding:16px 12px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.sidebar-section-label{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:#475569;padding:8px 10px 4px}.sidebar-item{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:10px;color:var(--sidebar-text);font-size:.875rem;font-weight:500;transition:var(--transition);text-decoration:none;position:relative;overflow:hidden;animation:slideInLeft .4s cubic-bezier(.4,0,.2,1) both;animation-delay:calc(var(--i, 0) * 50ms)}.sidebar-item:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(0,174,239,.08);opacity:0;transition:opacity .2s;border-radius:10px}.sidebar-item:hover{color:#fff;background:rgba(255,255,255,.06)}.sidebar-item:hover:before{opacity:1}.sidebar-item.active{color:#fff;background:linear-gradient(135deg,rgba(0,174,239,.2),rgba(0,174,239,.08));box-shadow:inset 2px 0 #00aeef;transform:translate(4px)}.sidebar-item.active .sidebar-item-icon{color:#00aeef}.sidebar-item-icon{font-size:1.1rem;flex-shrink:0;transition:var(--transition)}.sidebar-footer{padding:16px 12px;border-top:1px solid rgba(255,255,255,.06);display:flex;align-items:center;gap:8px}.sidebar-user{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.sidebar-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#00AEEF,#F5A623);display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:700;color:#fff;flex-shrink:0;transition:transform .3s ease}.sidebar-user:hover .sidebar-avatar{transform:scale(1.08) rotate(5deg)}.sidebar-user-info{display:flex;flex-direction:column;min-width:0}.sidebar-user-name{font-size:.8rem;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role{font-size:.68rem;font-weight:500;display:flex;align-items:center;gap:3px;text-transform:capitalize}.sidebar-logout{width:34px;height:34px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:transparent;color:#64748b;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem;transition:var(--transition);flex-shrink:0}.sidebar-logout svg{transition:transform .2s cubic-bezier(.4,0,.2,1)}.sidebar-logout:hover{background:rgba(239,68,68,.15);border-color:#ef44444d;color:#ef4444}.sidebar-logout:hover svg{transform:translate(3px)}.navbar{height:var(--navbar-height);background:var(--bg-card);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 28px;flex-shrink:0;position:sticky;top:0;z-index:50;box-shadow:0 1px 3px #0000000a}.navbar-breadcrumbs{display:flex;align-items:center;gap:0;font-size:.875rem;animation:slideInLeft .35s cubic-bezier(.4,0,.2,1) both}.navbar-crumb-home{color:var(--text-muted);font-weight:500;text-decoration:none;transition:var(--transition)}.navbar-crumb-home:hover{color:var(--primary)}.navbar-crumb-group{display:flex;align-items:center}.navbar-crumb-sep{color:var(--border-hover);margin:0 8px;font-size:.8rem}.navbar-crumb{color:var(--text-muted);text-decoration:none;font-weight:500;transition:var(--transition)}.navbar-crumb:hover{color:var(--primary)}.navbar-crumb-active{color:var(--text-primary);font-weight:600}.navbar-right{display:flex;align-items:center;gap:16px;animation:slideInRight .35s cubic-bezier(.4,0,.2,1) both}.navbar-greeting{font-size:.85rem;color:var(--text-secondary)}.navbar-username{font-weight:600;color:var(--text-primary)}.navbar-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#00AEEF,#F5A623);display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;color:#fff;cursor:pointer;transition:var(--transition);box-shadow:0 2px 8px #00aeef4d}.navbar-avatar:hover{transform:scale(1.08)}.theme-toggle-btn{background:transparent;border:1.5px solid var(--border);color:var(--text-secondary);cursor:pointer;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.15rem;transition:var(--transition)}.theme-toggle-btn:hover{background:var(--bg);color:var(--primary);border-color:var(--primary);transform:rotate(15deg) scale(1.05)}.navbar-mobile-toggle{display:none;background:transparent;border:none;color:var(--text-primary);font-size:1.4rem;cursor:pointer;padding:6px;border-radius:8px;align-items:center;justify-content:center;transition:var(--transition)}.navbar-mobile-toggle:hover{background:var(--bg);color:var(--primary)}@media (max-width: 768px){.navbar-mobile-toggle{display:flex}.navbar{padding:0 16px}.navbar-greeting{display:none}}input[type=password]::-ms-reveal,input[type=password]::-ms-clear,input[type=password]::-webkit-credentials-auto-fill-button,input[type=password]::-webkit-textfield-decoration-container{display:none!important;visibility:hidden!important}.login-page{--primary: #00AEEF;--primary-dark: #0090c7;--bg: #F4F7FB;--bg-card: #ffffff;--text-primary: #1E293B;--text-secondary: #64748B;--text-muted: #94A3B8;--border: #E2E8F0;--border-hover: #CBD5E1;--primary-light: #e0f5fd;--danger: #EF4444;--danger-light: #FEE2E2;--shadow-sm: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 16px rgba(0,0,0,.08), 0 2px 8px rgba(0,0,0,.04);--shadow-lg: 0 10px 40px rgba(0,0,0,.1), 0 4px 16px rgba(0,0,0,.06);display:flex;min-height:100vh;background:url(/login_bg.png) no-repeat center center;background-size:cover;position:relative}.login-page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;transition:background .3s ease;pointer-events:none;z-index:1}.login-left{flex:.43;background:transparent;display:flex;flex-direction:column;padding:48px;position:relative;overflow:hidden;z-index:2}.login-left-content{flex:1;display:flex;flex-direction:column;justify-content:center;gap:24px;position:relative;z-index:2}.login-brand-icon{width:64px;height:64px;border-radius:16px;background:linear-gradient(135deg,#00AEEF,#0090c7);display:flex;align-items:center;justify-content:center;font-size:2rem;color:#fff;box-shadow:0 8px 32px #00aeef66;animation:float 4s ease-in-out infinite}.login-hero-title{font-size:3rem;font-weight:800;color:#1e293b;line-height:1.15}.login-hero-accent{background:linear-gradient(135deg,#00AEEF,#F5A623);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-hero-sub{font-size:1rem;color:#64748b;line-height:1.7;max-width:360px}.login-features{display:flex;flex-direction:column;gap:12px}.login-feature-item{display:flex;align-items:center;gap:12px;font-size:.9rem;color:#475569;font-weight:500}.login-feature-dot{width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,#00AEEF,#F5A623);flex-shrink:0}.blob{position:absolute;border-radius:50%;filter:blur(60px);pointer-events:none}.blob-1{width:300px;height:300px;background:rgba(0,174,239,.12);top:-80px;right:-80px}.blob-2{width:200px;height:200px;background:rgba(245,166,35,.1);bottom:80px;left:-40px}.blob-3{width:150px;height:150px;background:rgba(0,174,239,.08);bottom:200px;right:60px}.login-left-footer{position:relative;z-index:2;font-size:.8rem;color:#64748b;text-align:center;padding-top:20px}.login-right{flex:1.15;display:flex;align-items:center;justify-content:center;padding:40px 32px;z-index:2}.login-card{width:100%;max-width:440px;background:var(--bg-card);border:1px solid var(--border);border-radius:24px;padding:16px 44px 48px;box-shadow:var(--shadow-lg);animation:scaleIn .45s cubic-bezier(.34,1.56,.64,1);transition:background .3s ease,border-color .3s ease,opacity .4s ease,transform .4s ease}.login-logo{animation:staggerFadeUp .4s cubic-bezier(.4,0,.2,1) .1s both}.login-title{animation:staggerFadeUp .4s cubic-bezier(.4,0,.2,1) .18s both}.login-subtitle{animation:staggerFadeUp .4s cubic-bezier(.4,0,.2,1) .24s both}.login-form .form-group:nth-child(1){animation:staggerFadeUp .4s cubic-bezier(.4,0,.2,1) .32s both}.login-form .form-group:nth-child(2){animation:staggerFadeUp .4s cubic-bezier(.4,0,.2,1) .4s both}.login-submit-btn{animation:staggerFadeUp .4s cubic-bezier(.4,0,.2,1) .48s both}.login-footer-text{animation:staggerFadeUp .4s cubic-bezier(.4,0,.2,1) .54s both}.login-page.login-success .login-card{opacity:0;transform:scale(.96) translateY(-8px)}.login-page.login-success{animation:fadeOut .4s cubic-bezier(.4,0,.2,1) .15s both}.login-submit-btn.btn-success-state{background:linear-gradient(135deg,#10B981,#059669)!important;animation:successPulse .6s ease}.login-form .form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #00aeef1f,0 2px 8px #00aeef14;transform:translateY(-1px);transition:all .2s cubic-bezier(.4,0,.2,1)}.login-form .form-input{transition:all .2s cubic-bezier(.4,0,.2,1)}.login-logo{display:flex;align-items:center;gap:14px;margin-bottom:4px;justify-content:center}.login-logo-img{max-width:200px;height:auto}.login-title{font-size:1.75rem;font-weight:700;text-align:center;color:var(--text-primary);margin-bottom:6px}.login-subtitle{font-size:.875rem;color:var(--text-secondary);text-align:center;margin-bottom:28px}.login-form{display:flex;flex-direction:column;gap:18px}.login-submit-btn{margin-top:8px;height:52px;font-size:1rem;letter-spacing:.01em;border-radius:12px}.login-footer-text{font-size:.72rem;color:var(--text-muted);text-align:center;margin-top:28px}@media (max-width: 900px){.login-left{display:none}.login-right{flex:1}}@media (max-width: 480px){.login-right{padding:20px 16px}.login-card{padding:36px 28px;border-radius:20px}.login-hero-title{font-size:2.2rem}}.login-card{background:#ffffff!important;border-color:#e2e8f0!important;box-shadow:0 10px 40px #0000000f,0 4px 16px #0000000a!important}.login-title{color:#1e293b!important}.login-subtitle{color:#64748b!important}.login-form .form-input{background:#F4F7FB!important;border-color:#e2e8f0!important;color:#1e293b!important}.login-form .form-input::placeholder{color:#94a3b8!important}.login-form .input-icon,.login-form .input-icon-right{color:#64748b!important}.login-submit-btn{background:#00AEEF!important;color:#fff!important}.login-submit-btn:hover{background:#0090c7!important}.login-footer-text{color:#94a3b8!important}.login-helper-links{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;margin-top:4px;margin-bottom:8px}.login-helper-links.center{justify-content:center;margin-top:16px;margin-bottom:0}.login-link{color:#00aeef!important;font-weight:500;cursor:pointer;transition:color .15s ease}.login-link:hover{color:#0090c7!important;text-decoration:underline}.login-page .alert-error{background:#FEE2E2!important;color:#991b1b!important;border-color:#fca5a5!important}.login-page .alert-success{background:#D1FAE5!important;color:#065f46!important;border-color:#6ee7b7!important}.login-page .alert-info{background:#e0f5fd!important;color:#0369a1!important;border-color:#bae6fd!important}.login-page .alert-warning{background:#FEF3C7!important;color:#92400e!important;border-color:#fcd34d!important}.agent-chat-container{display:flex;margin:-28px -32px;height:calc(100vh - var(--navbar-height));width:calc(100% + 64px);overflow:hidden;background:var(--bg);font-family:Inter,sans-serif;position:relative}.chat-history-sidebar{width:260px;background:var(--bg-card);border-right:1px solid var(--border);display:flex;flex-direction:column;height:100%;flex-shrink:0;transition:transform .3s cubic-bezier(.4,0,.2,1),width .3s cubic-bezier(.4,0,.2,1);position:relative;z-index:10}.chat-history-sidebar.collapsed{width:0;transform:translate(-260px);border-right:none}.chat-sidebar-header{padding:16px;border-bottom:1px solid var(--border);flex-shrink:0}.new-chat-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border:none;border-radius:var(--radius-md);font-size:.9rem;font-weight:600;cursor:pointer;box-shadow:0 4px 14px #00aeef40;transition:var(--transition)}.new-chat-btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px #00aeef59;filter:brightness(1.05)}.new-chat-btn:active{transform:translateY(0) scale(.98)}.chat-sessions-list{flex:1;overflow-y:auto;padding:12px 8px;display:flex;flex-direction:column;gap:4px}.chat-sessions-list-title{font-size:.68rem;font-weight:600;text-transform:uppercase;color:var(--text-muted);letter-spacing:.05em;padding:6px 12px}.chat-session-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:var(--transition);text-decoration:none;gap:8px;position:relative;border:1px solid transparent}.chat-session-item:hover{background:var(--bg);color:var(--text-primary)}.chat-session-item.active{background:var(--primary-light);color:var(--primary-dark);border-color:#00aeef26;font-weight:500}.chat-session-meta{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.chat-session-icon{font-size:1.1rem;flex-shrink:0}.chat-session-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem}.delete-session-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;opacity:0;transition:opacity .2s,color .2s,background .2s;display:flex;align-items:center;justify-content:center;padding:4px;border-radius:6px}.chat-session-item:hover .delete-session-btn{opacity:.7}.chat-session-item:hover .delete-session-btn:hover{opacity:1;color:var(--danger);background:var(--danger-light)}.chat-main{flex:1;display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative;background:var(--bg)}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;background:var(--bg-card);border-bottom:1px solid var(--border);height:60px;flex-shrink:0;z-index:5;box-shadow:0 1px 3px #00000005}.chat-header-left{display:flex;align-items:center;gap:12px}.sidebar-toggle-btn{background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary);transition:var(--transition)}.sidebar-toggle-btn:hover{background:var(--bg);color:var(--text-primary);border-color:var(--border-hover)}.chat-header-info{display:flex;flex-direction:column}.chat-header-title{font-size:.95rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px;line-height:1.2}.chat-header-subtitle{font-size:.72rem;color:var(--text-secondary);margin-top:2px}.online-indicator{width:7px;height:7px;border-radius:50%;background:var(--success);position:relative;display:inline-block}.online-indicator:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:50%;border:2px solid var(--success);animation:pulse 1.8s infinite;opacity:.6}.chat-header-right{display:flex;align-items:center;gap:8px}.chat-messages-container{flex:1;overflow-y:auto;padding:32px 24px;display:flex;flex-direction:column;gap:24px}.chat-message-row{display:flex;gap:14px;max-width:82%;animation:slideUp .3s cubic-bezier(.18,.89,.32,1.28) both}.chat-message-row.user{align-self:flex-end;flex-direction:row-reverse}.chat-message-row.model{align-self:flex-start}.message-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.95rem;color:#fff;box-shadow:var(--shadow-sm)}.chat-message-row.user .message-avatar{background:linear-gradient(135deg,var(--accent),var(--accent-dark))}.chat-message-row.model .message-avatar{background:linear-gradient(135deg,var(--primary),var(--primary-dark))}.message-bubble{padding:12px 18px;border-radius:16px;font-size:.92rem;line-height:1.55;box-shadow:0 1px 2px #0000000d}.chat-message-row.user .message-bubble{background:linear-gradient(135deg,#00AEEF,#0090c7);color:#fff;border-top-right-radius:2px}.chat-message-row.user .message-bubble p,.chat-message-row.user .message-bubble li,.chat-message-row.user .message-bubble span,.chat-message-row.user .message-bubble strong,.chat-message-row.user .message-bubble a,.chat-message-row.user .message-bubble code,.chat-message-row.user .message-bubble h1,.chat-message-row.user .message-bubble h2,.chat-message-row.user .message-bubble h3,.chat-message-row.user .message-bubble h4,.chat-message-row.user .message-bubble h5,.chat-message-row.user .message-bubble h6{color:#fff!important}.chat-message-row.model .message-bubble{background:var(--bg-card);color:var(--text-primary);border-top-left-radius:2px;border:1px solid var(--border)}.markdown-content p{margin-bottom:12px}.markdown-content p:last-child{margin-bottom:0}.markdown-content ul,.markdown-content ol{margin-bottom:12px;padding-left:20px}.markdown-content li{margin-bottom:6px}.markdown-content strong{font-weight:600;color:var(--text-primary)}.chat-message-row.user .markdown-content strong{color:#fff}.markdown-content h1,.markdown-content h2,.markdown-content h3{margin:16px 0 8px;font-weight:600;color:var(--text-primary)}.chat-message-row.user .markdown-content h1,.chat-message-row.user .markdown-content h2,.chat-message-row.user .markdown-content h3{color:#fff}.markdown-content h1{font-size:1.25rem}.markdown-content h2{font-size:1.12rem}.markdown-content h3{font-size:1.02rem}.chat-table-wrapper{width:100%;overflow-x:auto;margin:16px 0;border-radius:var(--radius-sm);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.markdown-content table{width:100%;border-collapse:collapse;font-size:.85rem;background:var(--bg-card)}.markdown-content th,.markdown-content td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--border)}.markdown-content th{background:var(--primary-light);color:var(--primary-dark);font-weight:600;text-transform:uppercase;font-size:.76rem;letter-spacing:.02em}.markdown-content tr:last-child td{border-bottom:none}.markdown-content tr:nth-child(2n){background:rgba(0,0,0,.015)}[data-theme=dark] .markdown-content tr:nth-child(2n){background:rgba(255,255,255,.015)}.chat-code-block{margin:14px 0;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border)}.chat-code-header{background:#181F2F;color:#94a3b8;padding:6px 14px;display:flex;justify-content:space-between;align-items:center;font-size:.72rem;border-bottom:1px solid #1E293B;font-family:inherit}.chat-code-lang{text-transform:uppercase;font-weight:600;letter-spacing:.05em}.chat-copy-btn{background:transparent;border:none;color:#64748b;cursor:pointer;display:flex;align-items:center;gap:4px;font-size:.72rem;transition:color .2s,transform .2s;padding:2px 6px;border-radius:4px}.chat-copy-btn:hover{color:#f8fafc;background:rgba(255,255,255,.05)}.chat-copy-btn:active{transform:scale(.95)}.chat-code-content{margin:0;padding:14px;background:#090D16;color:#38bdf8;font-family:Consolas,Courier New,Courier,monospace;font-size:.82rem;overflow-x:auto;line-height:1.5}.chat-excel-download-card{display:flex;align-items:center;gap:16px;background:linear-gradient(135deg,rgba(16,124,65,.08),rgba(16,124,65,.03));border:1px solid rgba(16,124,65,.28);border-radius:var(--radius-md);padding:14px 18px;margin:16px 0;cursor:pointer;transition:var(--transition);animation:pulseExcelBorder 2.5s infinite;box-shadow:var(--shadow-sm);max-width:460px}.chat-excel-download-card:hover{transform:translateY(-2px);border-color:#107c41;box-shadow:0 6px 18px #107c4126;background:linear-gradient(135deg,rgba(16,124,65,.12),rgba(16,124,65,.05))}.excel-card-icon{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,#107c41,#0b592e);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.3rem;flex-shrink:0;box-shadow:0 4px 10px #107c4140}.excel-card-info{display:flex;flex-direction:column;flex:1;min-width:0}.excel-card-title{font-size:.88rem;font-weight:600;color:#107c41;display:flex;align-items:center;gap:4px}.excel-card-filename{font-size:.7rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.excel-card-action{color:#107c41;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:transform .2s cubic-bezier(.4,0,.2,1);padding:4px;border-radius:50%}.chat-excel-download-card:hover .excel-card-action{transform:translate(2px);background:rgba(16,124,65,.05)}.typing-indicator-wrapper{align-self:flex-start}.typing-indicator{display:flex;gap:4px;padding:12px 18px;background:var(--bg-card);border:1px solid var(--border);border-radius:2px 16px 16px;align-items:center;box-shadow:var(--shadow-sm)}.typing-dot{width:6px;height:6px;background:var(--text-secondary);border-radius:50%;animation:blink 1.4s infinite both}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}.empty-chat-state{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;text-align:center;padding:40px 24px;max-width:800px;margin:0 auto;animation:fadeIn .5s ease-out}.empty-logo-ring{width:72px;height:72px;border-radius:50%;background:var(--primary-light);display:flex;align-items:center;justify-content:center;font-size:2.2rem;color:var(--primary);margin-bottom:20px;box-shadow:0 8px 24px #00aeef26;animation:float 4s ease-in-out infinite;border:1px solid rgba(0,174,239,.1)}.empty-title{font-size:1.45rem;font-weight:700;margin-bottom:8px;color:var(--text-primary)}.empty-subtitle{color:var(--text-secondary);margin-bottom:36px;max-width:500px;font-size:.9rem;line-height:1.5}.suggestions-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;width:100%;max-width:620px}.suggestion-card{background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius-md);padding:14px 16px;text-align:left;cursor:pointer;transition:var(--transition);display:flex;flex-direction:column;gap:4px;box-shadow:var(--shadow-sm)}.suggestion-card:hover{border-color:var(--primary);background:var(--primary-light);transform:translateY(-2px);box-shadow:var(--shadow-md)}.suggestion-card-title{font-size:.85rem;font-weight:600;color:var(--text-primary);line-height:1.3}.suggestion-card-desc{font-size:.72rem;color:var(--text-secondary);line-height:1.3}.chat-input-area{padding:16px 24px 20px;background:var(--bg-card);border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px;flex-shrink:0;z-index:5}.chat-input-wrapper{display:flex;align-items:flex-end;gap:12px;background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius-md);padding:8px 12px;transition:var(--transition);max-width:820px;width:100%;margin:0 auto}.chat-input-wrapper:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #00aeef1f;background:var(--bg-card)}.chat-input-field{flex:1;background:transparent;border:none;outline:none;color:var(--text-primary);font-family:inherit;font-size:.9rem;resize:none;max-height:140px;min-height:24px;line-height:1.5;padding:6px 4px;overflow-y:auto}.chat-input-field::placeholder{color:var(--text-muted)}.send-msg-btn{background:var(--primary);color:#fff;border:none;width:34px;height:34px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition);flex-shrink:0;box-shadow:0 2px 8px #00aeef33}.send-msg-btn:hover:not(:disabled){background:var(--primary-dark);transform:scale(1.04);box-shadow:0 4px 12px #00aeef4d}.send-msg-btn:active:not(:disabled){transform:scale(.96)}.send-msg-btn:disabled{background:var(--border);color:var(--text-muted);cursor:not-allowed;box-shadow:none}.chat-disclaimer{font-size:.7rem;color:var(--text-muted);text-align:center;max-width:800px;margin:0 auto}@keyframes pulse{0%{transform:scale(1);opacity:.6}50%{transform:scale(1.7);opacity:0}to{transform:scale(1);opacity:0}}@keyframes blink{0%{opacity:.2}20%{opacity:1}to{opacity:.2}}@keyframes slideUp{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-6px)}to{transform:translateY(0)}}@keyframes pulseExcelBorder{0%{border-color:#107c4140}50%{border-color:#107c418c}to{border-color:#107c4140}}@media (max-width: 768px){.agent-chat-container{margin:-20px -16px;width:calc(100% + 32px)}.chat-history-sidebar{position:absolute;left:0;top:60px;bottom:0;z-index:40;width:260px;box-shadow:var(--shadow-lg);transform:translate(-100%);border-right:1px solid var(--border)}.chat-history-sidebar.open-mobile{transform:translate(0)}.chat-history-sidebar.collapsed{transform:translate(-100%);width:260px}.chat-messages-container{padding:20px 16px}.chat-message-row{max-width:92%}.suggestions-grid{grid-template-columns:1fr;gap:10px}.chat-header{padding:10px 16px}.chat-input-area{padding:12px 16px 16px}}.chat-last-action-banner{display:flex;align-items:center;gap:8px;padding:8px 24px;background:var(--bg-card);border-bottom:1px solid var(--border);font-size:.8rem;color:var(--text-secondary);animation:fadeIn .3s ease-out}.chat-last-action-banner .last-action-label{font-weight:700;color:var(--primary);text-transform:uppercase;font-size:.72rem;letter-spacing:.05em}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-ef572f91.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-5cb2f1cc.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-f0bb5864.woff2) format("woff2"),url(/assets/inter-cyrillic-400-normal-6e441a6c.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-eadedd9e.woff2) format("woff2"),url(/assets/inter-greek-ext-400-normal-4f2b6f92.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-c15ddd00.woff2) format("woff2"),url(/assets/inter-greek-400-normal-bdae9d28.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-547ad9fd.woff2) format("woff2"),url(/assets/inter-vietnamese-400-normal-54aa42d3.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-6744a7f5.woff2) format("woff2"),url(/assets/inter-latin-ext-400-normal-22ae8360.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-8909904a.woff2) format("woff2"),url(/assets/inter-latin-400-normal-e20fa0b4.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-1c2db92d.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-e250c05a.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-b77a86ec.woff2) format("woff2"),url(/assets/inter-cyrillic-500-normal-5be18e03.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-75a9ec93.woff2) format("woff2"),url(/assets/inter-greek-ext-500-normal-c85d11bd.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-cc197d79.woff2) format("woff2"),url(/assets/inter-greek-500-normal-86d55a4b.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-44e36aa5.woff2) format("woff2"),url(/assets/inter-vietnamese-500-normal-18a4a09f.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-2c6fbc42.woff2) format("woff2"),url(/assets/inter-latin-ext-500-normal-30d2903c.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-f3779f1e.woff2) format("woff2"),url(/assets/inter-latin-500-normal-9b42c108.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-509fca9c.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-a5073285.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-6c2a37f8.woff2) format("woff2"),url(/assets/inter-cyrillic-600-normal-cc190ed1.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-399f94d7.woff2) format("woff2"),url(/assets/inter-greek-ext-600-normal-efc7aa9c.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-9c5a897f.woff2) format("woff2"),url(/assets/inter-greek-600-normal-090b24e2.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-1aeb94ae.woff2) format("woff2"),url(/assets/inter-vietnamese-600-normal-24a01e7b.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-e4bdf67b.woff2) format("woff2"),url(/assets/inter-latin-ext-600-normal-22ff20a6.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-f9a06e79.woff2) format("woff2"),url(/assets/inter-latin-600-normal-6a9cb3a5.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-ext-700-normal-a46b9978.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-700-normal-0f3d4be2.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-700-normal-5917871d.woff2) format("woff2"),url(/assets/inter-cyrillic-700-normal-72b6daa4.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-ext-700-normal-b7b2732e.woff2) format("woff2"),url(/assets/inter-greek-ext-700-normal-b26ed64c.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-700-normal-737c6c91.woff2) format("woff2"),url(/assets/inter-greek-700-normal-53368f53.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-vietnamese-700-normal-5fafa382.woff2) format("woff2"),url(/assets/inter-vietnamese-700-normal-412023ab.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-143f9504.woff2) format("woff2"),url(/assets/inter-latin-ext-700-normal-1761edba.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-6f56409f.woff2) format("woff2"),url(/assets/inter-latin-700-normal-7c5ed565.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--primary: #00AEEF;--primary-dark: #0090c7;--primary-light: #e0f5fd;--accent: #F5A623;--accent-dark: #d4891a;--bg: #F4F7FB;--bg-card: #ffffff;--sidebar-bg: #0F172A;--sidebar-text: #94A3B8;--sidebar-active: #00AEEF;--text-primary: #1E293B;--text-secondary: #64748B;--text-muted: #94A3B8;--border: #E2E8F0;--border-hover: #CBD5E1;--danger: #EF4444;--danger-light: #FEE2E2;--success: #10B981;--success-light: #D1FAE5;--warning: #F59E0B;--warning-light: #FEF3C7;--shadow-sm: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 16px rgba(0,0,0,.08), 0 2px 8px rgba(0,0,0,.04);--shadow-lg: 0 10px 40px rgba(0,0,0,.1), 0 4px 16px rgba(0,0,0,.06);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--sidebar-width: 260px;--navbar-height: 64px;--transition: all .2s cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--bg: #0B0F19;--bg-card: #151F32;--sidebar-bg: #090D16;--sidebar-text: #64748B;--text-primary: #F8FAFC;--text-secondary: #94A3B8;--text-muted: #475569;--border: #1E293B;--border-hover: #334155;--primary-light: #0B334E;--primary-dark: #38BDF8;--shadow-sm: 0 1px 3px rgba(0,0,0,.3);--shadow-md: 0 4px 16px rgba(0,0,0,.4);--shadow-lg: 0 10px 40px rgba(0,0,0,.5);--danger-light: rgba(239, 68, 68, .15);--success-light: rgba(16, 185, 129, .15);--warning-light: rgba(245, 158, 11, .15)}[data-theme=dark] .badge-danger{color:#f87171;background:rgba(248,113,113,.15)}[data-theme=dark] .badge-accent{color:#fbbf24;background:rgba(251,191,36,.15)}[data-theme=dark] .badge-primary{color:#60a5fa;background:rgba(59,130,246,.15)}[data-theme=dark] .badge-success{color:#fff;background:#059669}[data-theme=dark] .badge-neutral{color:var(--text-secondary);background:rgba(255,255,255,.05)}html,body,#root{height:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:100px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}input[type=password]::-ms-reveal,input[type=password]::-ms-clear{display:none!important}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3;color:var(--text-primary)}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1.1rem}p{color:var(--text-secondary)}a{color:var(--primary);text-decoration:none}a:hover{color:var(--primary-dark)}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:var(--radius-sm);border:none;font-size:.875rem;font-weight:600;font-family:inherit;cursor:pointer;transition:var(--transition);white-space:nowrap;position:relative;overflow:hidden}.btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(255,255,255,.15);transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.4,0,.2,1);pointer-events:none}.btn:hover:after:not(:disabled){transform:scaleX(1)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,#00AEEF,#0090c7);color:#fff;box-shadow:0 4px 14px #00aeef59}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #00aeef73}.btn-primary:active:not(:disabled){transform:translateY(0) scale(.97)}.btn-accent{background:linear-gradient(135deg,#F5A623,#d4891a);color:#fff;box-shadow:0 4px 14px #f5a62359}.btn-accent:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #f5a62373}.btn-outline{background:transparent;color:var(--primary);border:1.5px solid var(--primary)}.btn-outline:hover:not(:disabled){background:var(--primary-light)}.btn-danger{background:linear-gradient(135deg,#EF4444,#DC2626);color:#fff;box-shadow:0 4px 14px #ef44444d}.btn-danger:hover:not(:disabled){transform:translateY(-1px)}.btn-excel{background:linear-gradient(135deg,#107c41,#0b592e);color:#fff;box-shadow:0 4px 14px #107c414d}.btn-excel:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #107c4166}.btn-excel:active:not(:disabled){transform:translateY(0) scale(.97)}.btn-ghost{background:transparent;color:var(--text-secondary);border:1.5px solid var(--border)}.btn-ghost:hover:not(:disabled){background:var(--bg);border-color:var(--border-hover)}.btn-sm{padding:6px 14px;font-size:.8rem}.btn-lg{padding:14px 28px;font-size:1rem;border-radius:var(--radius-md)}.btn-full{width:100%;justify-content:center}.btn-icon{padding:8px;border-radius:var(--radius-sm)}.card{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:var(--transition);display:flex;flex-direction:column}.card:hover{box-shadow:var(--shadow-md)}.card-body{padding:24px;display:flex;flex-direction:column;flex:1}.card-header{padding:20px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}.card-title{font-size:1rem;font-weight:600;color:var(--text-primary)}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-size:.8rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.form-input{width:100%;padding:12px 16px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:.9rem;font-family:inherit;color:var(--text-primary);background:var(--bg-card);transition:var(--transition);outline:none}.form-input::placeholder{color:var(--text-muted)}.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #00aeef1f}.form-input:disabled{background:var(--bg);cursor:not-allowed}.form-select{width:100%;padding:11px 40px 11px 16px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:.9rem;font-weight:500;font-family:inherit;color:var(--text-primary);background-color:var(--bg-card);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px;appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;outline:none;transition:var(--transition)}.form-select:hover{border-color:var(--border-hover)}.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #00aeef1f}.form-select option{background-color:var(--bg-card);color:var(--text-primary);padding:10px}.input-wrapper{position:relative}.input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.input-icon-right{position:absolute;right:14px;top:50%;transform:translateY(-50%);cursor:pointer;color:var(--text-muted)}.has-icon-left .form-input{padding-left:42px}.has-icon-right .form-input{padding-right:42px}.filter-card{position:relative;z-index:20;margin-bottom:28px!important}.filter-row{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-end}.filter-row .form-group{flex:1;min-width:220px;max-width:320px}.results-panel{position:relative;z-index:1}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:100px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.badge-primary{background:var(--primary-light);color:var(--primary-dark)}.badge-accent{background:#FEF3C7;color:#92400e}.badge-success{background:#059669;color:#fff}.badge-danger{background:var(--danger-light);color:#991b1b}.badge-info{background:#EFF6FF;color:#1e40af}.badge-neutral{background:var(--bg);color:var(--text-secondary);border:1px solid var(--border)}.layout{display:flex;height:100vh;overflow:hidden}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.page-content{flex:1;overflow-y:auto;padding:28px 32px}.page-header{margin-bottom:28px}.page-header h1{font-size:1.6rem;font-weight:700}.page-header p{font-size:.9rem;color:var(--text-secondary);margin-top:4px}.page-header-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px;margin-bottom:28px}.stat-card{background:var(--bg-card);border-radius:var(--radius-md);padding:22px;border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;animation:staggerFadeUp .4s cubic-bezier(.4,0,.2,1) both;animation-delay:calc(var(--i, 0) * 80ms)}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary),var(--accent))}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-icon{width:44px;height:44px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:1.25rem;margin-bottom:14px}.stat-value{font-size:1.75rem;font-weight:700;color:var(--text-primary);line-height:1;margin-bottom:6px}.stat-label{font-size:.8rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.stat-change{font-size:.8rem;font-weight:500;margin-top:8px;display:flex;align-items:center;gap:4px}.stat-change.up{color:var(--success)}.stat-change.down{color:var(--danger)}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.grid-auto{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.table-wrapper{overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--border)}.table{width:100%;border-collapse:collapse;font-size:.875rem}.table th{background:var(--bg);padding:12px 16px;text-align:left;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);border-bottom:1px solid var(--border);white-space:nowrap}.table td{padding:14px 16px;border-bottom:1px solid var(--border);color:var(--text-primary);vertical-align:middle}.table tr:last-child td{border-bottom:none}.table tbody tr{transition:var(--transition);animation:staggerFadeUp .3s cubic-bezier(.4,0,.2,1) both;animation-delay:calc(var(--i, 0) * 40ms)}.table tbody tr:hover{background:var(--bg)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:24px}.tab-btn{padding:10px 18px;border:none;background:transparent;font-size:.875rem;font-weight:500;color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:var(--transition);font-family:inherit;border-radius:var(--radius-sm) var(--radius-sm) 0 0}.tab-btn:hover{color:var(--text-primary);background:var(--bg)}.tab-btn.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.alert{display:flex;align-items:flex-start;gap:12px;padding:14px 18px;border-radius:var(--radius-sm);font-size:.875rem}.alert-error{background:var(--danger-light);color:#991b1b;border:1px solid #FCA5A5}.alert-success{background:var(--success-light);color:#065f46;border:1px solid #6EE7B7}.alert-info{background:var(--primary-light);color:var(--primary-dark);border:1px solid #BAE6FD}.alert-warning{background:var(--warning-light);color:#92400e;border:1px solid #FCD34D}[data-theme=dark] .alert-error{color:#fca5a5;border-color:#ef444466}[data-theme=dark] .alert-success{color:#6ee7b7;border-color:#10b98166}[data-theme=dark] .alert-info{color:#7dd3fc;border-color:#00aeef66}[data-theme=dark] .alert-warning{color:#fcd34d;border-color:#f59e0b66}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(15,23,42,.6);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease}.modal{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:520px;animation:scaleIn .3s cubic-bezier(.34,1.56,.64,1);overflow:hidden}.modal-header{padding:24px 28px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.modal-body{padding:24px 28px}.modal-footer{padding:20px 28px;border-top:1px solid var(--border);display:flex;gap:12px;justify-content:flex-end}.spinner{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite}.spinner-sm{width:18px;height:18px;border-width:2px}.loading-center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:200px}.loading-center p{color:var(--text-muted);font-size:.9rem}.empty-state{display:flex;flex-direction:column;align-items:center;gap:12px;padding:60px 20px;text-align:center}.empty-state-icon{font-size:3rem;opacity:.5}.empty-state h3{font-size:1.1rem;color:var(--text-primary)}.empty-state p{font-size:.875rem;color:var(--text-muted);max-width:320px}.divider{height:1px;background:var(--border);margin:20px 0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideUp{0%{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes staggerFadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}@keyframes popIn{0%{opacity:0;transform:scale(.75)}65%{transform:scale(1.06)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes floatSlow{0%,to{transform:translateY(0) rotate(0)}33%{transform:translateY(-6px) rotate(1deg)}66%{transform:translateY(-3px) rotate(-1deg)}}@keyframes glowPulse{0%,to{box-shadow:0 0 #00aeef00}50%{box-shadow:0 0 24px 4px #00aeef40}}@keyframes glowPulseAccent{0%,to{box-shadow:0 0 #f5a62300}50%{box-shadow:0 0 20px 4px #f5a62340}}@keyframes successPulse{0%{box-shadow:0 0 #10b98180}70%{box-shadow:0 0 0 12px #10b98100}to{box-shadow:0 0 #10b98100}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes shimmerText{0%{background-position:-200% center}to{background-position:200% center}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes ripple{0%{transform:scale(0);opacity:.5}to{transform:scale(4);opacity:0}}@keyframes bounce{0%,to{transform:translateY(0);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(-6px);animation-timing-function:cubic-bezier(0,0,.2,1)}}@keyframes rotateIn{0%{opacity:0;transform:rotate(-8deg) scale(.9)}to{opacity:1;transform:rotate(0) scale(1)}}@keyframes countUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes borderGlow{0%,to{border-color:var(--border)}50%{border-color:var(--primary);box-shadow:0 0 12px #00aeef33}}@keyframes sidebarItemIn{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes pageBlurIn{0%{opacity:0;filter:blur(6px);transform:scale(.99)}to{opacity:1;filter:blur(0);transform:scale(1)}}@keyframes tableRowIn{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes badgePop{0%{transform:scale(.7);opacity:0}60%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}@keyframes spinnerArc{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes iconBounce{0%,to{transform:translateY(0) scale(1)}40%{transform:translateY(-4px) scale(1.1)}70%{transform:translateY(-2px) scale(1.05)}}.animate-fade{animation:fadeIn .35s cubic-bezier(.4,0,.2,1) both}.animate-slide{animation:slideInLeft .35s cubic-bezier(.4,0,.2,1) both}.animate-slide-right{animation:slideInRight .35s cubic-bezier(.4,0,.2,1) both}.animate-scale{animation:scaleIn .3s cubic-bezier(.4,0,.2,1) both}.animate-pop{animation:popIn .38s cubic-bezier(.4,0,.2,1) both}.animate-float{animation:float 3s ease-in-out infinite}.animate-float-slow{animation:floatSlow 5s ease-in-out infinite}.animate-bounce{animation:bounce 1.2s infinite}.animate-blur-in{animation:pageBlurIn .45s cubic-bezier(.4,0,.2,1) both}.animate-glow{animation:glowPulse 2.5s ease-in-out infinite}.page-enter{animation:staggerFadeUp .4s cubic-bezier(.4,0,.2,1) both}.animate-delay-1{animation-delay:60ms!important}.animate-delay-2{animation-delay:.12s!important}.animate-delay-3{animation-delay:.18s!important}.animate-delay-4{animation-delay:.24s!important}.animate-delay-5{animation-delay:.3s!important}.animate-delay-6{animation-delay:.38s!important}.animate-delay-7{animation-delay:.46s!important}.animate-page{animation:pageBlurIn .4s cubic-bezier(.4,0,.2,1) both}.app-transition{transition:opacity .35s cubic-bezier(.4,0,.2,1);opacity:1}.app-transition.app-fading-out{opacity:0;pointer-events:none}.stat-card{animation:slideUp .45s cubic-bezier(.4,0,.2,1) both;animation-delay:calc(var(--i, 0) * 80ms);transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1)}.stat-card:hover{transform:translateY(-5px) scale(1.02);box-shadow:var(--shadow-lg)}.stat-card:hover .stat-icon{animation:iconBounce .6s cubic-bezier(.4,0,.2,1)}.stat-value{animation:countUp .5s cubic-bezier(.4,0,.2,1) both;animation-delay:calc(var(--i, 0) * 80ms + .15s)}.card{transition:transform .22s cubic-bezier(.4,0,.2,1),box-shadow .22s cubic-bezier(.4,0,.2,1),border-color .22s cubic-bezier(.4,0,.2,1)}.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:#00aeef40}.project-card{transition:transform .28s cubic-bezier(.4,0,.2,1),box-shadow .28s cubic-bezier(.4,0,.2,1);animation:scaleIn .4s cubic-bezier(.4,0,.2,1) both;animation-delay:calc(var(--i, 0) * 70ms)}.project-card:hover{transform:translateY(-6px) scale(1.018);box-shadow:0 20px 48px #00aeef2e,var(--shadow-lg)}.table tbody tr{animation:tableRowIn .3s cubic-bezier(.4,0,.2,1) both;animation-delay:calc(var(--i, 0) * 40ms);transition:background .15s,transform .15s}.table tbody tr:hover{background:rgba(0,174,239,.04);transform:translate(3px)}.badge{animation:badgePop .3s cubic-bezier(.4,0,.2,1) both;transition:transform .15s,box-shadow .15s}.badge:hover{transform:scale(1.08)}.btn{position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(255,255,255,.12);transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.4,0,.2,1);pointer-events:none}.btn:hover:not(:disabled):before{transform:scaleX(1)}.btn:active:not(:disabled){transform:scale(.96)}.form-input:focus,.form-select:focus{animation:borderGlow 1.5s ease-in-out;border-color:var(--primary)!important;box-shadow:0 0 0 3px #00aeef26!important}.sidebar-item{animation:sidebarItemIn .35s cubic-bezier(.4,0,.2,1) both;animation-delay:calc(var(--i, 0) * 55ms);transition:background .18s,color .18s,transform .18s,padding-left .18s}.sidebar-item:hover:not(.active){transform:translate(4px)}.sidebar-item.active{animation:none}.sidebar-logo-icon{animation:floatSlow 4s ease-in-out infinite}.spinner{width:24px;height:24px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spinnerArc .75s linear infinite;display:inline-block;flex-shrink:0}.spinner-sm{width:16px;height:16px;border-width:2px}.spinner-lg{width:40px;height:40px;border-width:4px}.skeleton{background:linear-gradient(90deg,var(--border) 25%,var(--bg) 50%,var(--border) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}.shimmer-text{background:linear-gradient(120deg,var(--primary) 30%,var(--accent) 50%,var(--primary) 70%);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:shimmerText 3s linear infinite}.gradient-animated{background:linear-gradient(135deg,#00AEEF,#7C3AED,#F5A623,#10B981);background-size:300% 300%;animation:gradientShift 6s ease infinite}.navbar{animation:slideDown .4s cubic-bezier(.4,0,.2,1) both}.alert{animation:slideUp .35s cubic-bezier(.4,0,.2,1) both}.tab-btn{transition:color .18s,border-color .18s,transform .18s}.tab-btn:hover:not(.active){transform:translateY(-2px)}.tab-btn.active{animation:popIn .3s cubic-bezier(.4,0,.2,1)}.empty-state-icon{animation:floatSlow 3.5s ease-in-out infinite;display:inline-block}.recharts-tooltip-wrapper{animation:fadeIn .2s ease both}.page-header{animation:slideDown .38s cubic-bezier(.4,0,.2,1) both}.sidebar-avatar{transition:box-shadow .25s}.sidebar-avatar:hover{box-shadow:0 0 0 3px #00aeef66,0 0 16px #00aeef33}.stat-icon{transition:transform .2s cubic-bezier(.4,0,.2,1)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-20{gap:20px}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-20{margin-top:20px}.mt-24{margin-top:24px}.mb-16{margin-bottom:16px}.mb-20{margin-bottom:20px}.mb-24{margin-bottom:24px}.w-full{width:100%}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.text-primary{color:var(--primary)}.text-danger{color:var(--danger)}.text-success{color:var(--success)}.font-semibold{font-weight:600}.font-bold{font-weight:700}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 768px){.page-content{padding:20px 16px}.grid-2,.grid-3{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.page-header-row{flex-direction:column;align-items:flex-start}}@media (max-width: 480px){.stats-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.layout-background-logo{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(60vw,450px);height:min(60vw,450px);background-image:url(/logo.png);background-size:contain;background-position:center;background-repeat:no-repeat;opacity:.08;filter:blur(2px);pointer-events:none;z-index:0}[data-theme=dark] .layout-background-logo{opacity:.04}@media (max-width: 768px){.sidebar{position:fixed!important;left:0;top:0;bottom:0;transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);z-index:1000}.layout.sidebar-open .sidebar{transform:translate(0)}.sidebar-mobile-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(15,23,42,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999;animation:fadeInOverlay .25s ease-out}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.layout{position:relative}.page-content{padding:20px 16px}}
