@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;500;600;700&display=swap";:root{--brand-navy:#14213d;--brand-navy-deep:#0d1628;--brand-teal:#2ec9c0;--brand-teal-bright:#46e0d4;--bg-primary:#0d1628;--bg-secondary:#14213d;--bg-surface:#1b2c4d;--bg-glass:#14213dbf;--bg-glass-hover:#1b2c4dd9;--border-color:#ffffff14;--border-focus:#2ec9c0;--accent-primary:#2ec9c0;--accent-secondary:#46e0d4;--accent-gradient:linear-gradient(135deg, #2ec9c0 0%, #46e0d4 100%);--accent-hover:linear-gradient(135deg, #25a9a2 0%, #2ec9c0 100%);--text-primary:#f9fafb;--text-secondary:#9ca3af;--text-muted:#6b7280;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--info:#06b6d4;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-xl:24px;--shadow-sm:0 2px 8px #0003;--shadow-md:0 8px 24px #0000004d;--shadow-lg:0 16px 40px #0006;--shadow-glow:0 0 25px #2ec9c040;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-heading:"Outfit", sans-serif;--transition-fast:.15s ease;--transition-normal:.25s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;line-height:1.5;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--text-primary);letter-spacing:-.02em;font-weight:600}a{color:var(--accent-primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--brand-teal-bright)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.glass-card{background:var(--bg-glass);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:transform var(--transition-normal), border-color var(--transition-normal), box-shadow var(--transition-normal)}.glass-card:hover{border-color:#ffffff26}.input-field{border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-size:.95rem;font-family:var(--font-sans);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);background:#11182799;outline:none;padding:.75rem 1rem}.input-field:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #2ec9c033}.input-field::placeholder{color:var(--text-muted)}.btn{border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);border:none;outline:none;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.95rem;font-weight:600;display:inline-flex}.btn-primary{background:var(--accent-gradient);color:#fff;box-shadow:var(--shadow-glow)}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 0 30px #2ec9c066}.btn-secondary{color:var(--text-primary);border:1px solid var(--border-color);background:#ffffff14}.btn-secondary:hover{background:#ffffff24}.btn-danger{color:#fca5a5;background:#ef444426;border:1px solid #ef44444d}.btn-danger:hover{background:#ef444440}.badge{text-transform:uppercase;letter-spacing:.04em;border-radius:9999px;align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-success{color:#34d399;background:#10b98126;border:1px solid #10b9814d}.badge-warning{color:#fbbf24;background:#f59e0b26;border:1px solid #f59e0b4d}.badge-danger{color:#fca5a5;background:#ef444426;border:1px solid #ef44444d}.badge-info{color:#38bdf8;background:#06b6d426;border:1px solid #06b6d44d}.data-table-container{border-radius:var(--radius-md);border:1px solid var(--border-color);background:#11182766;width:100%;overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%;font-size:.9rem}.data-table th{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-color);background:#1f293d99;padding:.85rem 1.2rem;font-size:.75rem;font-weight:600}.data-table td{border-bottom:1px solid var(--border-color);color:var(--text-primary);padding:.95rem 1.2rem}.data-table tbody tr:hover{background:#ffffff08}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.3s cubic-bezier(.4,0,.2,1) forwards fadeIn}@keyframes pulseGlow{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.animate-pulse-glow{animation:3s infinite pulseGlow}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:.8s linear infinite spin}.icon-btn{font-size:.78rem;padding:.45rem .55rem!important}@media (width>=1024px){.sidebar-container{transform:translate(0)!important}.main-layout-content{margin-left:260px!important}.mobile-only-close,.header-toggle{display:none!important}}@media (width<=640px){.data-table th,.data-table td{padding:.7rem .85rem}.app-main{padding:1rem!important}}.modal-overlay{z-index:999999;-webkit-backdrop-filter:blur(12px);background:#050810d9;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal-card{z-index:1000000;background:#111827;border:1px solid #ffffff26;border-radius:16px;flex-direction:column;width:100%;max-width:480px;display:flex;position:relative;box-shadow:0 25px 60px #000000e6,0 0 50px #2ec9c040;padding:0!important}.modal-header{background:linear-gradient(135deg,#1e293b,#0f172a);border-bottom:1px solid #ffffff1f;border-top-left-radius:16px;border-top-right-radius:16px;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-body{flex-direction:column;gap:1.1rem;padding:1.5rem;display:flex}.modal-footer{background:#0f172a;border-top:1px solid #ffffff14;border-bottom-right-radius:16px;border-bottom-left-radius:16px;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;display:flex}.ask-ai-btn{color:var(--text-primary);background:linear-gradient(var(--bg-secondary), var(--bg-secondary)) padding-box, linear-gradient(135deg, var(--brand-teal), #46e0d440, var(--brand-teal-bright)) border-box;cursor:pointer;transition:box-shadow var(--transition-fast), transform var(--transition-fast);border:1.5px solid #0000;border-radius:9999px;align-items:center;gap:.5rem;padding:.45rem 1rem .45rem .85rem;font-size:.88rem;font-weight:600;display:inline-flex}.ask-ai-btn:hover{box-shadow:var(--shadow-glow);transform:translateY(-1px)}.ask-ai-btn.is-active{box-shadow:0 0 0 3px #2ec9c02e}.ask-ai-btn svg{color:var(--brand-teal)}.chat-drawer{z-index:60;width:420px;transition:transform var(--transition-normal), visibility var(--transition-normal);visibility:hidden;position:fixed;top:.75rem;bottom:.75rem;right:.75rem;transform:translate(calc(100% + 1.5rem))}.chat-drawer.is-open{visibility:visible;transform:translate(0)}@media (width>=1280px){.main-layout-content{transition:margin-right var(--transition-normal)}.main-layout-content.chat-docked{margin-right:calc(420px + 1.5rem)}}@media (width<=640px){.chat-drawer{width:100%;inset:0}.chat-drawer .chat-panel{border:none;border-radius:0}.ask-ai-btn .ask-ai-label{display:none}.ask-ai-btn{padding:.45rem .6rem}}.chat-panel{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);height:100%;box-shadow:var(--shadow-lg);flex-direction:column;display:flex;overflow:hidden}.chat-panel.is-page{box-shadow:var(--shadow-md)}.chat-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:.85rem .9rem .85rem 1rem;display:flex}.chat-title{font-family:var(--font-heading);color:var(--text-primary);align-items:center;gap:.55rem;font-size:1.02rem;font-weight:600;display:flex}.chat-title-mark{width:28px;height:28px;color:var(--brand-teal);background:#2ec9c024;border-radius:8px;justify-content:center;align-items:center;display:flex}.chat-header-actions{align-items:center;gap:.25rem;display:flex}.chat-icon-btn{width:32px;height:32px;color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.chat-icon-btn:hover:not(:disabled){color:var(--text-primary);background:#ffffff12}.chat-icon-btn:disabled{opacity:.35;cursor:not-allowed}.chat-banner{border-radius:var(--radius-md);color:var(--text-secondary);background:#2ec9c014;border:1px solid #2ec9c033;align-items:flex-start;gap:.65rem;margin:.85rem .9rem 0;padding:.75rem .85rem;font-size:.8rem;line-height:1.45;display:flex}.chat-banner>svg:first-child{color:var(--brand-teal);flex-shrink:0;margin-top:1px}.chat-banner.is-warning{color:#fcd34d;background:#f59e0b1a;border-color:#f59e0b4d}.chat-banner.is-warning>svg:first-child{color:#fbbf24}.chat-banner .chat-icon-btn{flex-shrink:0;width:22px;height:22px;margin-left:auto}.chat-body{scroll-behavior:smooth;flex-direction:column;flex:1;gap:1rem;padding:1rem .9rem;display:flex;overflow-y:auto}.chat-empty{flex-direction:column;gap:1.75rem;margin:auto 0;display:flex}.chat-greeting{text-align:center;flex-direction:column;align-items:center;gap:.35rem;display:flex}.chat-greeting-mark{color:#fff;background:var(--accent-gradient);width:56px;height:56px;box-shadow:var(--shadow-glow);border-radius:16px;justify-content:center;align-items:center;margin-bottom:.65rem;display:flex}.chat-greeting h3{font-size:1.25rem}.chat-greeting p{color:var(--text-secondary);font-size:.88rem}.chat-suggestions{flex-direction:column;display:flex}.chat-suggestion{border:none;border-bottom:1px solid var(--border-color);color:var(--text-primary);font-size:.88rem;font-family:var(--font-sans);text-align:left;cursor:pointer;transition:background var(--transition-fast);background:0 0;border-radius:0;align-items:center;gap:.8rem;padding:.8rem .35rem;display:flex}.chat-suggestion:last-child{border-bottom:none}.chat-suggestion:hover:not(:disabled){background:#ffffff08}.chat-suggestion:disabled{opacity:.5;cursor:not-allowed}.chat-suggestion-icon{width:30px;height:30px;color:var(--brand-teal);background:#2ec9c01f;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat-msg{gap:.6rem;max-width:100%;display:flex}.chat-msg.is-user{justify-content:flex-end}.chat-avatar{width:26px;height:26px;color:var(--brand-teal);background:#2ec9c024;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;display:flex}.chat-msg-content{flex-direction:column;flex:1;gap:.6rem;min-width:0;display:flex}.chat-msg.is-user .chat-msg-content{flex:0 auto;max-width:85%}.chat-bubble{color:var(--text-primary);overflow-wrap:anywhere;font-size:.88rem;line-height:1.55}.chat-msg.is-user .chat-bubble{white-space:pre-wrap;background:#2ec9c029;border:1px solid #2ec9c040;border-radius:14px 14px 4px;padding:.6rem .9rem}.chat-bubble p+p,.chat-bubble p+ul,.chat-bubble ul+p{margin-top:.45rem}.chat-bubble ul{flex-direction:column;gap:.2rem;padding-left:1.1rem;display:flex}.chat-bubble strong{color:#fff;font-weight:600}.chat-bubble code{background:#ffffff14;border-radius:4px;padding:.1rem .3rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82em}.chat-error{border-radius:var(--radius-md);color:#fca5a5;background:#ef44441a;border:1px solid #ef444447;flex-direction:column;gap:.55rem;padding:.7rem .85rem;font-size:.85rem;display:flex}.chat-error-row{align-items:flex-start;gap:.5rem;display:flex}.chat-error-row svg{flex-shrink:0;margin-top:2px}.chat-link-btn{border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;background:#ffffff0f;border-radius:8px;align-self:flex-start;align-items:center;gap:.35rem;padding:.3rem .65rem;font-size:.78rem;font-weight:600;display:inline-flex}.chat-link-btn:hover:not(:disabled){background:#ffffff1f}.chat-link-btn:disabled{opacity:.5;cursor:not-allowed}.chat-table-wrap{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:#0d16288c;max-height:260px;overflow:auto}.chat-panel.is-page .chat-table-wrap{max-height:420px}.chat-table{border-collapse:collapse;width:100%;font-size:.78rem}.chat-table th{z-index:1;color:var(--text-secondary);text-align:left;white-space:nowrap;border-bottom:1px solid var(--border-color);background:#1b2c4d;padding:.5rem .65rem;font-weight:600;position:sticky;top:0}.chat-table td{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;border-bottom:1px solid #ffffff0d;max-width:260px;padding:.45rem .65rem;overflow:hidden}.chat-table td.is-num,.chat-table th.is-num{text-align:right;font-variant-numeric:tabular-nums}.chat-table tbody tr:hover{background:#ffffff08}.chat-table-foot{color:var(--text-muted);margin-top:-.3rem;font-size:.72rem}.chat-typing{gap:4px;padding:.55rem 0;display:inline-flex}.chat-typing span{background:var(--brand-teal);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite chatTyping}.chat-typing span:nth-child(2){animation-delay:.15s}.chat-typing span:nth-child(3){animation-delay:.3s}@keyframes chatTyping{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.chat-footer{border-top:1px solid var(--border-color);padding:.75rem .9rem .6rem}.chat-composer{border-radius:var(--radius-md);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);background:#0d162899;border:1.5px solid #2ec9c073;padding:.65rem .65rem .55rem .85rem}.chat-composer:focus-within{border-color:var(--brand-teal);box-shadow:0 0 0 3px #2ec9c026}.chat-composer textarea{resize:none;width:100%;color:var(--text-primary);font-family:var(--font-sans);background:0 0;border:none;outline:none;min-height:22px;max-height:140px;font-size:.9rem;line-height:1.45}.chat-composer textarea::placeholder{color:var(--text-muted)}.chat-composer-bar{align-items:center;gap:.5rem;margin-top:.45rem;display:flex}.chat-chip{color:var(--text-secondary);border:1px solid var(--border-color);background:#ffffff0d;border-radius:9999px;align-items:center;gap:.3rem;padding:.22rem .55rem;font-size:.72rem;font-weight:500;display:inline-flex}.chat-chip svg{color:var(--brand-teal)}.chat-counter{color:var(--text-muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:.72rem}.chat-counter.is-over{color:#fca5a5}.chat-send{background:var(--accent-gradient);color:#fff;cursor:pointer;width:36px;height:36px;box-shadow:var(--shadow-glow);transition:transform var(--transition-fast), opacity var(--transition-fast);border:none;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.chat-send:hover:not(:disabled){transform:translateY(-1px)}.chat-send:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}.chat-disclaimer{text-align:center;color:var(--text-muted);margin-top:.5rem;font-size:.7rem}
