:root{--color-primary:#5B5FEF;--color-primary-hover:#4B4FDF;--color-primary-light:rgba(91,95,239,0.10);--color-primary-muted:rgba(91,95,239,0.16);--color-page-bg:#F4F5F7;--color-surface:#FFFFFF;--color-surface-raised:#FFFFFF;--color-surface-subtle:#F9FAFB;--color-sidebar-bg:#0E0F14;--color-border:#E5E7EB;--color-border-subtle:rgba(0,0,0,0.05);--color-text-primary:#111827;--color-text-secondary:#6B7280;--color-text-tertiary:#9CA3AF;--color-success:#10B981;--color-success-light:#D1FAE5;--color-danger:#EF4444;--color-danger-light:#FEE2E2;--color-warning:#F59E0B;--color-warning-light:#FEF3C7;--radius-sm:6px;--radius-md:8px;--radius-lg:10px;--radius-xl:14px;--shadow-card:0 1px 2px rgba(0,0,0,0.04),0 1px 3px rgba(0,0,0,0.04);--shadow-sm:0 1px 2px rgba(0,0,0,0.05);--sidebar-width:220px}body,html{padding:0;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.5;color:var(--color-text-primary);background:var(--color-page-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}a{color:inherit;text-decoration:none}button{font-family:inherit}.app-shell{height:100vh;background:var(--color-page-bg)}.app-shell,.main-content{display:flex;overflow:hidden}.main-content{flex:1 1;flex-direction:column;min-width:0}.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:49}.topbar{height:52px;background:var(--color-surface);border-bottom:.5px solid var(--color-border);display:flex;align-items:center;padding:0 24px;gap:12px;flex-shrink:0}.topbar-title{font-size:14px;font-weight:600;color:var(--color-text-primary);letter-spacing:-.2px;flex:1 1}.topbar-breadcrumb{font-size:13px;color:var(--color-text-tertiary)}.topbar-menu-btn{display:none;width:32px;height:32px;justify-content:center;background:transparent;border:.5px solid var(--color-border);color:var(--color-text-secondary);flex-shrink:0}.btn,.topbar-menu-btn{align-items:center;border-radius:var(--radius-md);cursor:pointer}.btn{display:inline-flex;gap:6px;padding:7px 14px;font-size:13px;font-weight:500;transition:background-color .15s ease,color .15s ease,border-color .15s ease,transform .1s ease;border:none;white-space:nowrap}.btn:active:not(:disabled){transform:scale(.97)}.btn-primary{background:var(--color-primary);color:#fff;border:none}.btn-primary:hover{background:var(--color-primary-hover)}.btn-ghost{background:transparent;color:var(--color-text-secondary);border:.5px solid var(--color-border)}.btn-ghost:hover{background:var(--color-surface-subtle);color:var(--color-text-primary)}.card{background:var(--color-surface);border-radius:var(--radius-lg);border:.5px solid var(--color-border);overflow:hidden}.card-header{display:flex;align-items:center;padding:13px 16px;border-bottom:.5px solid var(--color-border-subtle);gap:10px}.card-title{font-size:13px;font-weight:600;color:var(--color-text-primary);flex:1 1;letter-spacing:-.1px}.card-body{padding:16px 18px}.stat-card{background:var(--color-surface);border-radius:var(--radius-lg);border:.5px solid var(--color-border);padding:14px 16px}.stat-label{font-size:11px;font-weight:500;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.stat-value{font-size:22px;font-weight:600;color:var(--color-text-primary);letter-spacing:-.5px;line-height:1.2}.stat-change{font-size:11px;margin-top:4px;display:flex;align-items:center;gap:3px}.stat-up{color:var(--color-success)}.stat-down{color:var(--color-danger)}.badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:20px;font-size:11px;font-weight:500}.badge-primary{background:var(--color-primary-light);color:var(--color-primary)}.badge-success{background:var(--color-success-light);color:#059669}.badge-danger{background:var(--color-danger-light);color:#DC2626}.query-bar{background:var(--color-surface);border-top:.5px solid var(--color-border);padding:12px 20px;flex-shrink:0}.query-bar,.query-input-wrap{display:flex;align-items:center;gap:10px}.query-input-wrap{flex:1 1;background:var(--color-surface-subtle);border-radius:var(--radius-lg);border:.5px solid var(--color-border);padding:0 14px;height:42px;transition:border-color .12s}.query-input-wrap:focus-within{border-color:var(--color-primary);background:var(--color-surface)}.query-input{flex:1 1;background:transparent;border:none;outline:none;font-size:13px;color:var(--color-text-primary);font-family:inherit}.query-input::placeholder{color:var(--color-text-tertiary)}.query-send-btn{width:32px;height:32px;background:var(--color-primary);border-radius:var(--radius-md);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background-color .15s ease,transform .1s ease}.query-send-btn:hover{background:var(--color-primary-hover)}.query-send-btn:active{transform:scale(.92)}button:focus:not(:focus-visible){outline:none}:focus-visible{outline:2px solid rgba(91,95,239,.5);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(0,0,0,.1);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.18)}*{scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.1) transparent}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:12px}.flex-1{flex:1 1}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}@media (max-width:768px){:root{--sidebar-width:220px}.app-shell{position:relative}.sidebar{position:fixed!important;top:0;left:0;height:100vh;z-index:50;transform:translateX(-100%);transition:transform .22s cubic-bezier(.16,1,.3,1)}.sidebar.open{transform:translateX(0)}.sidebar-overlay{display:block}.topbar-menu-btn{display:flex}.topbar{padding:0 16px}.main-content{width:100%}.btn{padding:7px 12px;font-size:13px}}