:root{color-scheme:dark;--bg-primary: #0f1419;--bg-secondary: #192029;--bg-tertiary: #212a36;--bg-accent: #2a3544;--text-primary: #f8fafc;--text-secondary: #cbd5e1;--text-muted: #8b9cb3;--border-primary: #2f3e4d;--border-secondary: #243040;--border-accent: #3a4a5c;--hover-bg: #243040;--active-bg: #2a3544;--focus-ring: #4b85c9;--fm-primary: #116697;--fm-primary-light: #48AFEA;--fm-primary-dark: #0D4D73;--fm-secondary: #1DB3A2;--fm-secondary-light: #4FE3D2;--fm-secondary-dark: #126E63;--fm-accent: #007B7B;--fm-accent-light: #33FFFF;--fm-accent-dark: #005C5C;--fm-dark: #013D64;--fm-dark-light: #035A8C;--fm-dark-dark: #012D47;--brand-primary: var(--fm-primary);--brand-secondary: var(--fm-dark);--chart-blue-1: #116697;--chart-blue-2: #178BCE;--chart-blue-3: #35AEFD;--chart-blue-4: #68C2FD;--chart-blue-5: #9AD7FE;--chart-teal-1: #007B7B;--chart-teal-2: #009C9C;--chart-teal-3: #00BFBF;--chart-teal-4: #33E6E6;--chart-teal-5: #66FFFF;--chart-green-1: #1DB3A2;--chart-green-2: #21C6B3;--chart-green-3: #58DECC;--chart-green-4: #9AF0E4;--chart-green-5: #CFFAF4;--chart-blue: #116697;--chart-teal: #1DB3A2;--chart-cyan: #00BFBF;--chart-lightblue: #35AEFD;--chart-sky: #68C2FD;--chart-green: #27AE60;--chart-yellow: #F2C94C;--chart-orange: #F2994A;--chart-red: #EB5757;--chart-purple: #9B51E0;--chart-blue-light: #9AD7FE;--chart-teal-light: #58DECC;--chart-green-light: #A8F3C7;--chart-yellow-light: #FFEEA8;--chart-orange-light: #FFD3B3;--chart-red-light: #FFC4C4;--chart-purple-light: #E3C8FF;--info: #2F80ED;--info-light: #E3F1FF;--success: #27AE60;--success-light: #E8F9F0;--warning: #F2C94C;--warning-light: #FFF7DB;--danger: #EB5757;--danger-light: #FFE7E7;--error: var(--danger);--text-inverse: #FFFFFF;--text-success: #1D9A59;--text-danger: #C64545;--text-warning: #B99000;--font-heading: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;--font-body: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;--font-sans: var(--font-body);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 24px;--spacing-2xl: 32px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 10px;--radius-xl: 14px;--radius-2xl: 20px;--transition-fast: .15s;--transition-base: .2s;--transition-slow: .3s;--transition-slower: .5s;--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .08);--shadow-md: 0 2px 8px rgba(0, 0, 0, .12);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .16)}:root[data-theme=dark],:root:not([data-theme]){color-scheme:dark;--text-primary: #ffffff;--text-secondary: #e2e8f0;--text-muted: #8b9cb3;--bg-primary: #0f1419;--bg-secondary: #192029;--bg-tertiary: #212a36;--bg-accent: #2a3544;--border-primary: #2f3e4d;--border-secondary: #243040;--hover-bg: #243040;--active-bg: #2a3544}:root[data-theme=light]{color-scheme:light;--bg-primary: #f5f7fa;--bg-secondary: #ffffff;--bg-tertiary: #eef2f7;--bg-accent: #e8eef4;--text-primary: #0f1419;--text-secondary: #384860;--text-muted: #64748b;--text-inverse: #FFFFFF;--text-success: #1D9A59;--text-danger: #C64545;--text-warning: #B99000;--border-primary: #e2e8f0;--border-secondary: #f1f5f9;--border-accent: #cbd5e1;--hover-bg: #eef2f7;--active-bg: #e2e8f0;--focus-ring: #cbd5e1;--brand-primary: var(--fm-primary);--brand-secondary: var(--fm-dark);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 2px 8px rgba(0, 0, 0, .06);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .08)}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;margin:0;padding:0;overflow-x:hidden;font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-primary);color:var(--text-primary);transition:background var(--transition-slow) var(--ease-in-out),color var(--transition-slow) var(--ease-in-out)}#root{height:100%;width:100%;background:var(--bg-primary);color:var(--text-primary)}main{height:100%;width:100%;display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary)}.theme-transition{transition:background var(--transition-slow) var(--ease-in-out),color var(--transition-slow) var(--ease-in-out),border-color var(--transition-slow) var(--ease-in-out)}input,textarea,select,button{border:1px solid var(--border-primary);background:var(--bg-secondary);color:var(--text-primary);transition:border-color var(--transition-base) var(--ease-in-out),background var(--transition-base) var(--ease-in-out)}input:focus,textarea:focus,select:focus{outline:2px solid var(--fm-primary);outline-offset:2px;border-color:var(--fm-primary)}button{cursor:pointer;transition:background var(--transition-base) var(--ease-in-out),border-color var(--transition-base) var(--ease-in-out),transform var(--transition-fast) var(--ease-out)}button:hover{background:var(--hover-bg)}button:focus{outline:2px solid var(--fm-primary);outline-offset:2px}*{transition:background var(--transition-slow) var(--ease-in-out),color var(--transition-slow) var(--ease-in-out),border-color var(--transition-slow) var(--ease-in-out)}.font-poppins{font-family:var(--font-heading)}.font-open-sans{font-family:var(--font-body)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;line-height:1.2;letter-spacing:-.02em}body,p,span,div{font-family:var(--font-body);font-weight:400;line-height:1.6}.animate-fade-in{animation:fadeIn var(--transition-base) var(--ease-out) forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-out{animation:fadeOut var(--transition-base) var(--ease-in) forwards}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.animate-slide-up{animation:slideInUp var(--transition-base) var(--ease-out) forwards}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-slide-down{animation:slideInDown var(--transition-base) var(--ease-out) forwards}@keyframes slideInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.animate-scale-in{animation:scaleIn var(--transition-base) var(--ease-out) forwards}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-scale-out{animation:scaleOut var(--transition-base) var(--ease-in) forwards}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}.animate-spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-pulse{animation:pulse 2s var(--ease-in-out) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.primary fm-icon,.action-btn.primary fm-icon,.send-btn fm-icon,button.primary fm-icon,.btn-primary fm-icon,[class*=primary] fm-icon{color:var(--text-inverse, #ffffff)!important;--duotone-primary: var(--text-inverse, #ffffff) !important;--duotone-secondary: rgba(255, 255, 255, .3) !important}.primary fm-icon.fm-icon--default,.primary fm-icon.fm-icon--light,.action-btn.primary fm-icon.fm-icon--default,.action-btn.primary fm-icon.fm-icon--light,.send-btn fm-icon.fm-icon--default,.send-btn fm-icon.fm-icon--light,button.primary fm-icon.fm-icon--default,button.primary fm-icon.fm-icon--light,.btn-primary fm-icon.fm-icon--default,.btn-primary fm-icon.fm-icon--light,[class*=primary] fm-icon.fm-icon--default,[class*=primary] fm-icon.fm-icon--light{color:var(--text-inverse, #ffffff)!important;--duotone-primary: var(--text-inverse, #ffffff) !important;--duotone-secondary: rgba(255, 255, 255, .3) !important}.icon-btn fm-icon{color:inherit!important}.icon-btn fm-icon ::ng-deep svg{color:inherit!important;width:100%;height:100%}.icon-btn fm-icon ::ng-deep svg path{fill:currentColor!important;opacity:1!important;stroke:none!important}.icon-btn fm-icon ::ng-deep svg path:first-child,.icon-btn fm-icon ::ng-deep svg path:nth-child(2),.icon-btn fm-icon ::ng-deep svg path:last-child,.icon-btn fm-icon ::ng-deep svg path:only-child{fill:currentColor!important;opacity:1!important}.icon-btn.primary fm-icon{color:var(--brand-primary, #2563eb)!important}.icon-btn.primary fm-icon ::ng-deep svg path{fill:var(--brand-primary, #2563eb)!important;opacity:1!important}.icon-btn.danger fm-icon{color:var(--error, #ef4444)!important}.icon-btn.danger fm-icon ::ng-deep svg path{fill:var(--error, #ef4444)!important;opacity:1!important}.icon-btn:disabled fm-icon{color:var(--text-muted, #8b949e)!important}.icon-btn:disabled fm-icon ::ng-deep svg path{fill:var(--text-muted, #8b949e)!important;opacity:1!important}
