:root{--color-blue-darkest:#0f2c4f;--color-blue-dark:#1d58a6;--color-blue-light:#91beeb;--color-blue-lightest:#c5dcf2;--color-orange-darkest:#a5493e;--color-orange-dark:#db6024;--color-orange-medium:#ed9d44;--color-orange-light:#f3b560;--color-primary:#0f2c4f;--color-secondary:#db6024;--color-tertiary:#ed9d44;--color-primary-light:#0f2c4f1a;--color-primary-alpha-20:#0f2c4f33;--color-secondary-light:#db60241a;--color-secondary-alpha-15:#db602426;--color-secondary-alpha-30:#db60244d;--color-tertiary-light:#ed9d441a;--color-tertiary-alpha-15:#ed9d4426;--color-bg-page:#f3f4f6;--color-bg-primary:#fff;--color-bg-secondary:#fffaf5;--color-bg-tertiary:#f9fafb;--color-bg-quaternary:#f3f4f6;--color-bg-overlay:#fff3;--color-bg-overlay-30:#ffffff4d;--color-text-primary:#10101;--color-text-secondary:#6b7280;--color-text-tertiary:#9ca3af;--color-text-placeholder:#888;--color-text-inverse:#fff;--color-border-primary:#0f2c4f;--color-border-light:#e5e7eb;--color-border-lighter:#d1d5db;--color-border-lightest:#f3f4f6;--color-border-alpha:#ffffff4d;--color-border-alpha-50:#ffffff80;--color-border-alpha-60:#fff9;--color-error:#dc2626;--color-error-light:#ef4444;--color-error-bg:#fef2f2;--color-error-border:#fecaca;--color-error-text:#f87171;--color-success:#16a34a;--color-success-light:#22c55e;--color-success-bg:#f0fdf4;--color-success-border:#bbf7d0;--color-success-text:#4ade80;--color-incoming:#16a34a;--color-incoming-light:#22c55e;--color-outgoing:#dc2626;--color-outgoing-light:#ef4444;--color-gray-scrollbar-track:#f1f1f1;--color-gray-scrollbar-thumb:#c1c1c1;--color-gray-scrollbar-hover:#a8a8a8;--color-gray-disabled:#ccc;--chart-color-1:var(--color-orange-dark);--chart-color-2:var(--color-blue-darkest);--chart-color-3:var(--color-orange-medium);--chart-color-4:var(--color-blue-dark);--chart-color-5:var(--color-orange-light);--chart-color-6:var(--color-blue-light);--chart-color-7:var(--color-orange-darkest);--chart-color-8:var(--color-blue-lightest);--chart-color-9:#059669;--chart-color-10:#8b5cf6;--chart-color-11:#ec4899;--chart-color-12:#14b8a6;--font-primary:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-headings:"Sora", sans-serif;--font-size-xs:.65rem;--font-size-sm:.75rem;--font-size-base:.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.75rem;--font-size-3xl:2.5rem;--font-size-4xl:3.5rem;--font-size-display:3rem;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.1;--line-height-snug:1.2;--line-height-normal:1.3;--line-height-relaxed:1.4;--line-height-loose:1.5;--line-height-body:1.6;--letter-spacing-tight:-.01em;--letter-spacing-normal:0em;--letter-spacing-wide:.01em;--letter-spacing-wider:.05em;--type-h1-family:var(--font-headings);--type-h1-weight:var(--font-weight-bold);--type-h1-size:var(--font-size-4xl);--type-h1-line-height:var(--line-height-tight);--type-h1-letter-spacing:var(--letter-spacing-normal);--type-h2-family:var(--font-headings);--type-h2-weight:var(--font-weight-semibold);--type-h2-size:var(--font-size-3xl);--type-h2-line-height:var(--line-height-snug);--type-h2-letter-spacing:var(--letter-spacing-normal);--type-h3-family:var(--font-headings);--type-h3-weight:var(--font-weight-medium);--type-h3-size:var(--font-size-2xl);--type-h3-line-height:var(--line-height-normal);--type-h3-letter-spacing:var(--letter-spacing-normal);--type-body-family:var(--font-primary);--type-body-weight:var(--font-weight-normal);--type-body-size:var(--font-size-lg);--type-body-line-height:var(--line-height-body);--type-body-letter-spacing:var(--letter-spacing-normal);--type-ui-1-family:var(--font-primary);--type-ui-1-weight:var(--font-weight-medium);--type-ui-1-size:var(--font-size-md);--type-ui-1-line-height:var(--line-height-relaxed);--type-ui-1-letter-spacing:var(--letter-spacing-wide);--type-ui-2-family:var(--font-primary);--type-ui-2-weight:var(--font-weight-medium);--type-ui-2-size:var(--font-size-base);--type-ui-2-line-height:var(--line-height-relaxed);--type-ui-2-letter-spacing:var(--letter-spacing-normal);--spacing-1:2px;--spacing-2:4px;--spacing-3:6px;--spacing-4:8px;--spacing-5:10px;--spacing-6:12px;--spacing-8:16px;--spacing-10:20px;--spacing-12:24px;--spacing-14:28px;--spacing-16:32px;--spacing-20:40px;--spacing-24:48px;--spacing-28:56px;--spacing-32:64px;--spacing-36:72px;--spacing-40:80px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-2xl:16px;--radius-full:50%;--radius-pill:100px;--box-radius:var(--radius-xl);--shadow-xs:0 1px 2px #0000000d;--shadow-sm:0 1px 3px #db60241a;--shadow-md:0 2px 8px #db602426;--shadow-lg:0 4px 12px #00000026;--shadow-xl:0 4px 16px #db602426;--shadow-2xl:0 8px 24px #0003;--shadow-focus:0 0 0 3px #ed9d441a;--shadow-focus-primary:0 0 0 3px #0f2c4f1a;--shadow-focus-secondary:0 0 0 3px #db60241a;--shadow-button-hover:0 4px 12px #db60244d;--shadow-logo:drop-shadow(0 2px 4px #0000004d);--shadow-logo-light:drop-shadow(0 2px 4px #0000001a);--shadow-text:0 1px 2px #0000001a;--box-shadow:var(--shadow-sm);--z-base:1;--z-dropdown:100;--z-sticky:200;--z-overlay:500;--z-modal:1000;--z-toast:1100;--z-tooltip:1200;--transition-fast:.1s ease;--transition-base:.2s ease;--transition-slow:.3s ease;--transition-bounce:.5s cubic-bezier(.68, -.55, .265, 1.55);--duration-instant:.1s;--duration-fast:.2s;--duration-base:.3s;--duration-slow:.5s;--duration-slower:1s;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--breakpoint-sm:480px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--header-height:72px;--sidebar-width:280px;--content-max-width:1440px;--input-height:44px;--button-height:44px}html,body{height:100%;margin:0;padding:0;overflow:hidden}body{font-family:var(--font-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-bg-primary);color:var(--color-text-primary);line-height:var(--line-height-body);font-size:var(--font-size-lg);letter-spacing:var(--letter-spacing-normal)}code{font-family:var(--font-code)}*{box-sizing:border-box}::-webkit-scrollbar{width:var(--spacing-4)}::-webkit-scrollbar-track{background:var(--color-gray-scrollbar-track);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb{background:var(--color-gray-scrollbar-thumb);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--color-gray-scrollbar-hover)}h1{font-family:var(--font-headings);font-weight:var(--font-weight-bold);font-size:var(--font-size-4xl);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-normal);color:var(--color-text-primary)}h2{font-family:var(--font-headings);font-weight:var(--font-weight-semibold);font-size:var(--font-size-3xl);line-height:var(--line-height-snug);letter-spacing:var(--letter-spacing-normal);color:var(--color-text-primary)}h3{font-family:var(--font-headings);font-weight:var(--font-weight-medium);font-size:var(--font-size-2xl);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-normal);color:var(--color-text-primary)}.small-ul-1{font-family:var(--font-primary);font-weight:var(--font-weight-medium);font-size:var(--font-size-md);line-height:var(--line-height-relaxed);letter-spacing:var(--letter-spacing-wide);color:var(--color-text-primary)}.small-ul-2{font-family:var(--font-primary);font-weight:var(--font-weight-medium);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);letter-spacing:var(--letter-spacing-normal);color:var(--color-text-primary)}:focus{outline:2px solid var(--color-primary);outline-offset:var(--spacing-1)}button,input,textarea,select{font-family:inherit;font-size:inherit;line-height:inherit}.app-header{background:var(--color-primary);color:var(--color-text-inverse);padding:var(--spacing-8) 0;box-shadow:var(--shadow-md);width:100%;z-index:var(--z-sticky);position:fixed;top:0;left:0;right:0}.header-content{max-width:100%;padding:0 2% 0 var(--spacing-10);justify-content:space-between;align-items:center;margin:0;display:flex}.logo-container{align-items:center;display:flex}.logo-with-wordmark{width:auto;height:16px;filter:var(--shadow-logo)}.header-info{align-items:center;gap:var(--spacing-8);display:flex}.company-info{align-items:center;display:flex}.user-info{align-items:flex-end;gap:var(--spacing-2);flex-direction:column;display:flex}.user-email{font-family:var(--type-ui-2-family);font-size:var(--type-ui-2-size);font-weight:var(--type-ui-2-weight);color:var(--color-text-inverse);opacity:.95}.company-name{font-family:var(--type-ui-1-family);font-size:var(--type-ui-1-size);font-weight:var(--type-ui-1-weight);color:var(--color-text-inverse)}.company-dropdown-container{position:relative}.company-selector{font-family:var(--type-ui-1-family);font-size:var(--type-ui-1-size);font-weight:var(--type-ui-1-weight);color:var(--color-text-inverse);padding:var(--spacing-4) var(--spacing-6);padding-right:calc(var(--spacing-6) + 30px);cursor:pointer;transition:var(--transition-base);text-align:center;appearance:none;background:0 0;border:none;border-radius:0;min-width:120px;margin:0;position:relative}.company-selector-text{display:inline-block}.company-selector:after{content:"";right:var(--spacing-6);pointer-events:none;border-top:6px solid #fff;border-left:5px solid #0000;border-right:5px solid #0000;width:0;height:0;position:absolute;top:50%;transform:translateY(-50%)}.company-selector:hover{opacity:.8}.company-selector:focus{opacity:.8;outline:none}.company-dropdown-menu{background:var(--color-primary);border:1px solid var(--color-border-alpha);border-radius:var(--radius-md);min-width:180px;z-index:calc(var(--z-sticky) + 1);flex-direction:column;display:flex;position:absolute;top:calc(100% + 4px);right:0;overflow:visible;box-shadow:0 4px 12px #00000026}.company-dropdown-item{width:100%;padding:var(--spacing-4) var(--spacing-6);font-family:var(--type-ui-1-family);font-size:var(--type-ui-1-size);font-weight:var(--type-ui-1-weight);text-align:left;cursor:pointer;transition:var(--transition-base);white-space:nowrap;box-sizing:border-box;appearance:none;background:0 0;border:none;display:flex;position:relative;color:var(--color-text-inverse)!important}.company-dropdown-item:hover{background:var(--color-bg-overlay-30)}.company-dropdown-item:first-child{border-top-left-radius:var(--radius-md);border-top-right-radius:var(--radius-md)}.company-dropdown-item:last-child{border-bottom-left-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.company-dropdown-item.active{background:var(--color-bg-overlay-30);font-weight:var(--font-weight-bold)}.language-selector{font-family:var(--type-ui-1-family);font-size:var(--type-ui-1-size);font-weight:var(--type-ui-1-weight);background:var(--color-bg-overlay);color:var(--color-text-inverse);border:1px solid var(--color-border-alpha);padding:var(--spacing-4) var(--spacing-6);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-base);appearance:none;text-align:center;min-width:80px;position:relative}.language-selector:after{content:"";right:var(--spacing-4);pointer-events:none;border-top:6px solid #fff;border-left:5px solid #0000;border-right:5px solid #0000;width:0;height:0;position:absolute;top:50%;transform:translateY(-50%)}.language-selector:hover{background:var(--color-bg-overlay-30);border-color:var(--color-border-alpha-50)}.language-selector:focus{background:var(--color-bg-overlay-30);border-color:var(--color-border-alpha-60);outline:none}.language-selector option{background:var(--color-quaternary);color:var(--color-text-inverse);padding:var(--spacing-4)}.settings-dropdown-container{position:relative}.settings-selector{font-family:var(--type-ui-1-family);font-size:var(--type-ui-1-size);font-weight:var(--type-ui-1-weight);color:var(--color-text-inverse);padding:var(--spacing-4) var(--spacing-6);padding-right:calc(var(--spacing-6) + 30px);cursor:pointer;transition:var(--transition-base);text-align:center;appearance:none;background:0 0;border:none;border-radius:0;min-width:120px;margin:0;position:relative}.settings-selector-text{display:inline-block}.settings-selector:after{content:"";right:var(--spacing-6);pointer-events:none;border-top:6px solid #fff;border-left:5px solid #0000;border-right:5px solid #0000;width:0;height:0;position:absolute;top:50%;transform:translateY(-50%)}.settings-selector:hover{opacity:.8}.settings-selector:focus{opacity:.8;outline:none}.settings-dropdown-menu{background:var(--color-primary);border:1px solid var(--color-border-alpha);border-radius:var(--radius-md);min-width:180px;z-index:calc(var(--z-sticky) + 1);flex-direction:column;display:flex;position:absolute;top:calc(100% + 4px);right:0;overflow:visible;box-shadow:0 4px 12px #00000026}.settings-dropdown-item{width:100%;padding:var(--spacing-4) var(--spacing-6);font-family:var(--type-ui-1-family);font-size:var(--type-ui-1-size);font-weight:var(--type-ui-1-weight);text-align:left;cursor:pointer;transition:var(--transition-base);white-space:nowrap;box-sizing:border-box;appearance:none;background:0 0;border:none;display:flex;position:relative;color:var(--color-text-inverse)!important}.settings-dropdown-item:hover{background:var(--color-bg-overlay-30)}.settings-dropdown-item:first-child{border-top-left-radius:var(--radius-md);border-top-right-radius:var(--radius-md)}.settings-dropdown-item:last-child{border-bottom-left-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.settings-dropdown-item-with-submenu{justify-content:space-between;align-items:center;display:flex;color:var(--color-text-inverse)!important}.settings-dropdown-item-with-submenu span{color:var(--color-text-inverse)!important}.submenu-arrow{margin-left:auto;font-size:1.2rem}.settings-submenu{background:var(--color-primary);border:1px solid var(--color-border-alpha);border-radius:var(--radius-md);min-width:160px;z-index:calc(var(--z-sticky) + 2);margin-right:4px;position:absolute;top:0;right:100%;box-shadow:0 4px 12px #00000026}.settings-submenu-item{width:100%;padding:var(--spacing-4) var(--spacing-6);font-family:var(--type-ui-1-family);font-size:var(--type-ui-1-size);font-weight:var(--type-ui-1-weight);color:var(--color-text-inverse);text-align:left;cursor:pointer;transition:var(--transition-base);background:0 0;border:none;display:block}.settings-submenu-item:hover{background:var(--color-bg-overlay-30)}.settings-submenu-item.active{background:var(--color-bg-overlay-30);font-weight:var(--font-weight-bold)}@media (width<=1024px){.header-content{padding:0 2% 0 15px}}@media (width<=768px){.header-content{text-align:left;flex-direction:row;justify-content:space-between;gap:12px;padding:0 4%}.logo-with-wordmark{height:16px}.header-info{flex-direction:row;align-items:center;gap:8px}.user-info{align-items:flex-end}.company-selector{min-width:100px;padding:6px 28px 6px 8px;font-size:.75rem}.company-dropdown-menu{min-width:160px}.user-email{font-size:.8rem}.settings-selector{min-width:100px;padding:6px 28px 6px 8px;font-size:.75rem}.settings-dropdown-menu{min-width:160px}.settings-submenu{min-width:140px}}.sidebar{background:var(--color-bg-primary);border-right:1px solid var(--color-border-light);width:64px;padding:var(--spacing-12) 0;min-height:calc(100vh - var(--header-height));top:var(--header-height);z-index:var(--z-base);will-change:width;flex-direction:column;flex-shrink:0;align-self:flex-start;transition:width .4s cubic-bezier(.4,0,.2,1),box-shadow .4s cubic-bezier(.4,0,.2,1);display:flex;position:sticky;overflow:hidden}.sidebar:hover{width:200px;box-shadow:var(--box-shadow)}.sidebar-nav{flex-direction:column;flex:1;width:100%;padding:0;transition:padding .4s cubic-bezier(.4,0,.2,1);display:flex}.sidebar:hover .sidebar-nav{padding:0 var(--spacing-2)}.nav-list{gap:var(--spacing-4);flex-direction:column;width:100%;margin:0;padding:0;list-style:none;display:flex}.nav-item{width:100%;margin:0}.nav-button{width:100%;padding:var(--spacing-6) 0;font-family:var(--type-ui-2-family);font-size:var(--type-ui-2-size);font-weight:var(--type-ui-2-weight);border-radius:var(--radius-md);cursor:pointer;color:var(--color-text-secondary);white-space:nowrap;background:0 0;border:none;outline:none;flex-direction:row;justify-content:center;align-items:center;gap:0;min-height:64px;transition:all .4s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.sidebar:hover .nav-button{padding:var(--spacing-3) var(--spacing-4);justify-content:flex-start;gap:var(--spacing-4);min-height:48px;margin:var(--spacing-3) var(--spacing-4);width:calc(100% - var(--spacing-8))}.sidebar:hover .nav-button.active{padding:var(--spacing-3) var(--spacing-4)}.nav-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;background:var(--color-primary-light)}.nav-button:hover{background:var(--color-tertiary-alpha-15);color:var(--color-text-primary);padding:var(--spacing-3) 0;min-height:48px;margin:var(--spacing-3) var(--spacing-4);width:calc(100% - var(--spacing-8));transform:translateY(-1px)}.nav-button.active{background:var(--color-tertiary-alpha-15);color:var(--color-text-primary);font-weight:var(--font-weight-semibold);padding:var(--spacing-3) 0;min-height:48px;margin:var(--spacing-3) var(--spacing-4);width:calc(100% - var(--spacing-8))}.nav-button.active .nav-icon{transform:scale(1.05)}.nav-icon{width:28px;min-width:28px;max-width:28px;height:28px;transition:transform var(--transition-base);flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:0;font-size:24px;display:flex}.nav-icon-svg{object-fit:contain;opacity:.7;width:24px;height:24px;transition:opacity var(--transition-base);margin:0 auto;display:block}.nav-button.active .nav-icon-svg{opacity:1}.nav-button:hover .nav-icon-svg{opacity:.9}.nav-icon-component{opacity:.8;transition:opacity var(--transition-base), transform var(--transition-base);margin:0 auto;display:block}.nav-button.active .nav-icon-component{opacity:1}.nav-button:hover .nav-icon-component{opacity:1;transform:scale(1.05)}.nav-label{text-align:left;line-height:var(--line-height-tight);opacity:0;white-space:nowrap;flex:0 0 0;width:0;max-width:0;margin:0;padding:0;transition:opacity .4s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.4,0,.2,1),max-width .4s cubic-bezier(.4,0,.2,1);overflow:hidden;transform:translate(-10px)}.sidebar:hover .nav-label{opacity:1;flex:1;width:auto;max-width:none;transform:translate(0)}@media (width<=1024px){.sidebar{width:64px;padding:var(--spacing-10) 0}.sidebar:hover{width:180px}.nav-button{min-height:60px;padding:var(--spacing-5) var(--spacing-3)}.nav-button.active{padding:var(--spacing-2) 0;min-height:46px;margin:var(--spacing-3) var(--spacing-4)}.nav-label{font-size:var(--font-size-xs)}.nav-icon{width:26px;height:26px;font-size:22px}.nav-icon-svg,.nav-icon-component{width:22px;height:22px}}@media (width<=768px){.sidebar{width:100%;height:auto;min-height:auto;padding:var(--spacing-6) 0;border-right:none;border-bottom:1px solid var(--color-border-light);flex-direction:row;overflow:visible}.sidebar:hover{width:100%;box-shadow:none}.sidebar-nav{width:100%;padding:0 var(--spacing-4)}.nav-list{justify-content:center;gap:var(--spacing-8);flex-direction:row;width:100%}.nav-item{flex:1;max-width:200px}.nav-button{min-height:56px;padding:var(--spacing-4) var(--spacing-6);gap:var(--spacing-2);flex-direction:column;justify-content:center}.nav-button.active{padding:var(--spacing-2) var(--spacing-3);min-height:46px;margin:var(--spacing-2) var(--spacing-3);background:var(--color-secondary)}.nav-label{opacity:1;text-align:center;font-size:var(--font-size-xs);transform:translate(0)}.nav-icon{width:24px;height:24px;font-size:20px}.nav-icon-svg,.nav-icon-component{width:20px;height:20px}}@media (width<=480px){.nav-list{gap:var(--spacing-4)}.nav-button{padding:var(--spacing-3) var(--spacing-4);min-height:52px}.nav-button.active{padding:var(--spacing-2) var(--spacing-2);min-height:44px;margin:var(--spacing-2) var(--spacing-2)}.nav-label{font-size:var(--font-size-xs)}.nav-icon{width:22px;height:22px;font-size:18px}.nav-icon-svg,.nav-icon-component{width:18px;height:18px}}.chat-message{padding:var(--spacing-6);border-radius:var(--box-radius);word-wrap:break-word;max-width:85%;box-shadow:var(--box-shadow);position:relative}.chat-message.user{background:var(--color-bg-tertiary);color:var(--color-text-primary);border:none;align-self:flex-end;margin-left:auto}.chat-message.assistant{background:var(--color-tertiary-alpha-15);color:var(--color-text-primary);border:none;align-self:flex-start}.chat-message.error{background:var(--color-error-bg);color:var(--color-error);border:none}.message-header{margin-bottom:var(--spacing-3);font-family:var(--type-ui-2-family);font-size:var(--type-ui-2-size);justify-content:space-between;align-items:center;gap:var(--spacing-4);display:flex}.message-header-left{flex:1;align-items:center;display:flex}.message-header-right{align-items:center;gap:var(--spacing-2);display:flex}.message-role{font-weight:var(--font-weight-semibold);opacity:.9}.message-time{font-family:var(--type-ui-2-family);font-size:var(--font-size-xs);opacity:.7}.message-graph-button{bottom:var(--spacing-2);background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:var(--spacing-1);cursor:pointer;font-size:var(--font-size-2xl);transition:all var(--transition-base);height:auto;line-height:1;font-family:var(--type-ui-2-family);justify-content:center;align-items:center;display:flex;position:absolute;right:0;box-shadow:0 1px 2px #0000000d}.message-graph-button:hover{background:var(--color-bg-secondary);border-color:var(--color-border-primary);transform:scale(1.05);box-shadow:0 2px 4px #0000001a}.message-graph-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.message-content{font-family:var(--type-ui-2-family);font-size:var(--type-ui-2-size);line-height:var(--type-ui-2-line-height);white-space:pre-wrap;text-align:justify}.message-table-container{margin:var(--spacing-6) 0;overflow-x:auto}.message-table{border-collapse:collapse;width:100%;font-family:var(--type-ui-1-family);font-size:var(--type-ui-1-size);background:var(--color-bg-primary);border-radius:var(--radius-md);box-shadow:var(--box-shadow);overflow:hidden}.message-table th{font-family:var(--type-ui-1-family);font-size:var(--type-ui-1-size);font-weight:var(--font-weight-semibold);background:var(--color-secondary);color:var(--color-text-inverse);padding:var(--spacing-4) var(--spacing-6);text-align:left;border-bottom:none}.message-table td{font-family:var(--type-ui-1-family);font-size:var(--type-ui-1-size);padding:var(--spacing-3) var(--spacing-6);border-bottom:1px solid var(--color-border-light);color:var(--color-text-primary)}.message-table tbody tr:hover{background:var(--color-bg-secondary)}.message-table tbody tr:last-child td{border-bottom:none}.message-table td:last-child{text-align:right;font-family:var(--font-mono)}.message-table th:last-child{text-align:right}.message-table td:not(:first-child){text-align:right;font-family:var(--font-mono)}.message-table th:not(:first-child){text-align:right}.message-metadata{margin-top:var(--spacing-4);padding:var(--spacing-2) 0;font-family:var(--type-ui-2-family);font-size:var(--font-size-xs);color:var(--color-text-secondary);align-items:baseline;gap:var(--spacing-3);background:0 0;border:none;border-radius:0;flex-wrap:wrap;display:flex;position:relative}.message-metadata .metadata-item{display:inline-block}.message-metadata .metadata-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-right:var(--spacing-2)}.chat-message.user .message-role{color:var(--color-text-secondary)}.chat-message.user .message-time{color:var(--color-text-tertiary)}.chat-message.assistant .message-role{color:var(--color-text-secondary)}.chat-message.assistant .message-time{color:var(--color-text-tertiary)}.chat-message.error .message-role{color:var(--color-error)}.chat-message.error .message-time{color:var(--color-error-text)}.chat-message.error .message-metadata{background:0 0;border:none}.chat-message.error .message-metadata small{color:var(--color-error)}.chat-message.clickable{cursor:pointer;transition:all var(--transition-base);position:relative}.chat-message.clickable:hover{background:var(--color-secondary-light);box-shadow:var(--shadow-md);transform:translate(-2px)}.chat-message.selected{background:var(--color-secondary-alpha-30);box-shadow:var(--shadow-md)}@media (width<=768px){.chat-message{max-width:90%;padding:var(--spacing-6)}.message-header{font-size:.8rem}.message-time{font-size:var(--font-size-sm)}}.query-input{width:100%}.input-container{gap:var(--spacing-6);align-items:center;display:flex}.query-textarea{padding:var(--spacing-5) var(--spacing-6);font-family:var(--type-ui-2-family);font-size:var(--type-ui-2-size);line-height:var(--type-ui-2-line-height);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);background:var(--color-bg-primary);box-shadow:none;resize:vertical;min-height:50px;transition:var(--transition-base);flex:1}.query-textarea:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus-primary);outline:none}.query-textarea:disabled{background:var(--color-bg-quaternary);color:var(--color-text-placeholder);cursor:not-allowed}.query-textarea::placeholder{color:var(--color-text-placeholder)}.send-button{padding:var(--spacing-6) var(--spacing-12);font-family:var(--type-ui-1-family);font-size:var(--type-ui-1-size);font-weight:var(--type-ui-1-weight);background:var(--color-primary);color:var(--color-text-inverse);border-radius:var(--radius-lg);box-shadow:none;cursor:pointer;transition:var(--transition-base);white-space:nowrap;border:none;min-width:80px}.send-button:hover:not(:disabled){background:var(--color-primary);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.send-button:disabled{background:var(--color-gray-disabled);cursor:not-allowed;box-shadow:none;transform:none}@media (width<=768px){.input-container{flex-direction:column;align-items:stretch}.send-button{align-self:flex-end;padding:10px 20px}.query-textarea{min-height:50px}}.session-sidebar{background:var(--color-bg-primary);border-radius:var(--box-radius);width:200px;box-shadow:var(--box-shadow);border:none;flex-direction:column;height:100%;margin-right:0;display:flex}.session-header{padding:var(--spacing-6);border-bottom:1px solid var(--color-border-light);background:var(--color-bg-primary);border-radius:var(--box-radius) var(--box-radius) 0 0;position:relative}.session-header h3{font-family:var(--type-ui-1-family);font-size:var(--type-ui-1-size);font-weight:var(--type-ui-1-weight);color:var(--color-text-primary);margin:0}.new-session-btn{border-radius:var(--radius-sm);width:20px;height:20px;color:var(--color-text-secondary);cursor:pointer;opacity:.7;background:0 0;border:none;justify-content:center;align-items:center;font-size:16px;font-weight:400;line-height:1;transition:all .2s;display:flex;position:absolute;top:4px;right:4px}.new-session-btn:hover{background:var(--color-bg-secondary);color:var(--color-primary);opacity:1}.session-list{padding:var(--spacing-4);gap:var(--spacing-3);border-radius:0 0 var(--box-radius) var(--box-radius);flex-direction:column;flex:1;display:flex;overflow-y:auto}.session-item{padding:var(--spacing-4) var(--spacing-6);cursor:pointer;border-radius:var(--radius-lg);background:var(--color-bg-tertiary);box-shadow:var(--box-shadow);border:none;transition:all .2s;position:relative}.session-item:hover{background:var(--color-bg-secondary);box-shadow:var(--shadow-md);transform:translateY(-1px)}.session-item.active{background:var(--color-tertiary-alpha-15);box-shadow:var(--shadow-md)}.session-item.active .session-title{color:var(--color-text-primary);font-weight:var(--font-weight-normal)}.session-item.active .session-meta{color:var(--color-text-secondary);opacity:.8}.session-content{flex-direction:column;gap:2px;display:flex}.session-title{font-family:var(--type-ui-2-family);font-size:var(--type-ui-2-size);font-weight:var(--font-weight-normal);color:var(--color-text-primary);line-height:1.2}.session-meta{font-family:var(--type-ui-2-family);font-size:var(--font-size-xs);color:var(--color-text-secondary);justify-content:flex-start;align-items:center;display:flex}.message-count{flex:1}.delete-session-btn{top:var(--spacing-2);right:var(--spacing-2);border-radius:var(--radius-sm);width:20px;height:20px;color:var(--color-text-secondary);cursor:pointer;opacity:.6;background:0 0;border:none;justify-content:center;align-items:center;font-size:14px;font-weight:400;line-height:1;transition:all .2s;display:flex;position:absolute}.delete-session-btn:hover{background:var(--color-error-bg);color:var(--color-error);opacity:1}.no-sessions{padding:var(--spacing-10) var(--spacing-6);text-align:center;color:var(--color-text-secondary)}.no-sessions p{font-family:var(--type-ui-2-family);font-size:var(--type-ui-2-size);margin:0 0 var(--spacing-3) 0}.no-sessions small{font-family:var(--type-ui-2-family);font-size:var(--font-size-xs);opacity:.8}.session-list::-webkit-scrollbar{width:6px}.session-list::-webkit-scrollbar-track{margin:var(--spacing-2) 0;background:0 0}.session-list::-webkit-scrollbar-thumb{background:var(--color-border-lighter);border-radius:var(--radius-full);border:1px solid var(--color-bg-primary)}.session-list::-webkit-scrollbar-thumb:hover{background:var(--color-border-light)}@media (width<=1024px){.session-sidebar{width:180px}}@media (width<=768px){.session-sidebar{border-radius:8px;width:100%;height:auto;max-height:200px;margin-bottom:8px;margin-right:0}.session-header{padding:8px}.session-header h3{font-size:.75rem}.new-session-btn{width:20px;height:20px;font-size:12px}.session-item{padding:var(--spacing-3) var(--spacing-4)}.session-title{font-size:.6875rem}.session-meta{font-size:.625rem}.session-list{max-height:120px;padding:var(--spacing-3);gap:var(--spacing-2)}}.chat-interface{gap:var(--spacing-6);background:0 0;flex-direction:row;height:100%;padding:0;display:flex;overflow:hidden}.chat-content-wrapper{gap:var(--spacing-6);flex-direction:column;flex:1;height:100%;display:flex;overflow:hidden}.chat-messages-box{background:var(--color-bg-primary);border-radius:var(--box-radius);box-shadow:var(--box-shadow);border:none;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.chat-input-box{background:var(--color-bg-primary);border-radius:var(--box-radius);box-shadow:var(--box-shadow);padding:var(--spacing-6);border:none}.messages-container{padding:var(--spacing-6);gap:var(--spacing-6);flex-direction:column;flex:1;display:flex;overflow-y:auto}.messages-container::-webkit-scrollbar{width:6px}.messages-container::-webkit-scrollbar-track{margin:var(--spacing-4) 0;background:0 0}.messages-container::-webkit-scrollbar-thumb{background:var(--color-border-lighter);border-radius:var(--radius-full);border:1px solid var(--color-bg-primary)}.messages-container::-webkit-scrollbar-thumb:hover{background:var(--color-border-light)}.welcome-message{text-align:center;padding:30px var(--spacing-10);font-family:var(--type-ui-2-family);font-size:var(--type-ui-2-size);color:var(--color-text-primary)}.welcome-logo{width:48px;height:48px;margin-bottom:var(--spacing-4)}.welcome-message h3{font-family:var(--type-ui-1-family);font-size:var(--type-ui-1-size);font-weight:var(--font-weight-semibold);line-height:var(--type-ui-1-line-height);letter-spacing:var(--type-ui-1-letter-spacing);color:var(--color-text-primary);margin-bottom:var(--spacing-4)}.welcome-message ul{text-align:left;max-width:400px;margin:var(--spacing-8) auto;padding-left:var(--spacing-10)}.welcome-message li{margin-bottom:var(--spacing-3);font-family:var(--type-ui-2-family);font-size:var(--type-ui-2-size);line-height:var(--type-ui-2-line-height);color:var(--color-text-primary)}.loading-message{align-items:center;gap:var(--spacing-6);padding:var(--spacing-10);font-family:var(--type-ui-1-family);font-size:var(--type-ui-1-size);color:var(--color-text-secondary);font-style:italic;display:flex}.loading-fox{width:24px;height:24px;animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.loading-spinner{width:var(--spacing-10);height:var(--spacing-10);border:2px solid var(--color-border-light);border-top:2px solid var(--color-primary);border-radius:var(--radius-full);animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1024px){.chat-interface{flex-direction:column}.session-sidebar{order:1;width:100%;max-height:150px}.chat-content-wrapper{gap:var(--spacing-4);order:2}}@media (width<=768px){.chat-interface{flex-direction:column}.chat-content-wrapper{gap:var(--spacing-4)}.chat-messages-box{min-height:300px}.messages-container{padding:var(--spacing-6)}.welcome-message{padding:var(--spacing-10) var(--spacing-6)}.welcome-logo{width:40px;height:40px}.chat-input-box{padding:var(--spacing-4)}}.modal-overlay{z-index:var(--z-modal);background:#00000080;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--color-bg-primary);border-radius:var(--box-radius);box-shadow:var(--shadow-xl);border:none;flex-direction:column;width:90%;max-width:500px;max-height:90vh;animation:.3s ease-out slideUp;display:flex;overflow:hidden}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{padding:var(--spacing-8) var(--spacing-10);border-bottom:1px solid var(--color-border-light);justify-content:space-between;align-items:center;display:flex}.modal-header h2{font-family:var(--type-h3-family);font-size:var(--type-h3-size);font-weight:var(--type-h3-weight);line-height:var(--type-h3-line-height);letter-spacing:var(--type-h3-letter-spacing);color:var(--color-text-primary);margin:0}.modal-close{color:var(--color-text-secondary);cursor:pointer;border-radius:var(--radius-sm);width:32px;height:32px;transition:all var(--transition-base);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:28px;line-height:1;display:flex}.modal-close:hover:not(:disabled){background:var(--color-bg-secondary);color:var(--color-text-primary)}.modal-close:disabled{cursor:not-allowed;opacity:.5}.modal-body{padding:var(--spacing-10);flex:1;overflow-y:auto}.modal-loading{padding:var(--spacing-12) 0;justify-content:center;align-items:center;gap:var(--spacing-4);flex-direction:column;display:flex}.modal-loading .loading-spinner{border:3px solid var(--color-border-light);border-top-color:var(--color-primary);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}.modal-loading p{font-family:var(--type-ui-1-family);font-size:var(--type-ui-1-size);color:var(--color-text-secondary);margin:0}.form-group:last-child{margin-bottom:0}.form-group select,.form-group input{width:100%;padding:var(--spacing-4) var(--spacing-5);font-family:var(--type-body-family);font-size:var(--type-body-size);color:var(--color-text-primary);background:var(--color-bg-primary);border-radius:var(--radius-md);box-shadow:var(--box-shadow);transition:all var(--transition-base);border:none}.form-group select:focus,.form-group input:focus{box-shadow:var(--shadow-focus-primary);outline:none}.form-group select:disabled,.form-group input:disabled{background:var(--color-bg-secondary);cursor:not-allowed;opacity:.6}.error-message{margin-top:var(--spacing-6);padding:var(--spacing-4) var(--spacing-5);background:var(--color-error-bg);border-left:3px solid var(--color-error);border-radius:var(--radius-sm);color:var(--color-error);font-family:var(--type-ui-2-family);font-size:var(--type-ui-2-size)}.modal-footer{padding:var(--spacing-8) var(--spacing-10);border-top:1px solid var(--color-border-light);gap:var(--spacing-4);justify-content:flex-end;display:flex}.modal-footer button{padding:var(--spacing-4) var(--spacing-8);font-family:var(--type-ui-1-family);font-size:var(--type-ui-1-size);font-weight:var(--type-ui-1-weight);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--box-shadow);border:none}.btn-secondary{background:var(--color-bg-secondary);color:var(--color-text-primary)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-tertiary);box-shadow:var(--shadow-md)}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark,#0a1f3a);color:#fff;box-shadow:var(--shadow-md);transform:translateY(-2px)}.modal-footer button:disabled{cursor:not-allowed;opacity:.5}@media (width<=768px){.modal-content{width:95%;max-height:95vh}.modal-header,.modal-body,.modal-footer{padding:var(--spacing-6) var(--spacing-8)}.modal-header h2{font-size:var(--font-size-lg)}.modal-footer{flex-direction:column-reverse}.modal-footer button{width:100%}}.add-to-dashboard-container{align-items:center;gap:var(--spacing-4);display:flex}.add-to-dashboard-btn{padding:var(--spacing-4) var(--spacing-6);background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--radius-md);cursor:pointer;height:auto;transition:var(--transition-base);appearance:none;vertical-align:middle;outline:none;justify-content:center;align-items:center;line-height:1.4;display:inline-flex}.add-to-dashboard-btn:focus{background:var(--color-bg-secondary);border-color:var(--color-primary);outline:none}.add-to-dashboard-btn:active{outline:none}.add-to-dashboard-btn img{opacity:.7;width:20px;height:20px;transition:opacity var(--transition-base);display:block}.add-to-dashboard-btn:hover:not(:disabled){background:var(--color-bg-secondary);border-color:var(--color-primary)}.add-to-dashboard-btn:hover:not(:disabled) img{opacity:1}.add-to-dashboard-btn:disabled{background:var(--color-bg-tertiary);border-color:var(--color-border-lightest);cursor:not-allowed;opacity:.5}.add-to-dashboard-btn:disabled img{opacity:.4}.success-message{padding:var(--spacing-3) var(--spacing-5);background:var(--color-success-light);color:var(--color-success-dark);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);align-items:center;animation:.3s ease-out slideInRight;display:inline-flex}@keyframes slideInRight{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@media (width<=768px){.add-to-dashboard-container{flex-direction:column;align-items:stretch}.add-to-dashboard-btn{padding:var(--spacing-3) var(--spacing-4)}.add-to-dashboard-btn img{width:18px;height:18px}.success-message{text-align:center}}.chart-renderer{flex-direction:column;flex:1;width:100%;min-height:0;display:flex;overflow:hidden}.chart-header{text-align:center;margin-bottom:var(--spacing-6);flex-shrink:0}.chart-with-legend{flex-direction:column;flex:1;min-height:0;display:flex;overflow:visible}.chart-with-legend g[transform]{overflow:visible!important}.chart-with-legend svg{overflow:visible}.chart-with-legend .recharts-responsive-container{flex:1;min-height:200px}.chart-with-legend .custom-series-legend{flex-shrink:0}.chart-title-row{justify-content:flex-end;align-items:center;gap:var(--spacing-8);margin-bottom:var(--spacing-3);display:flex}.chart-header-actions{align-items:center;gap:var(--spacing-4);display:flex}.chart-header small{color:var(--color-text-secondary);font-size:var(--font-size-sm);background:var(--color-bg-quaternary);padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-lg)}.chart-error{height:100%;color:var(--color-text-secondary);text-align:center;justify-content:center;align-items:center;display:flex}.chart-error p{font-size:var(--font-size-md);margin:0}.data-table{border:1px solid var(--color-border-light);border-radius:var(--radius-lg);background:var(--color-bg-primary);flex:1;width:100%;min-height:0;overflow:auto}.data-table::-webkit-scrollbar{width:6px;height:6px}.data-table::-webkit-scrollbar-track{background:0 0}.data-table::-webkit-scrollbar-thumb{background:var(--color-border-lighter);border-radius:2px}.data-table::-webkit-scrollbar-thumb:hover{background:var(--color-border-light)}.data-table::-webkit-scrollbar:horizontal{height:6px}.data-table::-webkit-scrollbar-thumb:horizontal{border-radius:2px}.data-table table{border-collapse:collapse;width:100%;font-size:var(--font-size-base)}.data-table th{background:var(--color-bg-tertiary);padding:var(--spacing-6) var(--spacing-8);text-align:left;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);border-bottom:1px solid var(--color-border-light);border-right:1px solid var(--color-border-light);white-space:nowrap}.data-table th:last-child{border-right:none}.data-table td{padding:var(--spacing-6) var(--spacing-8);border-bottom:1px solid var(--color-border-lightest);border-right:1px solid var(--color-border-lightest);color:var(--color-text-primary)}.data-table td:last-child{border-right:none}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover{background:var(--color-bg-tertiary)}.recharts-wrapper{margin:0 auto}.recharts-cartesian-axis-tick-value{font-size:var(--font-size-sm);fill:var(--color-text-secondary)}.recharts-tooltip-wrapper{outline:none}.recharts-tooltip-content{background:var(--color-bg-primary)!important;border:1px solid var(--color-border-light)!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-lg)!important}.recharts-tooltip-item{color:var(--color-text-primary)!important;font-size:var(--font-size-base)!important}.recharts-legend-item,.recharts-legend-item .recharts-legend-item-text,.recharts-wrapper .recharts-legend-wrapper .recharts-legend .recharts-legend-item .recharts-legend-item-text,.recharts-legend-wrapper .recharts-legend .recharts-legend-item .recharts-legend-item-text,.recharts-legend-item span{font-family:var(--type-ui-2-family)!important;color:var(--color-text-primary)!important}.recharts-scatter-symbol{stroke-width:2px}.recharts-scatter-symbol:hover{stroke-width:3px;cursor:pointer}@media (width<=1024px){.chart-header{margin-bottom:var(--spacing-4)}.chart-title-row{gap:var(--spacing-6)}.chart-type-select{font-size:var(--font-size-sm);padding:var(--spacing-2) var(--spacing-3);padding-right:calc(var(--spacing-3) + 30px);min-width:70px}.data-table{font-size:var(--font-size-sm)}.data-table th,.data-table td{padding:var(--spacing-3) var(--spacing-4)}}@media (width<=768px){.chart-header{margin-bottom:var(--spacing-3)}.chart-title-row{gap:var(--spacing-3);flex-direction:column;justify-content:center}.chart-header-actions{justify-content:center;width:100%}.chart-type-select{font-size:var(--font-size-xs);padding:var(--spacing-2) var(--spacing-4);padding-right:calc(var(--spacing-4) + 30px);min-width:60px}.data-table{font-size:var(--font-size-xs)}.data-table th,.data-table td{padding:var(--spacing-2) var(--spacing-3)}}.inline-chart-type-selector{align-items:center;display:flex;position:relative}.chart-type-select{font-family:var(--type-ui-1-family);font-size:var(--type-ui-1-size);font-weight:var(--type-ui-1-weight);background-color:var(--color-bg-primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%23101010' d='M5 6L0 0h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--spacing-6) center;color:var(--color-text-primary);border:1px solid var(--color-border-light);padding:var(--spacing-4) var(--spacing-6);padding-right:calc(var(--spacing-6) + 30px);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-base), border-color var(--transition-base);text-align:center;appearance:none;vertical-align:middle;z-index:1;background-size:10px 6px;outline:none;min-width:80px;height:auto;line-height:1.4;display:inline-block;position:relative;overflow:visible}.chart-type-select:hover{background-color:var(--color-bg-secondary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%23101010' d='M5 6L0 0h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--spacing-6) center;border-color:var(--color-primary);background-size:10px 6px}.chart-type-select:focus{background-color:var(--color-bg-secondary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%23101010' d='M5 6L0 0h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--spacing-6) center;border-color:var(--color-primary);background-size:10px 6px;outline:none}.chart-info-drawer{background:var(--color-bg-primary);border-radius:var(--box-radius);box-shadow:var(--box-shadow);margin-top:var(--spacing-6);border:none;flex-shrink:0;overflow:hidden}.drawer-header{background:var(--color-bg-primary);border-bottom:none;justify-content:space-between;align-items:center;padding:0;display:flex}.drawer-title{padding:var(--spacing-4) var(--spacing-6);font-family:var(--type-ui-2-family);font-size:var(--type-ui-2-size);font-weight:var(--type-ui-2-weight);color:var(--color-text-secondary);flex:1;margin:0}.drawer-toggle{border:none;border-left:1px solid var(--color-border-light);color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer;padding:var(--spacing-3) var(--spacing-4);transition:background-color var(--transition-base), color var(--transition-base);background:0 0;outline:none;justify-content:center;align-items:center;min-width:36px;height:100%;display:flex}.drawer-toggle:hover{background:var(--color-bg-secondary);color:var(--color-text-secondary)}.drawer-toggle:focus,.drawer-toggle:active{outline:none}.drawer-content{background:var(--color-bg-primary);max-height:0;padding:0 var(--spacing-8);transition:max-height var(--transition-slow), padding var(--transition-slow);overflow:hidden}.chart-info-drawer.open .drawer-content{max-height:500px;padding:var(--spacing-6) var(--spacing-8);border-top:1px solid var(--color-border-light)}.metadata-content{gap:var(--spacing-3);flex-direction:column;display:flex}.metadata-row{gap:var(--spacing-3);align-items:flex-start;display:flex}.metadata-label{font-family:var(--type-ui-2-family);font-size:var(--type-ui-2-size);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);min-width:120px}.metadata-value{font-family:var(--type-ui-2-family);font-size:var(--type-ui-2-size);color:var(--color-text-secondary);flex:1}@media (width<=768px){.chart-info-drawer{margin-top:var(--spacing-4)}.chart-info-drawer.open .drawer-content{padding:var(--spacing-4)}.drawer-title{padding:var(--spacing-3) var(--spacing-4)}.metadata-row{gap:var(--spacing-1);flex-direction:column}.metadata-label{min-width:auto}}.chart-display{background:0 0;flex-direction:column;height:100%;padding:0;display:flex;overflow:hidden}.chart-content{background:var(--color-bg-primary);border-radius:var(--box-radius);min-height:0;box-shadow:var(--box-shadow);padding:var(--spacing-6);border:none;flex-direction:column;flex:1;align-items:stretch;display:flex;overflow:hidden}.data-summary,.columns-info{align-items:center;gap:6px;margin-bottom:4px;display:flex}.data-summary strong,.columns-info strong{color:#101010;min-width:60px;font-size:.75rem}.no-data-message{text-align:center;padding:30px var(--spacing-10);font-family:var(--type-ui-2-family);font-size:var(--type-ui-2-size);color:var(--color-text-primary);padding-top:100px}.chart-logo{width:48px;height:48px;margin-bottom:var(--spacing-4)}.no-data-message h3{font-family:var(--type-ui-1-family);font-size:var(--type-ui-1-size);font-weight:var(--font-weight-semibold);line-height:var(--type-ui-1-line-height);letter-spacing:var(--type-ui-1-letter-spacing);color:var(--color-text-primary);margin-bottom:var(--spacing-4)}.no-data-message p{font-family:var(--type-ui-2-family);font-size:var(--type-ui-2-size);line-height:var(--type-ui-2-line-height);margin-bottom:var(--spacing-6)}.example-queries h4{font-family:var(--type-ui-2-family);font-size:var(--type-ui-2-size);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:10px}.example-queries ul{text-align:left;max-width:400px;margin:0 auto;padding-left:20px}.example-queries li{font-family:var(--type-ui-2-family);font-size:var(--type-ui-2-size);line-height:var(--line-height-relaxed);color:var(--color-text-secondary);margin-bottom:6px}@media (width<=1024px){.chart-content{padding:var(--spacing-4)}.data-summary,.columns-info{gap:4px;margin-bottom:3px}.data-summary strong,.columns-info strong{min-width:50px;font-size:.7rem}}@media (width<=768px){.chart-content{padding:var(--spacing-4)}.data-summary,.columns-info{flex-direction:column;align-items:flex-start;gap:2px;margin-bottom:2px}}.tripletex-integration{padding:var(--spacing-12)}.integration-header{margin-bottom:var(--spacing-12);padding-bottom:var(--spacing-8);border-bottom:1px solid var(--color-border-light)}.integration-header h2{font-family:var(--type-h3-family);font-size:var(--type-h3-size);font-weight:var(--type-h3-weight);line-height:var(--type-h3-line-height);letter-spacing:var(--type-h3-letter-spacing);color:var(--color-text-primary);margin:0 0 var(--spacing-4) 0}.integration-description{font-family:var(--type-ui-1-family);font-size:var(--type-ui-1-size);color:var(--color-text-secondary);margin:0}.secrets-status{margin-bottom:var(--spacing-16);padding:var(--spacing-10);background-color:var(--color-bg-primary);border-radius:var(--radius-lg);box-shadow:var(--box-shadow);border:none}.status-title{font-family:var(--type-ui-1-family);font-size:var(--type-ui-1-size);font-weight:var(--type-ui-1-weight);color:var(--color-text-primary);margin:0 0 var(--spacing-8) 0}.status-cards{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;display:grid}.status-card{background-color:var(--color-bg-tertiary);border-radius:var(--radius-lg);padding:var(--spacing-8);box-shadow:var(--box-shadow);border:none}.status-card-header{margin-bottom:var(--spacing-6);justify-content:space-between;align-items:center;display:flex}.status-card-name{font-family:var(--type-ui-1-family);font-size:var(--type-ui-1-size);font-weight:var(--type-ui-1-weight);color:var(--color-text-primary);flex:1}.status-badge{padding:var(--spacing-2) var(--spacing-4);border-radius:var(--radius-pill);font-family:var(--type-ui-2-family);font-size:var(--font-size-xs);font-weight:var(--type-ui-2-weight);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.status-badge.active{color:#065f46;background-color:#d1fae5;border:none}.status-card-details{gap:var(--spacing-3);flex-direction:column;display:flex}.status-card-description{font-family:var(--type-ui-2-family);font-size:var(--type-ui-2-size);line-height:var(--line-height-relaxed);color:var(--color-text-secondary)}.status-card-date{font-family:var(--type-ui-2-family);font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.no-secrets-message{text-align:center;padding:var(--spacing-12);font-family:var(--type-ui-1-family);color:var(--color-text-secondary)}.no-secrets-message p{font-size:var(--type-ui-1-size);margin:0 0 var(--spacing-4) 0}.no-secrets-subtitle{font-family:var(--type-ui-2-family);font-size:var(--type-ui-2-size)!important;color:var(--color-text-tertiary)!important}.integration-form{max-width:500px}.form-label{margin-bottom:var(--spacing-3);font-family:var(--type-ui-1-family);font-size:var(--type-ui-1-size);font-weight:var(--type-ui-1-weight);color:var(--color-text-primary);display:block}.form-input{width:100%;padding:var(--spacing-5) var(--spacing-6);font-family:var(--type-body-family);font-size:var(--type-ui-1-size);border-radius:var(--radius-md);box-shadow:var(--box-shadow);box-sizing:border-box;border:none;transition:box-shadow .2s}.form-input:focus{box-shadow:var(--shadow-focus-primary);outline:none}.form-input:disabled{background-color:var(--color-bg-quaternary);color:var(--color-text-secondary);cursor:not-allowed}.field-help{margin:var(--spacing-2) 0 0 0;font-family:var(--type-ui-2-family);font-size:var(--type-ui-2-size);color:var(--color-text-secondary)}.message{padding:var(--spacing-6);border-radius:var(--radius-md);margin-bottom:var(--spacing-8);font-family:var(--type-ui-1-family);font-size:var(--type-ui-1-size)}.message.success{color:#065f46;background-color:#d1fae5;border:none}.message.error{background-color:var(--color-error-bg);color:var(--color-error);border:none}.form-actions{flex-direction:column;gap:12px;display:flex}.submit-button{padding:var(--spacing-6) var(--spacing-12);font-family:var(--type-ui-1-family);font-size:var(--type-ui-1-size);font-weight:var(--type-ui-1-weight);background-color:var(--color-primary);color:#fff;border-radius:var(--radius-md);box-shadow:var(--box-shadow);cursor:pointer;transition:all var(--transition-base);border:none;align-self:flex-start}.submit-button:hover:not(:disabled){background-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.submit-button:disabled{background-color:var(--color-gray-disabled);cursor:not-allowed;transform:none}.submit-button.disabled{background-color:var(--color-bg-quaternary);color:var(--color-text-tertiary)}.admin-notice{font-family:var(--type-ui-2-family);font-size:var(--type-ui-2-size);color:var(--color-text-secondary);margin:0;font-style:italic}@media (width<=768px){.tripletex-integration{padding:16px}.secrets-status{margin-bottom:24px;padding:16px}.status-cards{grid-template-columns:1fr;gap:8px}.status-card{padding:12px}.status-card-header{flex-direction:column;align-items:flex-start;gap:8px}.status-badge{align-self:flex-end}.integration-form{max-width:none}.submit-button{width:100%}}.settings{background:var(--color-bg-primary);border-radius:var(--box-radius);box-shadow:var(--box-shadow);margin:var(--spacing-6) auto;padding:var(--spacing-12);border:none;max-width:800px;height:calc(100vh - 124px);overflow-y:auto}.settings-header{margin-bottom:var(--spacing-16)}.settings-header h1{font-family:var(--type-h2-family);font-size:var(--type-h2-size);font-weight:var(--type-h2-weight);line-height:var(--type-h2-line-height);letter-spacing:var(--type-h2-letter-spacing);color:var(--color-text-primary);margin:0 0 var(--spacing-4) 0}.settings-description{font-family:var(--type-body-family);font-size:var(--type-body-size);color:var(--color-text-secondary);margin:0}.settings-content{gap:var(--spacing-12);flex-direction:column;display:flex}.settings-section{background:var(--color-bg-tertiary);border-radius:var(--box-radius);box-shadow:var(--box-shadow);border:none;overflow:hidden}@media (width<=1024px){.settings{margin:8px;padding:20px}}@media (width<=768px){.settings{height:calc(100vh - 180px);margin:8px 4%;padding:16px}.settings-header h1{font-size:1.75rem}.settings-description{font-size:.875rem}}.cash-balance-dashboard{padding:var(--spacing-16);width:100%;max-width:var(--content-max-width);box-sizing:border-box;background:0 0;min-height:100%;margin:0 auto;overflow-y:auto}.cash-balance-dashboard-header{margin-bottom:var(--spacing-8)}.cash-balance-header-content{justify-content:space-between;align-items:center;gap:var(--spacing-4);flex-wrap:wrap;display:flex}.cash-balance-date-indicator{align-items:center;gap:var(--spacing-4);padding:var(--spacing-3) var(--spacing-6);background:var(--color-bg-primary);border-radius:var(--radius-md);box-shadow:var(--box-shadow);border:none;display:flex}.date-indicator-text{font-family:var(--type-ui-2-family);font-size:var(--type-ui-2-size);font-weight:var(--type-ui-2-weight);line-height:var(--type-ui-2-line-height);letter-spacing:var(--type-ui-2-letter-spacing);color:var(--color-text-secondary)}.date-indicator-reset{color:var(--color-text-secondary);cursor:pointer;padding:var(--spacing-1);font-size:var(--font-size-lg);transition:color var(--transition-base);background:0 0;border:none;justify-content:center;align-items:center;line-height:1;display:flex}.date-indicator-reset:hover{color:var(--color-text-primary)}.cash-balance-dashboard-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.cash-balance-dashboard-content{gap:var(--spacing-12);flex-direction:column;width:100%;display:flex}.cash-balance-dashboard-main{gap:var(--spacing-8);align-items:stretch;width:100%;display:flex}.cash-balance-chart-section{flex:1;min-width:0}.cash-balance-kpi-section{flex-direction:column;flex:0 0 320px;display:flex}.kpi-cards-vertical{gap:var(--spacing-4);flex-direction:column;height:100%;display:flex}.kpi-card{background:var(--color-bg-primary);border-radius:var(--box-radius);padding:var(--spacing-8) var(--spacing-6);box-shadow:var(--box-shadow);transition:transform var(--transition-base), box-shadow var(--transition-base);border:none;flex-direction:column;flex:1;justify-content:space-between;min-height:0;display:flex}.kpi-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.kpi-value{font-family:var(--type-h3-family);font-size:var(--font-size-xl);font-weight:var(--type-h3-weight);color:var(--color-text-primary);margin-bottom:var(--spacing-2);line-height:var(--line-height-tight);word-break:break-word}.kpi-description{font-family:var(--type-body-family);font-size:var(--font-size-xs);color:var(--color-text-tertiary);line-height:var(--line-height-normal)}.chart-card{background:var(--color-bg-primary);border-radius:var(--box-radius);padding:var(--spacing-12);box-shadow:var(--box-shadow);border:none;outline:none;height:100%}.chart-card:focus,.chart-card:focus-visible{outline:none}.chart-card.stacked-bar-chart{flex-direction:column;height:100%;display:flex}.chart-card.area-chart{flex-direction:column;height:100%;min-height:500px;display:flex}.chart-title{font-family:var(--type-h3-family);font-size:var(--font-size-xl);font-weight:var(--type-h3-weight);line-height:var(--type-h3-line-height);letter-spacing:var(--type-h3-letter-spacing);color:var(--color-text-primary);margin:0 0 var(--spacing-6) 0}.chart-container{outline:none;flex:1;justify-content:center;align-items:center;min-height:400px;display:flex}.chart-container:focus,.chart-container:focus-visible,.chart-container svg:focus{outline:none}.chart-empty{font-family:var(--type-body-family);font-size:var(--type-body-size);color:var(--color-text-tertiary)}.cash-balance-dashboard-loading{justify-content:center;align-items:center;gap:var(--spacing-8);flex-direction:column;min-height:400px;display:flex}.cash-balance-dashboard-loading .loading-spinner{border:4px solid var(--color-border-light);border-top:4px solid var(--color-secondary);border-radius:var(--radius-full);width:48px;height:48px;animation:1s linear infinite spin}.cash-balance-dashboard-loading p{font-family:var(--type-body-family);font-size:var(--type-body-size);color:var(--color-text-secondary)}.cash-balance-dashboard-error{background:var(--color-error-bg);border-radius:var(--box-radius);box-shadow:var(--box-shadow);padding:var(--spacing-16);text-align:center;margin:var(--spacing-16) 0;border:none}.cash-balance-dashboard-error .error-message{font-family:var(--type-body-family);font-size:var(--type-body-size);font-weight:var(--font-weight-medium);color:var(--color-error);margin:0 0 var(--spacing-4) 0}.cash-balance-dashboard-error .error-hint{font-family:var(--type-ui-1-family);font-size:var(--type-ui-1-size);color:var(--color-error);opacity:.8;margin:0}.cash-balance-dashboard-empty{background:var(--color-bg-primary);border-radius:var(--box-radius);box-shadow:var(--box-shadow);padding:var(--spacing-24);text-align:center;margin:var(--spacing-16) 0;border:none}.cash-balance-dashboard-empty p{font-family:var(--type-body-family);font-size:var(--type-body-size);color:var(--color-text-secondary);margin:var(--spacing-4) 0}.cash-balance-dashboard-empty .empty-hint{font-family:var(--type-ui-1-family);font-size:var(--type-ui-1-size);color:var(--color-text-tertiary)}@media (width<=1024px){.cash-balance-dashboard-main{flex-direction:column}.cash-balance-kpi-section{flex:1;width:100%}.kpi-cards-vertical{gap:var(--spacing-6);grid-template-columns:repeat(3,1fr);display:grid}.kpi-card{min-height:auto}.chart-card.area-chart{min-height:400px}}@media (width<=768px){.cash-balance-dashboard{padding:var(--spacing-8)}.cash-balance-dashboard-content{height:auto}.cash-balance-dashboard-main{gap:var(--spacing-6);flex-direction:column}.cash-balance-kpi-section{flex:1;width:100%}.kpi-cards-vertical{gap:var(--spacing-4);grid-template-columns:repeat(2,1fr);display:grid}.kpi-card{min-height:auto}.kpi-value{font-size:var(--font-size-lg)}.header-company-name{font-size:var(--font-size-xl)}.cash-balance-dashboard-header{margin-bottom:var(--spacing-6)}.chart-card.area-chart{min-height:350px}}@media (width<=480px){.kpi-cards-vertical{grid-template-columns:1fr}}.recharts-tooltip-wrapper{z-index:var(--z-tooltip)}.recharts-cartesian-axis-tick-value{font-family:var(--font-primary)}.recharts-legend-item-text{font-family:var(--type-ui-2-family)!important;font-size:var(--type-ui-2-size)!important;font-weight:var(--type-ui-2-weight)!important;color:var(--color-text-secondary)!important}.recharts-default-legend{font-family:var(--font-primary)}.tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{color:#fff;white-space:normal;background-color:#333;border-radius:4px;outline:0;font-size:14px;line-height:1.4;transition-property:transform,visibility,opacity;position:relative}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{border-width:8px 8px 0;border-top-color:initial;transform-origin:top;bottom:-7px;left:0}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{border-width:0 8px 8px;border-bottom-color:initial;transform-origin:bottom;top:-7px;left:0}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;transform-origin:0;right:-7px}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{border-width:8px 8px 8px 0;border-right-color:initial;transform-origin:100%;left:-7px}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{color:#333;width:16px;height:16px}.tippy-arrow:before{content:"";border-style:solid;border-color:#0000;position:absolute}.tippy-content{z-index:1;padding:5px 9px;position:relative}.projects-tabs{gap:var(--spacing-2);align-items:center;display:flex}.projects-tabs .projects-tab{pointer-events:auto}.projects-tab{padding:var(--spacing-2) var(--spacing-6);background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--radius-md);font-family:var(--type-ui-2-family);font-size:var(--type-ui-2-size);font-weight:var(--type-ui-2-weight);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-base);outline:none}.projects-tab:focus,.projects-tab:active{outline:none}.projects-tab:hover{background:var(--color-bg-secondary);border-color:var(--color-border-primary)}.projects-tab.active{background:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary)}.projects-tab:focus-visible{outline:none}.projects-list-container{background:0 0;border:none;width:100%;min-width:100%;display:block;position:relative}.projects-list-empty{padding:var(--spacing-16);text-align:center;color:var(--color-text-secondary);font-family:var(--type-ui-2-family);font-size:var(--type-ui-2-size)}.projects-table{border-collapse:separate;border-spacing:0;width:100%;min-width:800px;font-family:var(--type-ui-1-family);font-size:var(--type-ui-1-size);background:var(--color-bg-primary);box-shadow:none;table-layout:auto;border-radius:0;position:relative}.projects-table thead{width:100%;display:table-header-group;position:relative}.projects-table thead tr{background:0 0;width:100%;display:table-row;position:relative}.projects-table thead th{font-family:var(--type-ui-1-family);font-size:var(--type-ui-1-size);font-weight:var(--font-weight-semibold);padding:var(--spacing-4) var(--spacing-6);text-align:left;color:var(--color-text-primary);border-bottom:1px solid var(--color-border-light);background:var(--color-bg-primary);z-index:100;isolation:isolate;position:sticky;top:0;overflow:hidden}.projects-table thead th.projects-table-col-project-number,.projects-table td.projects-table-col-project-number{text-align:center}.projects-table thead th.sortable-header.projects-table-col-project-number .header-content{justify-content:center}.projects-table thead th:nth-child(4),.projects-table thead th:nth-child(5),.projects-table thead th:nth-child(6),.projects-table thead th:nth-child(7),.projects-table thead th:nth-child(8){text-align:right}.projects-table thead th.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--transition-base)}.projects-table thead th.sortable-header:hover{background:var(--color-bg-secondary)}.projects-table thead th.sortable-header .header-content{align-items:center;gap:var(--spacing-2);display:flex}.projects-table thead th.sortable-header:nth-child(4) .header-content,.projects-table thead th.sortable-header:nth-child(5) .header-content,.projects-table thead th.sortable-header:nth-child(6) .header-content,.projects-table thead th.sortable-header:nth-child(7) .header-content,.projects-table thead th.sortable-header:nth-child(8) .header-content{justify-content:flex-end}.projects-table thead th.sortable-header .sort-indicator{color:var(--color-primary);font-size:.9em;font-weight:var(--font-weight-bold);text-align:center;opacity:.8;min-width:1em;margin-left:auto}.projects-table thead th.sortable-header:nth-child(5) .sort-indicator,.projects-table thead th.sortable-header:nth-child(6) .sort-indicator,.projects-table thead th.sortable-header:nth-child(7) .sort-indicator,.projects-table thead th.sortable-header:nth-child(8) .sort-indicator{margin-left:0;margin-right:var(--spacing-2);order:-1}.projects-table thead th.sortable-header:first-child .sort-indicator{margin-left:var(--spacing-2);margin-right:0}.projects-table thead th.sortable-header .sort-indicator:empty{display:none}.projects-table thead th:first-child{border-top-left-radius:var(--box-radius)}.projects-table thead th:last-child{border-top-right-radius:var(--box-radius);width:auto}.projects-table thead th:before{content:"";background:var(--color-bg-primary);z-index:-2;pointer-events:none;position:absolute;inset:0}.projects-table thead th:after{content:"";background:var(--color-tertiary-alpha-15);z-index:-1;pointer-events:none;position:absolute;inset:0}.projects-table thead th:first-child:before,.projects-table thead th:first-child:after{border-top-left-radius:var(--box-radius)}.projects-table thead th:last-child:before,.projects-table thead th:last-child:after{border-top-right-radius:var(--box-radius)}.projects-table td{font-family:var(--type-ui-1-family);font-size:var(--type-ui-1-size);padding:var(--spacing-4) var(--spacing-6);border-bottom:1px solid var(--color-border-light);color:var(--color-text-primary);text-align:left}.projects-table td:nth-child(4),.projects-table td:nth-child(5),.projects-table td:nth-child(6),.projects-table td:nth-child(7),.projects-table td:nth-child(8){text-align:right}.projects-table-row{cursor:pointer;transition:background-color var(--transition-base)}.projects-table-row:hover{background:var(--color-bg-secondary)}.projects-table tbody tr:last-child td{border-bottom:none}.status-cell{justify-content:center;align-items:center;display:flex}.status-dot{border-radius:50%;width:10px;height:10px;display:inline-block}.projects-input,.projects-select{width:100%;padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);font-family:var(--type-ui-2-family);font-size:var(--type-ui-2-size);color:var(--color-text-primary);background:var(--color-bg-primary);transition:border-color var(--transition-base)}.projects-input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.projects-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.projects-input[type=number]{-moz-appearance:textfield}.projects-input:focus,.projects-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light);outline:none}.projects-input:hover,.projects-select:hover{border-color:var(--color-border-primary)}.project-modal-overlay{top:var(--header-height);z-index:var(--z-modal);padding:var(--spacing-6);animation:fadeIn var(--transition-base);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.project-modal-content{background:var(--color-bg-page);border-radius:var(--radius-lg);box-shadow:var(--shadow-2xl);width:100%;max-width:95vw;height:calc(100vh - var(--header-height) - var(--spacing-6) * 2);max-height:calc(100vh - var(--header-height) - var(--spacing-6) * 2);animation:slideUp var(--transition-slow);flex-direction:column;display:flex;position:relative;overflow:hidden}.project-modal-header{padding:var(--spacing-4) var(--spacing-6);border-bottom:1px solid var(--color-border-light);background:var(--color-bg-primary);z-index:10;flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.project-modal-title{font-family:var(--type-h3-family);font-size:var(--type-h3-size);font-weight:var(--type-h3-weight);line-height:var(--type-h3-line-height);letter-spacing:var(--type-h3-letter-spacing);color:var(--color-text-primary);margin:0}.project-modal-tabs-right{align-items:center;gap:var(--spacing-3);flex-shrink:0;margin-left:auto;display:flex}.project-date-kpi{align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-4);background:var(--color-bg-primary);border-radius:var(--radius-md);box-shadow:var(--box-shadow);white-space:nowrap;box-sizing:border-box;border:none;flex-direction:row;min-width:auto;height:auto;display:flex}.project-date-kpi-label{font-family:var(--type-ui-2-family);font-size:var(--type-ui-2-size);font-weight:var(--type-ui-2-weight);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.project-date-kpi-value{font-family:var(--type-ui-2-family);font-size:var(--type-ui-2-size);font-weight:var(--type-ui-2-weight);color:var(--color-text-primary);white-space:nowrap}.project-status-kpi{align-items:center;gap:var(--spacing-4);padding:var(--spacing-3) var(--spacing-4);background:var(--color-bg-primary);border-radius:var(--radius-md);box-shadow:var(--box-shadow);box-sizing:border-box;white-space:nowrap;border:none;flex-direction:row;justify-content:center;min-width:120px;height:auto;display:flex}.project-status-kpi-label{font-family:var(--type-ui-2-family);font-size:var(--type-ui-2-size);font-weight:var(--type-ui-2-weight);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.project-status-kpi-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px;display:inline-block}.project-status-kpi-empty{color:var(--color-text-tertiary)}.project-date{align-items:center;gap:var(--spacing-2);white-space:nowrap;min-width:180px;display:flex}.project-date-label{color:var(--color-text-secondary)}.project-date-value{color:var(--color-text-primary);font-weight:var(--type-ui-1-weight);min-width:100px}.project-modal-close{color:var(--color-text-secondary);cursor:pointer;border-radius:var(--radius-sm);width:auto;height:auto;transition:all var(--transition-base);vertical-align:middle;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:28px;line-height:1;display:flex}.project-modal-close:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.project-modal-close:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.project-modal-tabs{justify-content:space-between;align-items:center;gap:var(--spacing-2);padding:var(--spacing-4) var(--spacing-6);border-bottom:1px solid var(--color-border-light);background:var(--color-bg-primary);flex-shrink:0;max-width:100%;display:flex;overflow:hidden}.project-modal-tab{padding:var(--spacing-2) var(--spacing-6);background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--radius-md);font-family:var(--type-ui-2-family);font-size:var(--type-ui-2-size);font-weight:var(--type-ui-2-weight);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-base);outline:none;margin-bottom:0}.project-modal-tab:hover{background:var(--color-bg-secondary);border-color:var(--color-border-primary)}.project-modal-tab.active{background:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary)}.project-modal-tab:focus-visible{outline:none}.project-modal-body{padding:var(--spacing-6);flex:1;overflow-y:auto}.project-overview-content{width:100%}.project-detail-grid{gap:var(--spacing-4);grid-template-columns:repeat(4,1fr);width:100%;display:grid}.project-detail-item{gap:var(--spacing-1);padding:var(--spacing-3) var(--spacing-4);background:var(--color-bg-primary);border-radius:var(--radius-md);box-shadow:var(--box-shadow);border:none;flex-direction:column;justify-content:space-between;min-height:64px;display:flex}.project-detail-item:empty{visibility:hidden}.project-detail-section-header{font-family:var(--type-ui-2-family);font-size:var(--type-ui-2-size);font-weight:var(--type-ui-2-weight);text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary);padding:0 var(--spacing-1);margin-top:var(--spacing-2);grid-column:1/-1}.project-detail-label{font-family:var(--type-ui-2-family);font-size:var(--type-ui-2-size);font-weight:var(--type-ui-2-weight);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.project-detail-value{font-family:var(--type-body-family);font-size:var(--type-body-size);font-weight:var(--type-body-weight);color:var(--color-text-primary);word-break:break-word;margin-top:auto}.project-detail-input{width:100%;padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);font-family:var(--type-body-family);font-size:var(--type-body-size);color:var(--color-text-primary);background:var(--color-bg-primary);transition:border-color var(--transition-base);margin-top:auto}.project-detail-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light);outline:none}.project-detail-input:hover{border-color:var(--color-border-primary)}.status-indicator{width:12px;height:12px;margin-right:var(--spacing-2);vertical-align:middle;border-radius:50%;display:inline-block}@media (width<=768px){.project-modal-content{max-width:100vw;height:calc(100vh - var(--header-height) - var(--spacing-6) * 2);max-height:calc(100vh - var(--header-height) - var(--spacing-6) * 2);border-radius:0}.project-modal-overlay{top:var(--header-height);padding:var(--spacing-6);align-items:center}.project-modal-body{padding:var(--spacing-4)}.project-detail-grid{gap:var(--spacing-4);grid-template-columns:1fr}}.chat-drawer-header{padding:var(--spacing-4);border-bottom:1px solid var(--color-border-light);background:var(--color-bg-primary);align-items:center;gap:var(--spacing-4);border-radius:var(--box-radius) var(--box-radius) 0 0;flex-shrink:0;justify-content:space-between;width:100%;min-height:48px;display:flex}.chat-drawer-sessions{flex:1;align-items:center;display:flex;overflow:hidden}.session-list-horizontal{gap:var(--spacing-2);scrollbar-width:thin;scrollbar-color:var(--color-border-lighter) transparent;align-items:center;padding:0;display:flex;overflow:auto hidden}.session-list-horizontal::-webkit-scrollbar{height:4px}.session-list-horizontal::-webkit-scrollbar-track{background:0 0}.session-list-horizontal::-webkit-scrollbar-thumb{background:var(--color-border-lighter);border-radius:var(--radius-full)}.session-list-horizontal::-webkit-scrollbar-thumb:hover{background:var(--color-border-light)}.session-item-horizontal{align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);background:var(--color-bg-tertiary);border:1px solid var(--color-border-light);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;flex-shrink:0;display:flex;position:relative}.session-item-horizontal:hover{background:var(--color-bg-secondary);border-color:#0000}.session-item-horizontal.active{background:var(--color-tertiary-alpha-15);font-weight:var(--font-weight-semibold);border-color:#0000}.session-title-horizontal{font-family:var(--type-ui-2-family);font-size:var(--type-ui-2-size);color:var(--color-text-primary);text-overflow:ellipsis;max-width:150px;overflow:hidden}.session-delete-horizontal{color:var(--color-text-tertiary);cursor:pointer;font-size:var(--font-size-lg);border-radius:var(--radius-sm);width:18px;height:18px;transition:all var(--transition-base);opacity:0;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.session-item-horizontal:hover .session-delete-horizontal{opacity:1}.session-delete-horizontal:hover{background:var(--color-error-bg);color:var(--color-error)}.session-delete-horizontal:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;opacity:1}.new-session-button-horizontal{color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-xl);font-weight:var(--font-weight-normal);transition:all var(--transition-base);width:24px;height:24px;margin-left:var(--spacing-2);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;line-height:1;display:flex}.new-session-button-horizontal:hover{color:var(--color-text-primary);transform:scale(1.1)}.new-session-button-horizontal:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.chat-drawer-content{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.chat-drawer-messages{background:var(--color-bg-primary);flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.chat-drawer-messages-container{padding:var(--spacing-6);gap:var(--spacing-6);flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden auto}.chat-drawer-messages-container::-webkit-scrollbar{width:6px}.chat-drawer-messages-container::-webkit-scrollbar-track{margin:var(--spacing-4) 0;background:0 0}.chat-drawer-messages-container::-webkit-scrollbar-thumb{background:var(--color-border-lighter);border:1px solid var(--color-bg-primary);border-radius:2px}.chat-drawer-messages-container::-webkit-scrollbar-thumb:hover{background:var(--color-border-light)}.chat-drawer-welcome{text-align:center;padding:var(--spacing-10);font-family:var(--type-ui-2-family);font-size:var(--type-ui-2-size);color:var(--color-text-primary)}.chat-drawer-welcome-logo{width:40px;height:40px;margin-bottom:var(--spacing-4)}.chat-drawer-welcome h3{font-family:var(--type-ui-1-family);font-size:var(--type-ui-1-size);font-weight:var(--font-weight-semibold);line-height:var(--type-ui-1-line-height);letter-spacing:var(--type-ui-1-letter-spacing);color:var(--color-text-primary);margin-bottom:var(--spacing-4)}.chat-drawer-welcome p{font-family:var(--type-ui-2-family);font-size:var(--type-ui-2-size);line-height:var(--type-ui-2-line-height);color:var(--color-text-secondary)}.chat-drawer-loading{align-items:center;gap:var(--spacing-6);padding:var(--spacing-6);font-family:var(--type-ui-1-family);font-size:var(--type-ui-1-size);color:var(--color-text-secondary);font-style:italic;display:flex}.chat-drawer-loading-fox{width:20px;height:20px;animation:2s ease-in-out infinite pulse}.chat-drawer-input{padding:var(--spacing-4);background:var(--color-bg-primary);border-top:1px solid var(--color-border-light);border-radius:0 0 var(--box-radius) var(--box-radius);flex-shrink:0}.graph-modal-overlay{top:var(--header-height);z-index:var(--z-modal);padding:var(--spacing-6);animation:fadeIn var(--transition-base);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.graph-modal-content{background:var(--color-bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-2xl);width:100%;max-width:95vw;height:calc(100vh - var(--header-height) - var(--spacing-6) * 2);max-height:calc(100vh - var(--header-height) - var(--spacing-6) * 2);animation:slideUp var(--transition-slow);flex-direction:column;display:flex;position:relative;overflow:visible}.graph-modal-header{padding:var(--spacing-4) var(--spacing-6);border-bottom:1px solid var(--color-border-light);background:var(--color-bg-primary);z-index:10;flex-shrink:0;justify-content:flex-end;align-items:center;display:flex}.graph-modal-header-right{align-items:center;gap:var(--spacing-8);display:flex}.graph-modal-close{color:var(--color-text-secondary);cursor:pointer;border-radius:var(--radius-sm);width:auto;height:auto;transition:all var(--transition-base);margin-left:var(--spacing-8);vertical-align:middle;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:28px;line-height:1;display:flex}.graph-modal-close:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.graph-modal-close:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.graph-modal-body{min-height:0;padding:var(--spacing-6);flex-direction:column;flex:1;display:flex;overflow:hidden}@media (width<=768px){.graph-modal-content{max-width:100vw;height:calc(100vh - var(--header-height) - var(--spacing-6) * 2);max-height:calc(100vh - var(--header-height) - var(--spacing-6) * 2);border-radius:0}.graph-modal-overlay{top:var(--header-height);padding:var(--spacing-6);align-items:center}.graph-modal-body{padding:var(--spacing-4);padding-top:var(--spacing-10)}}.chat-drawer{background:var(--color-bg-primary);border-radius:var(--box-radius);box-shadow:var(--box-shadow);height:calc(100% - var(--spacing-6) * 2);max-height:calc(100% - var(--spacing-6) * 2);z-index:10;margin-right:var(--spacing-6);margin-top:var(--spacing-6);margin-bottom:var(--spacing-6);border:none;flex-direction:column;flex-shrink:0;align-self:flex-end;transition:width .1s ease-out;display:flex;position:relative;overflow:hidden}.chat-drawer-toggle-left{background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--radius-full);cursor:pointer;font-size:var(--font-size-base);color:var(--color-text-secondary);transition:all var(--transition-base);z-index:1000;width:28px;height:28px;box-shadow:var(--shadow-xs);outline:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.chat-drawer-toggle-left.open{right:408px}.chat-drawer-toggle-left.closed{right:8px}.chat-drawer-toggle-left:hover{background:var(--color-bg-secondary);color:var(--color-text-primary);border-color:var(--color-border-primary);box-shadow:var(--shadow-sm);transform:translateY(-50%)scale(1.05)}.chat-drawer-toggle-left:active{transform:translateY(-50%)scale(.95)}.chat-drawer-toggle-left:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (width<=1024px){.chat-drawer-toggle-left.open{right:358px}}.chat-drawer.open{width:400px}.chat-drawer.closed{border-left:none;width:0}.chat-drawer.closed .chat-drawer-sessions,.chat-drawer.closed .chat-drawer-content{display:none}.chat-drawer-resize-handle{cursor:col-resize;z-index:100;background:0 0;width:4px;position:absolute;top:0;bottom:0;left:0}.chat-drawer-resize-handle:hover{background:0 0}@media (width<=1024px){.chat-drawer.open{width:350px}}@media (width<=768px){.chat-drawer.open{width:100%;z-index:var(--z-overlay);position:absolute;top:0;bottom:0;right:0}}.projects-view-container{gap:var(--spacing-6);z-index:1;flex:1;align-items:flex-end;width:100%;height:100%;min-height:0;max-height:100%;display:flex;position:relative;overflow:visible}.projects-view{box-sizing:border-box;min-width:0;height:calc(100% - var(--spacing-6));max-height:calc(100% - var(--spacing-6));padding:var(--spacing-16);margin-bottom:var(--spacing-6);z-index:1;isolation:isolate;background:0 0;flex-direction:column;flex:1;padding-bottom:0;display:flex;position:relative;overflow:hidden}.projects-content-wrapper{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.projects-list-wrapper{border-radius:var(--box-radius);min-height:0;box-shadow:var(--box-shadow);background:var(--color-bg-primary);padding:var(--spacing-6);flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.projects-table-scroll-container{flex:1;min-height:0;position:relative;overflow:auto}.projects-table-scroll-container::-webkit-scrollbar{width:6px;height:6px}.projects-table-scroll-container::-webkit-scrollbar-track{background:0 0}.projects-table-scroll-container::-webkit-scrollbar-thumb{background:var(--color-border-lighter);border-radius:2px}.projects-table-scroll-container::-webkit-scrollbar-thumb:hover{background:var(--color-border-light)}.projects-table-scroll-container::-webkit-scrollbar:horizontal{height:6px}.projects-table-scroll-container::-webkit-scrollbar-thumb:horizontal{border-radius:2px}.projects-header{margin-bottom:var(--spacing-4);justify-content:space-between;align-items:center;gap:var(--spacing-4);flex-wrap:wrap;flex-shrink:0;display:flex}.projects-tabs-row{margin-bottom:var(--spacing-8);justify-content:space-between;align-items:center;gap:var(--spacing-4);display:flex}.projects-kpi-section{flex-shrink:0}.kpi-cards-horizontal{gap:var(--spacing-3);flex-flow:wrap;display:flex}.kpi-card{background:var(--color-bg-primary);border-radius:var(--box-radius);padding:var(--spacing-2) var(--spacing-4);box-shadow:var(--box-shadow);border:none;flex-direction:column;flex:none;justify-content:center;min-width:120px;display:flex}.kpi-card.highlight{background:var(--color-bg-primary);box-shadow:var(--shadow-md)}.kpi-label{font-family:var(--type-ui-2-family);font-size:9px;font-weight:var(--type-ui-2-weight);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);margin-bottom:var(--spacing-1)}.kpi-value{font-family:var(--type-h3-family);font-size:var(--font-size-base);font-weight:var(--type-h3-weight);color:var(--color-text-primary);line-height:var(--line-height-tight);word-break:break-word}.projects-kpis-loading{padding:var(--spacing-16);justify-content:center;align-items:center;gap:var(--spacing-4);flex-direction:column;height:100%;min-height:0;display:flex}.projects-kpis-loading .loading-spinner{border:3px solid var(--color-border-light);border-top-color:var(--color-primary);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}.projects-kpis-loading p{font-family:var(--type-ui-2-family);font-size:var(--type-ui-2-size);color:var(--color-text-secondary)}.projects-kpis-error{padding:var(--spacing-16);justify-content:center;align-items:center;gap:var(--spacing-4);flex-direction:column;height:100%;min-height:0;display:flex}.projects-kpis-error .error-message{font-family:var(--type-ui-2-family);font-size:var(--type-ui-2-size);color:var(--color-error);text-align:center;margin:0}.projects-header-right{align-items:center;gap:var(--spacing-8);display:flex}.projects-title{font-family:var(--type-h3-family);font-size:var(--type-h3-size);font-weight:var(--type-h3-weight);line-height:var(--type-h3-line-height);letter-spacing:var(--type-h3-letter-spacing);color:var(--color-text-primary);margin:0}.saving-indicator{align-items:center;gap:var(--spacing-2);color:var(--color-text-secondary);font-family:var(--type-ui-2-family);font-size:var(--type-ui-2-size);display:flex}.saving-spinner{border:2px solid var(--color-border-light);border-top-color:var(--color-primary);border-radius:50%;width:12px;height:12px;animation:.8s linear infinite spin}.saving-text{color:var(--color-text-secondary)}.pending-save-indicator{color:var(--color-text-tertiary);font-family:var(--type-ui-2-family);font-size:var(--type-ui-2-size);font-style:italic}.save-button:disabled{background:var(--color-border-light);color:var(--color-text-secondary);cursor:not-allowed;opacity:.6}.save-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.save-message{padding:var(--spacing-3) var(--spacing-6);border-radius:var(--radius-md);margin-bottom:var(--spacing-4);font-family:var(--type-ui-2-family);font-size:var(--type-ui-2-size);flex-shrink:0}.save-message.success{color:var(--color-text-inverse);background:#10b981}.save-message.error{background:var(--color-error-bg);color:var(--color-error);border:1px solid var(--color-error-border)}.projects-loading{padding:var(--spacing-16);justify-content:center;align-items:center;gap:var(--spacing-4);flex-direction:column;height:100%;min-height:0;display:flex}.projects-loading .loading-spinner{border:3px solid var(--color-border-light);border-top-color:var(--color-primary);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}.projects-loading p{font-family:var(--type-ui-2-family);font-size:var(--type-ui-2-size);color:var(--color-text-secondary)}.projects-error{padding:var(--spacing-16);justify-content:center;align-items:center;gap:var(--spacing-4);flex-direction:column;height:100%;min-height:0;display:flex}.projects-error .error-message{font-family:var(--type-ui-2-family);font-size:var(--type-ui-2-size);color:var(--color-error);margin:0}.tippy-box{background:var(--color-bg-primary);color:var(--color-text-primary);border:1px solid var(--color-border-light);box-shadow:var(--shadow-lg);border-radius:var(--radius-md);font-family:var(--type-ui-2-family);font-size:var(--type-ui-2-size);font-weight:var(--type-ui-2-weight);line-height:var(--type-ui-2-line-height);padding:var(--spacing-3) var(--spacing-4);max-width:300px}.tippy-content{color:var(--color-text-primary);padding:0}.tippy-arrow{color:var(--color-bg-primary)}.tippy-box[data-placement^=top]>.tippy-arrow:before{border-top-color:var(--color-border-light)}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:var(--color-border-light)}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-left-color:var(--color-border-light)}.tippy-box[data-placement^=right]>.tippy-arrow:before{border-right-color:var(--color-border-light)}.cashflow-chart-container{flex-direction:column;width:100%;height:100%;min-height:500px;display:flex;position:relative;overflow:visible}.cashflow-chart-header{margin-bottom:var(--spacing-6);padding:var(--spacing-4) 0;flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.cashflow-chart-title{font-family:var(--type-h3-family);font-size:var(--type-h3-size);font-weight:var(--type-h3-weight);line-height:var(--type-h3-line-height);letter-spacing:var(--type-h3-letter-spacing);color:var(--color-text-primary);margin:0}.cashflow-range-selector{align-items:center;gap:var(--spacing-4);display:flex}.range-selector-label{font-family:var(--type-ui-2-family);font-size:var(--type-ui-2-size);font-weight:var(--type-ui-2-weight);color:var(--color-text-secondary);margin:0}.range-selector-buttons{gap:var(--spacing-2);display:flex}.range-button{padding:var(--spacing-2) var(--spacing-6);background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--radius-md);font-family:var(--type-ui-2-family);font-size:var(--type-ui-2-size);font-weight:var(--type-ui-2-weight);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-base);outline:none}.range-button:focus,.range-button:active{outline:none}.range-button:hover{background:var(--color-bg-secondary);border-color:var(--color-border-primary)}.range-button.active{background:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary)}.range-button:focus-visible{outline:none}.cashflow-chart-wrapper{flex:1;width:100%;min-height:0;position:relative}.cashflow-line-chart{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.cashflow-line-chart svg{pointer-events:all}.cashflow-bar-chart{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0;overflow:visible}.cashflow-bar-chart svg{pointer-events:none;position:relative}.cashflow-bar-chart svg g rect{pointer-events:all;cursor:pointer}.cashflow-chart-container [class*=nivo-tooltip]{z-index:10;pointer-events:none}@media (width<=1024px){.cashflow-chart-container{min-height:400px}}@media (width<=768px){.cashflow-chart-container{min-height:300px}}.overview-view-container{gap:var(--spacing-6);z-index:1;flex:1;align-items:flex-end;width:100%;height:100%;min-height:0;max-height:100%;display:flex;position:relative;overflow:visible}.overview-view{box-sizing:border-box;min-width:0;height:calc(100% - var(--spacing-6));max-height:calc(100% - var(--spacing-6));padding:var(--spacing-16);margin-bottom:var(--spacing-6);z-index:1;isolation:isolate;background:0 0;flex-direction:column;flex:1;padding-bottom:0;display:flex;position:relative;overflow:hidden}.overview-header{margin-bottom:var(--spacing-8);flex-shrink:0}.header-company-name{font-family:var(--type-h3-family);font-size:var(--type-h3-size);font-weight:var(--type-h3-weight);line-height:var(--type-h3-line-height);letter-spacing:var(--type-h3-letter-spacing);color:var(--color-text-primary);margin:0}.overview-content-wrapper{border-radius:var(--box-radius);min-width:0;min-height:0;box-shadow:var(--box-shadow);background:var(--color-bg-primary);padding:var(--spacing-6);flex-direction:column;flex:1;display:flex;overflow:hidden}.overview-loading{padding:var(--spacing-16);justify-content:center;align-items:center;gap:var(--spacing-4);flex-direction:column;height:100%;min-height:0;display:flex}.overview-loading .loading-spinner{border:3px solid var(--color-border-light);border-top-color:var(--color-primary);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}.overview-loading p{font-family:var(--type-ui-2-family);font-size:var(--type-ui-2-size);color:var(--color-text-secondary)}.overview-error{padding:var(--spacing-16);justify-content:center;align-items:center;gap:var(--spacing-4);flex-direction:column;height:100%;min-height:0;display:flex}.overview-error .error-message{font-family:var(--type-ui-2-family);font-size:var(--type-ui-2-size);color:var(--color-error);margin:0}.retry-button{padding:var(--spacing-3) var(--spacing-6);background:var(--color-primary);color:var(--color-text-inverse);border-radius:var(--radius-md);font-family:var(--type-ui-2-family);font-size:var(--type-ui-2-size);font-weight:var(--type-ui-2-weight);cursor:pointer;transition:all var(--transition-base);border:none}.retry-button:hover{background:var(--color-blue-dark);box-shadow:var(--box-shadow)}.retry-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.overview-no-data{padding:var(--spacing-16);justify-content:center;align-items:center;height:100%;min-height:0;display:flex}.overview-no-data p{font-family:var(--type-ui-2-family);font-size:var(--type-ui-2-size);color:var(--color-text-secondary);margin:0}.login-container{background-color:var(--color-bg-page);min-height:100vh;padding:var(--spacing-10);justify-content:center;align-items:center;display:flex}.login-card{background:var(--color-bg-primary);border-radius:var(--box-radius);box-shadow:var(--box-shadow);padding:var(--spacing-20);border:none;width:100%;max-width:400px}.login-header{text-align:center;margin-bottom:var(--spacing-16)}.login-logo{align-items:center;gap:var(--spacing-8);flex-direction:column;display:flex}.login-logo-icon{width:64px;height:64px;filter:var(--shadow-logo-light)}.login-logo-text h1{font-family:var(--type-h2-family);font-size:var(--type-h2-size);font-weight:var(--type-h2-weight);line-height:var(--type-h2-line-height);letter-spacing:var(--type-h2-letter-spacing);color:var(--color-primary);text-shadow:var(--shadow-text);margin:0}.login-tagline{font-family:var(--type-body-family);font-size:var(--type-body-size);color:var(--color-text-secondary);margin-top:var(--spacing-2);font-weight:var(--font-weight-light);display:block}.login-form h2{font-family:var(--type-h3-family);font-size:var(--type-h3-size);font-weight:var(--type-h3-weight);line-height:var(--type-h3-line-height);letter-spacing:var(--type-h3-letter-spacing);color:var(--color-text-primary);text-align:center;margin:0 0 var(--spacing-12) 0}.login-error{background:var(--color-error-bg);color:var(--color-error);font-family:var(--type-ui-1-family);font-size:var(--type-ui-1-size);padding:var(--spacing-6);border-radius:var(--radius-lg);margin-bottom:var(--spacing-10);border:none}.form-group{margin-bottom:var(--spacing-10)}.form-group label{margin-bottom:var(--spacing-3);font-family:var(--type-ui-1-family);font-size:var(--type-ui-1-size);font-weight:var(--type-ui-1-weight);color:var(--color-text-primary);display:block}.form-group input{width:100%;padding:var(--spacing-6) var(--spacing-8);font-family:var(--type-body-family);font-size:var(--type-body-size);background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);box-shadow:var(--box-shadow);transition:var(--transition-base);box-sizing:border-box;color:var(--color-text-primary)}.form-group input:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus-primary);outline:none}.form-group input:hover:not(:disabled){border-color:var(--color-border-lighter);box-shadow:var(--shadow-md)}.form-group input:disabled{background-color:var(--color-bg-quaternary);cursor:not-allowed}.login-button{width:100%;font-family:var(--type-body-family);font-size:var(--type-body-size);font-weight:var(--font-weight-semibold);background:var(--color-primary);color:var(--color-text-inverse);padding:var(--spacing-8) var(--spacing-12);border-radius:var(--radius-lg);box-shadow:var(--box-shadow);cursor:pointer;transition:var(--transition-base);margin-top:var(--spacing-4);border:none}.login-button:hover:not(:disabled){background:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.login-button:disabled{background:var(--color-gray-disabled);cursor:not-allowed;transform:none}.login-footer{text-align:center;margin-top:var(--spacing-12);padding-top:var(--spacing-12);border-top:1px solid var(--color-border-light)}.login-footer p{font-family:var(--type-ui-1-family);font-size:var(--type-ui-1-size);color:var(--color-text-secondary);margin:0}@media (width<=480px){.login-container{padding:var(--spacing-8)}.login-card{padding:var(--spacing-16) var(--spacing-12)}.login-logo-text h1{font-size:2rem}.login-tagline{font-size:.9rem}}.no-access-container{height:100%;min-height:400px;padding:var(--spacing-10);box-shadow:none;margin:var(--spacing-6);background:0 0;border-radius:0;justify-content:center;align-items:center;display:flex}.no-access-content{background:var(--color-bg-primary);border-radius:var(--box-radius);box-shadow:var(--box-shadow);padding:var(--spacing-16);text-align:center;border:none;width:100%;max-width:500px}.no-access-icon{margin-bottom:2rem}.no-access-icon .logo-icon{filter:grayscale(20%);width:80px;height:80px}.no-access-content h2{font-family:var(--type-h3-family);font-size:var(--type-h3-size);font-weight:var(--type-h3-weight);line-height:var(--type-h3-line-height);letter-spacing:var(--type-h3-letter-spacing);color:var(--color-primary);margin-bottom:var(--spacing-8);text-align:center}.error-message{border-radius:var(--radius-lg);padding:var(--spacing-6);margin-bottom:var(--spacing-10);background:#fff3cd;border:none}.error-message p{font-family:var(--type-body-family);font-size:var(--type-body-size);color:#856404;font-weight:var(--font-weight-medium);margin:0}.contact-info{text-align:left;margin-bottom:var(--spacing-10);padding:var(--spacing-8);background:var(--color-bg-tertiary);border-radius:var(--radius-lg);border-left:4px solid var(--color-primary)}.contact-info h3{font-family:var(--type-h3-family);font-size:var(--font-size-xl);font-weight:var(--type-h3-weight);line-height:var(--type-h3-line-height);letter-spacing:var(--type-h3-letter-spacing);color:var(--color-primary);margin-bottom:var(--spacing-6);text-align:center}.contact-info p{font-family:var(--type-body-family);font-size:var(--type-body-size);color:var(--color-text-secondary);margin-bottom:var(--spacing-6);text-align:center}.contact-info ul{margin:0;padding:0;list-style:none}.contact-info li{font-family:var(--type-body-family);font-size:var(--type-body-size);color:var(--color-text-primary);margin-bottom:var(--spacing-3);padding-left:var(--spacing-6);position:relative}.contact-info li:before{content:"•";color:var(--color-primary);font-weight:700;position:absolute;left:0}.help-actions{justify-content:center;display:flex}.contact-button{font-family:var(--type-ui-1-family);font-size:var(--type-ui-1-size);font-weight:var(--type-ui-1-weight);background:var(--color-primary);color:#fff;padding:var(--spacing-6) var(--spacing-12);border-radius:var(--radius-lg);box-shadow:var(--box-shadow);transition:all var(--transition-base);cursor:pointer;border:none;text-decoration:none;display:inline-block}.contact-button:hover{background:var(--color-primary);box-shadow:var(--shadow-md);color:#fff;text-decoration:none;transform:translateY(-2px)}@media (width<=1024px){.no-access-container{padding:1.5rem}}@media (width<=768px){.no-access-container{min-height:calc(100vh - 180px);padding:1rem 4%}.no-access-content{padding:1.5rem}.no-access-content h2{font-size:1.5rem}.no-access-icon .logo-icon{width:60px;height:60px}.contact-info{padding:1rem}}body{font-family:var(--type-body-family);font-weight:var(--type-body-weight);font-size:var(--type-body-size);line-height:var(--type-body-line-height);letter-spacing:var(--type-body-letter-spacing);color:var(--color-text-primary)}h1{font-family:var(--type-h1-family);font-weight:var(--type-h1-weight);font-size:var(--type-h1-size);line-height:var(--type-h1-line-height);letter-spacing:var(--type-h1-letter-spacing);color:var(--color-text-primary);margin:0 0 var(--spacing-8) 0}h2{font-family:var(--type-h2-family);font-weight:var(--type-h2-weight);font-size:var(--type-h2-size);line-height:var(--type-h2-line-height);letter-spacing:var(--type-h2-letter-spacing);color:var(--color-text-primary);margin:0 0 var(--spacing-6) 0}h3{font-family:var(--type-h3-family);font-weight:var(--type-h3-weight);font-size:var(--type-h3-size);line-height:var(--type-h3-line-height);letter-spacing:var(--type-h3-letter-spacing);color:var(--color-text-primary);margin:0 0 var(--spacing-4) 0}p{margin:0 0 var(--spacing-4) 0}.card,.box{background:var(--color-bg-primary);border-radius:var(--box-radius);box-shadow:var(--box-shadow);padding:var(--spacing-12);border:none}.App{background-color:var(--color-bg-page);height:100vh;max-height:100vh;padding-top:var(--header-height);flex-direction:column;display:flex;overflow:hidden}.app-layout{min-height:0;max-height:calc(100vh - var(--header-height));flex:1;align-items:stretch;display:flex;overflow:hidden}.main-content{padding:var(--spacing-6) var(--spacing-6) var(--spacing-6) var(--spacing-6);background-color:var(--color-bg-page);width:100%;max-width:100%;min-height:0;max-height:calc(100vh - var(--header-height));flex-direction:column;flex:1;margin:0;display:flex;overflow:hidden}.content-grid{gap:var(--spacing-6);grid-template-columns:1fr 1fr;height:calc(100vh - 100px);min-height:0;display:grid}@media (width<=1024px){.content-grid{grid-template-columns:1fr;height:calc(100vh - 100px);min-height:0}.chat-panel,.chart-panel{height:50%;min-height:300px}}@media (width<=768px){.app-layout{flex-direction:column}.main-content{margin-left:0;padding:8px 4%}.content-grid{gap:8px;height:calc(100vh - 140px);min-height:0}.chat-panel,.chart-panel{height:50%;min-height:250px}}.chat-panel,.chart-panel{box-shadow:none;background:0 0;border:none;border-radius:0;flex-direction:column;display:flex;overflow:hidden}.error-banner{bottom:var(--spacing-10);background:var(--color-error-light);color:var(--color-text-inverse);padding:var(--spacing-6) var(--spacing-12);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:var(--z-modal);position:fixed;left:50%;transform:translate(-50%)}.loading-container{flex-direction:column;justify-content:center;align-items:center;height:100%;min-height:400px;display:flex}.loading-spinner{width:var(--spacing-20);height:var(--spacing-20);border:3px solid var(--color-bg-quaternary);border-top:3px solid var(--color-primary);border-radius:var(--radius-full);margin-bottom:var(--spacing-8);animation:1s linear infinite spin}.loading-text{color:var(--color-text-secondary);font-size:var(--font-size-base);margin:0}@media (width<=1024px){.content-grid{grid-template-columns:1fr;height:auto}.chat-panel,.chart-panel{min-height:500px}}@media (width<=768px){.main-content{padding:8px 1.5%}.content-grid{gap:8px}}.delete-widget-modal{background:var(--color-bg-primary);border-radius:var(--box-radius);padding:var(--spacing-8);width:90%;max-width:480px;box-shadow:var(--shadow-xl);border:none;animation:.3s ease-out modalSlideIn;position:relative}.delete-widget-modal .modal-header{margin-bottom:var(--spacing-6);padding-bottom:var(--spacing-4);border-bottom:1px solid var(--color-border-light);justify-content:space-between;align-items:center;display:flex;position:relative}.delete-widget-modal .modal-header h2{font-family:var(--type-h3-family);font-size:var(--type-h3-size);font-weight:var(--type-h3-weight);line-height:var(--type-h3-line-height);letter-spacing:var(--type-h3-letter-spacing);color:var(--color-text-primary);margin:0}.delete-widget-modal .modal-close-btn{color:var(--color-text-secondary);cursor:pointer;border-radius:var(--radius-sm);width:32px;height:32px;transition:all var(--transition-base);background:0 0;border:none;justify-content:center;align-items:center;margin-left:auto;padding:0;font-size:32px;line-height:1;display:flex}.delete-widget-modal .modal-close-btn:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.delete-widget-modal .modal-content{margin-bottom:var(--spacing-8);box-shadow:none!important;background:0 0!important;border-radius:0!important;width:auto!important;max-width:none!important;padding:0!important}.delete-confirmation-text{font-family:var(--type-body-family);font-size:var(--type-body-size);color:var(--color-text-primary);line-height:var(--line-height-relaxed);background:0 0;margin:0;padding:0}.delete-warning-text{font-family:var(--type-ui-1-family);font-size:var(--type-ui-1-size);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin:var(--spacing-3) 0 0 0;background:0 0;padding:0}.delete-widget-modal .modal-actions{gap:var(--spacing-4);justify-content:flex-end;display:flex}.delete-widget-modal .cancel-btn{padding:var(--spacing-3) var(--spacing-6);font-family:var(--type-ui-1-family);font-size:var(--type-ui-1-size);font-weight:var(--type-ui-1-weight);color:var(--color-text-primary);background:var(--color-bg-tertiary);border-radius:var(--radius-md);box-shadow:var(--box-shadow);cursor:pointer;transition:all var(--transition-base);border:none}.delete-widget-modal .cancel-btn:hover:not(:disabled){background:var(--color-bg-quaternary);box-shadow:var(--shadow-md)}.delete-widget-modal .cancel-btn:disabled{opacity:.5;cursor:not-allowed}.delete-widget-modal .delete-btn{padding:var(--spacing-3) var(--spacing-6);font-family:var(--type-ui-1-family);font-size:var(--type-ui-1-size);font-weight:var(--type-ui-1-weight);color:#fff;background:var(--color-error);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--box-shadow);border:none}.delete-widget-modal .delete-btn:hover:not(:disabled){background:var(--color-error-light);box-shadow:var(--shadow-md);transform:translateY(-2px)}.delete-widget-modal .delete-btn:active:not(:disabled){box-shadow:var(--box-shadow);transform:translateY(0)}.delete-widget-modal .delete-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}@media (width<=768px){.delete-widget-modal{padding:var(--spacing-6);max-width:95%}.delete-widget-modal .modal-header h2{font-size:var(--font-size-lg)}.delete-widget-modal .modal-actions{flex-direction:column-reverse}.delete-widget-modal .cancel-btn,.delete-widget-modal .delete-btn{justify-content:center;width:100%}}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.dashboard-widget{background:var(--color-bg-primary);border-radius:var(--box-radius);padding:var(--spacing-4);gap:var(--spacing-3);box-shadow:var(--box-shadow);border:none;flex-direction:column;transition:box-shadow .2s,opacity .2s;display:flex;overflow:visible}.dashboard-widget:hover{box-shadow:var(--shadow-md)}.dashboard-widget.dragging{opacity:.5;box-shadow:var(--shadow-lg);z-index:1000}.widget-header{justify-content:space-between;align-items:center;gap:var(--spacing-4);padding-bottom:var(--spacing-3);border-bottom:1px solid var(--color-border-light);cursor:grab;-webkit-user-select:none;user-select:none;display:flex}.widget-header-right{align-items:center;gap:var(--spacing-8);display:flex}.widget-header:active{cursor:grabbing}.widget-title{font-family:var(--type-h3-family);font-size:var(--font-size-xl);font-weight:var(--type-h3-weight);line-height:var(--line-height-tight);color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0;overflow:hidden}.widget-delete-btn{cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-base);color:var(--color-text-secondary);pointer-events:auto;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:auto;height:auto;padding:0;font-size:28px;line-height:1;display:flex}.widget-delete-btn:hover{background:var(--color-error-bg);color:var(--color-error)}.widget-metadata{gap:var(--spacing-4);padding:var(--spacing-3) var(--spacing-4);background:var(--color-bg-secondary);border-radius:var(--radius-md);font-family:var(--type-ui-2-family);font-size:var(--type-ui-2-size);font-weight:var(--type-ui-2-weight);flex-wrap:wrap;display:flex}.metadata-item{color:var(--color-text-secondary);line-height:var(--line-height-tight)}.metadata-item strong{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.widget-chart{cursor:default;min-height:250px;margin:calc(-1 * var(--spacing-3)) calc(-1 * var(--spacing-4));padding:var(--spacing-3) var(--spacing-4);flex-direction:column;flex:1;display:flex;overflow:visible}.widget-loading{justify-content:center;align-items:center;gap:var(--spacing-4);padding:var(--spacing-10);flex-direction:column;flex:1;display:flex}.widget-loading .loading-spinner{border:3px solid var(--color-border-light);border-top-color:var(--color-primary);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}.widget-loading p{font-family:var(--type-ui-1-family);font-size:var(--type-ui-1-size);color:var(--color-text-secondary);margin:0}.widget-error{justify-content:center;align-items:center;gap:var(--spacing-4);padding:var(--spacing-10);text-align:center;flex-direction:column;flex:1;display:flex}.widget-error p{font-family:var(--type-ui-1-family);font-size:var(--type-ui-1-size);color:var(--color-error);margin:0}.widget-no-data{padding:var(--spacing-10);flex:1;justify-content:center;align-items:center;display:flex}.widget-no-data p{font-family:var(--type-ui-1-family);font-size:var(--type-ui-1-size);color:var(--color-text-secondary);margin:0}.widget-description{padding-top:var(--spacing-3);border-top:1px solid var(--color-border-light);font-family:var(--type-ui-2-family);font-size:var(--type-ui-2-size);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.widget-description p{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}@media (width<=1024px){.dashboard-widget{padding:var(--spacing-5);gap:var(--spacing-4)}.widget-title{font-size:var(--font-size-base)}.widget-chart{min-height:220px}}@media (width<=768px){.dashboard-widget{padding:var(--spacing-4);gap:var(--spacing-3)}.widget-metadata{gap:var(--spacing-2);flex-direction:column}.widget-chart{min-height:200px}.widget-description p{-webkit-line-clamp:3}}.dashboard-view{height:100%;padding:var(--spacing-8);gap:var(--spacing-8);flex-direction:column;display:flex;overflow:auto}.dashboard-header{justify-content:space-between;align-items:center;gap:var(--spacing-6);flex-wrap:wrap;display:flex}.dashboard-header h1{font-family:var(--type-h2-family);font-size:var(--type-h2-size);font-weight:var(--type-h2-weight);line-height:var(--type-h2-line-height);letter-spacing:var(--type-h2-letter-spacing);color:var(--color-text-primary);margin:0}.dashboard-selector{align-items:center;gap:var(--spacing-3);display:flex}.dashboard-select{padding:var(--spacing-3) var(--spacing-5);font-family:var(--type-ui-1-family);font-size:var(--type-ui-1-size);font-weight:var(--type-ui-1-weight);color:var(--color-text-primary);background:var(--color-bg-primary);border-radius:var(--radius-md);box-shadow:var(--box-shadow);cursor:pointer;transition:all var(--transition-base);border:none}.dashboard-select:hover{box-shadow:var(--shadow-md)}.dashboard-select:focus{box-shadow:var(--shadow-focus-primary);outline:none}.dashboard-content{flex-direction:column;flex:1;display:flex;overflow:auto}.dashboard-grid{gap:var(--spacing-6);flex:1;min-height:500px;display:grid;position:relative}.dashboard-grid[data-structure="2x2"]{grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(2,1fr)}.dashboard-grid[data-structure="3x2"]{grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(2,1fr)}.dashboard-grid[data-structure="2x3"]{grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(3,1fr)}.empty-dashboard,.empty-dashboard-state{padding:var(--spacing-16);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:400px;display:flex}.empty-icon{margin-bottom:var(--spacing-6);opacity:.5;justify-content:center;align-items:center;font-size:64px;display:flex}.empty-icon img{object-fit:contain;opacity:.7;width:80px;height:80px}.empty-dashboard h3,.empty-dashboard-state h3{font-family:var(--type-h3-family);font-size:var(--type-h3-size);font-weight:var(--type-h3-weight);line-height:var(--type-h3-line-height);letter-spacing:var(--type-h3-letter-spacing);color:var(--color-text-primary);margin:0 0 var(--spacing-4) 0}.empty-dashboard p,.empty-dashboard-state p{font-family:var(--type-body-family);font-size:var(--type-body-size);color:var(--color-text-secondary);margin:0 0 var(--spacing-8) 0;max-width:500px}.go-to-deepdive-btn{padding:var(--spacing-4) var(--spacing-8);font-family:var(--type-ui-1-family);font-size:var(--type-ui-1-size);font-weight:var(--type-ui-1-weight);color:#fff;background:var(--color-primary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--box-shadow);border:none}.go-to-deepdive-btn:hover{background:var(--color-primary-dark,#0a1f3a);color:#fff;box-shadow:var(--shadow-md);transform:translateY(-2px)}.go-to-deepdive-btn:active{box-shadow:var(--box-shadow);transform:translateY(0)}.dashboard-loading{padding:var(--spacing-16);justify-content:center;align-items:center;gap:var(--spacing-6);flex-direction:column;flex:1;min-height:400px;display:flex}.dashboard-loading .loading-spinner{border:4px solid var(--color-border-light);border-top-color:var(--color-primary);border-radius:50%;width:48px;height:48px;animation:.8s linear infinite spin}.dashboard-loading p{font-family:var(--type-body-family);font-size:var(--type-body-size);color:var(--color-text-secondary);margin:0}.dashboard-error{padding:var(--spacing-16);justify-content:center;align-items:center;gap:var(--spacing-6);text-align:center;flex-direction:column;flex:1;min-height:400px;display:flex}.dashboard-error p{font-family:var(--type-body-family);font-size:var(--type-body-size);color:var(--color-error);max-width:500px;margin:0}.retry-btn{padding:var(--spacing-3) var(--spacing-6);font-family:var(--type-ui-1-family);font-size:var(--type-ui-1-size);font-weight:var(--type-ui-1-weight);color:var(--color-primary);background:var(--color-primary-light);border-radius:var(--radius-md);box-shadow:var(--box-shadow);cursor:pointer;transition:all var(--transition-base);border:none}.retry-btn:hover{background:var(--color-primary);box-shadow:var(--shadow-md);color:#fff!important}@media (width<=1024px){.dashboard-view{padding:var(--spacing-6);gap:var(--spacing-6)}.dashboard-header h1{font-size:var(--font-size-xl)}.dashboard-grid{min-height:auto;grid-template-rows:auto!important;grid-template-columns:1fr!important}.dashboard-grid>*{grid-area:auto!important}}@media (width<=768px){.dashboard-view{padding:var(--spacing-4);gap:var(--spacing-4)}.dashboard-header{align-items:flex-start;gap:var(--spacing-4);flex-direction:column}.dashboard-header h1{font-size:var(--font-size-lg)}.dashboard-selector,.dashboard-select{width:100%}.empty-dashboard,.empty-dashboard-state,.dashboard-loading,.dashboard-error{padding:var(--spacing-10);min-height:300px}.empty-icon{font-size:48px}.empty-icon img{width:60px;height:60px}}@media (width<=480px){.dashboard-view{padding:var(--spacing-3)}.dashboard-grid{gap:var(--spacing-4)}}
