@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--bg-primary: #05090f;--bg-secondary: #0b1120;--bg-card: rgba(11, 17, 32, .8);--bg-card-hover: rgba(16, 26, 48, .9);--border: rgba(0, 212, 170, .12);--border-bright: rgba(0, 212, 170, .3);--accent: #00d4aa;--accent-2: #0099ff;--accent-3: #7c3aed;--gradient: linear-gradient(135deg, #00d4aa 0%, #0099ff 100%);--gradient-warm: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);--gradient-bg: linear-gradient(180deg, #05090f 0%, #0b1120 100%);--text-primary: #e8f2ff;--text-secondary: #7a9cc4;--text-muted: #3d5470;--danger: #ff4d6d;--warning: #ffc947;--success: #00d4aa;--radius: 16px;--radius-sm: 10px;--radius-xs: 6px;--shadow: 0 8px 32px rgba(0, 0, 0, .5);--shadow-glow: 0 0 40px rgba(0, 212, 170, .15);--sidebar-w: 240px;--sidebar-w-collapsed: 72px;--transition: all .25s cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#00d4aa33;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#00d4aa66}.app-shell{display:flex;min-height:100vh}.main-content{flex:1;margin-left:var(--sidebar-w);min-height:100vh;background:var(--gradient-bg);transition:margin-left .3s ease;overflow:hidden}.bg-orbs{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;overflow:hidden}.orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.06;animation:drift 20s ease-in-out infinite}.orb-1{width:600px;height:600px;background:var(--accent);top:-200px;right:-100px;animation-delay:0s}.orb-2{width:400px;height:400px;background:var(--accent-2);bottom:-100px;left:-100px;animation-delay:-7s}.orb-3{width:300px;height:300px;background:var(--accent-3);top:40%;left:40%;animation-delay:-14s}@keyframes drift{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-30px) scale(1.05)}66%{transform:translate(-20px,20px) scale(.95)}}.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar-w);background:#080e1af2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:100;transition:width .3s ease}.sidebar-logo{padding:24px 20px 16px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--border)}.logo-icon{width:38px;height:38px;background:var(--gradient);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;box-shadow:0 0 20px #00d4aa4d}.logo-text{font-size:15px;font-weight:700;letter-spacing:-.3px}.logo-text span{background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.sidebar-nav{flex:1;padding:16px 12px;display:flex;flex-direction:column;gap:4px}.nav-section-label{font-size:10px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);padding:8px 8px 4px;margin-top:8px}.nav-item{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);color:var(--text-secondary);font-size:14px;font-weight:500;border:1px solid transparent;position:relative;-webkit-user-select:none;user-select:none}.nav-item:hover{background:#00d4aa12;color:var(--text-primary);border-color:var(--border)}.nav-item.active{background:#00d4aa1f;color:var(--accent);border-color:#00d4aa40;box-shadow:inset 0 0 20px #00d4aa0d}.nav-item.active .nav-icon{color:var(--accent)}.nav-item.active:before{content:"";position:absolute;left:0;top:20%;bottom:20%;width:3px;background:var(--gradient);border-radius:0 3px 3px 0}.nav-icon{width:20px;height:20px;flex-shrink:0}.nav-badge{margin-left:auto;background:var(--gradient);color:#fff;font-size:10px;font-weight:700;padding:1px 6px;border-radius:20px}.sidebar-footer{padding:12px;border-top:1px solid var(--border)}.user-card{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);background:#00d4aa0f;border:1px solid var(--border);cursor:pointer;transition:var(--transition)}.user-card:hover{background:#00d4aa1a}.user-avatar{width:34px;height:34px;border-radius:50%;background:var(--gradient);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}.user-info{flex:1;min-width:0}.user-name{font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:11px;color:var(--text-muted)}.logout-btn{color:var(--text-muted);transition:var(--transition)}.logout-btn:hover{color:var(--danger)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);position:relative;overflow:hidden}.login-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 80% at 50% -20%,rgba(0,212,170,.08) 0%,transparent 60%),radial-gradient(ellipse 60% 60% at 80% 80%,rgba(0,153,255,.06) 0%,transparent 60%)}.login-card{position:relative;width:420px;max-width:calc(100vw - 32px);background:#0b1120e6;-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);border:1px solid var(--border-bright);border-radius:24px;padding:40px;box-shadow:var(--shadow),var(--shadow-glow);animation:slideUp .5s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-logo{display:flex;align-items:center;gap:12px;margin-bottom:32px}.login-logo-icon{width:48px;height:48px;background:var(--gradient);border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:24px;box-shadow:0 0 30px #00d4aa66}.login-logo h1{font-size:22px;font-weight:800}.login-logo h1 span{background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.login-logo p{font-size:12px;color:var(--text-muted)}.tab-switcher{display:flex;gap:4px;background:#ffffff0a;border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px;margin-bottom:28px}.tab-btn{flex:1;padding:8px;border:none;border-radius:7px;background:transparent;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:var(--transition)}.tab-btn.active{background:var(--gradient);color:#fff;font-weight:600}.form-group{margin-bottom:16px}.form-label{display:block;font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.form-input{width:100%;background:#ffffff0a;border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 16px;font-size:14px;color:var(--text-primary);transition:var(--transition);outline:none;font-family:inherit}.form-input:focus{border-color:var(--accent);background:#00d4aa0d;box-shadow:0 0 0 3px #00d4aa1a}.form-input::placeholder{color:var(--text-muted)}.btn-primary{width:100%;padding:13px;border:none;border-radius:var(--radius-sm);background:var(--gradient);color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:var(--transition);margin-top:8px;font-family:inherit;position:relative;overflow:hidden}.btn-primary:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffff26;opacity:0;transition:opacity .2s}.btn-primary:hover:after{opacity:1}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.login-error{background:#ff4d6d1f;border:1px solid rgba(255,77,109,.3);border-radius:var(--radius-sm);padding:10px 14px;font-size:13px;color:var(--danger);margin-bottom:16px}.demo-hint{margin-top:20px;padding:14px;background:#00d4aa0f;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:12px;color:var(--text-secondary);line-height:1.6}.demo-hint strong{color:var(--accent)}.page-wrapper{padding:28px 32px;max-width:1200px;position:relative;z-index:1}.page-header{margin-bottom:28px}.page-title{font-size:26px;font-weight:800;letter-spacing:-.5px;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.page-subtitle{font-size:14px;color:var(--text-secondary);margin-top:4px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.metric-card{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:var(--radius);padding:20px;transition:var(--transition);position:relative;overflow:hidden}.metric-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--gradient);opacity:0;transition:opacity .3s}.metric-card:hover{border-color:var(--border-bright);transform:translateY(-2px);box-shadow:var(--shadow-glow)}.metric-card:hover:before{opacity:1}.metric-icon{width:40px;height:40px;border-radius:10px;background:#00d4aa1a;border:1px solid rgba(0,212,170,.2);display:flex;align-items:center;justify-content:center;margin-bottom:16px;color:var(--accent)}.metric-label{font-size:12px;color:var(--text-secondary);font-weight:500;letter-spacing:.3px;text-transform:uppercase}.metric-value{font-size:24px;font-weight:800;color:var(--text-primary);margin:6px 0 4px;letter-spacing:-.5px}.metric-change{font-size:12px;font-weight:600}.metric-change.up{color:var(--success)}.metric-change.down{color:var(--danger)}.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.chart-card{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:var(--radius);padding:20px;transition:var(--transition)}.chart-card:hover{border-color:var(--border-bright)}.chart-card.full-width{grid-column:1 / -1}.chart-title{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:16px;display:flex;align-items:center;gap:8px}.chart-title-dot{width:8px;height:8px;border-radius:50%;background:var(--gradient)}.goals-card{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin-top:16px}.goal-item{margin-bottom:20px}.goal-item:last-child{margin-bottom:0}.goal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.goal-name{font-size:14px;font-weight:500;color:var(--text-primary)}.goal-pct{font-size:13px;font-weight:700;color:var(--accent)}.progress-track{height:8px;background:#ffffff0f;border-radius:99px;overflow:hidden}.progress-fill{height:100%;background:var(--gradient);border-radius:99px;transition:width 1s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.progress-fill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s ease-in-out infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.goal-meta{font-size:12px;color:var(--text-muted);margin-top:6px}.insights-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.insight-item{padding:14px;border-radius:var(--radius-sm);font-size:13px;line-height:1.5;display:flex;gap:10px;align-items:flex-start}.insight-item.alert{background:#ff4d6d14;border:1px solid rgba(255,77,109,.2);color:#ffa0b0}.insight-item.suggestion{background:#00d4aa12;border:1px solid rgba(0,212,170,.2);color:#80e8d8}.insight-icon{flex-shrink:0;margin-top:2px}.chat-page{height:100vh;display:flex;flex-direction:column;background:transparent;position:relative;z-index:1}.chat-header{padding:20px 28px;border-bottom:1px solid var(--border);background:#080e1ab3;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.chat-header-left{display:flex;align-items:center;gap:12px}.chat-bot-avatar{width:40px;height:40px;background:var(--gradient);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:0 0 20px #00d4aa4d}.chat-bot-name{font-size:16px;font-weight:700;color:var(--text-primary)}.chat-bot-status{font-size:12px;color:var(--success);display:flex;align-items:center;gap:5px}.status-dot{width:6px;height:6px;background:var(--success);border-radius:50%;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.8)}}.lang-select{background:#ffffff0d;border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px;color:var(--text-primary);font-size:13px;cursor:pointer;outline:none;transition:var(--transition);font-family:inherit}.lang-select:focus{border-color:var(--accent)}.messages-area{flex:1;overflow-y:auto;padding:24px 28px;display:flex;flex-direction:column;gap:16px}.message{display:flex;flex-direction:column;max-width:70%;animation:msgIn .3s ease}@keyframes msgIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.user{align-self:flex-end;align-items:flex-end}.message.bot{align-self:flex-start;align-items:flex-start}.msg-sender{font-size:11px;font-weight:600;color:var(--text-muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.msg-bubble{padding:12px 16px;border-radius:16px;font-size:14px;line-height:1.6;position:relative}.message.user .msg-bubble{background:var(--gradient);color:#fff;border-bottom-right-radius:4px}.message.bot .msg-bubble{background:var(--bg-card);border:1px solid var(--border);color:var(--text-primary);border-bottom-left-radius:4px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.msg-time{font-size:11px;color:var(--text-muted);margin-top:4px}.msg-sources{font-size:11px;color:var(--accent);margin-top:6px;background:#00d4aa12;padding:4px 10px;border-radius:20px}.typing-bubble{display:flex;align-items:center;gap:5px;padding:14px 18px!important}.typing-bubble span{display:block;width:7px;height:7px;background:var(--accent);border-radius:50%;animation:typing 1.2s ease-in-out infinite}.typing-bubble span:nth-child(2){animation-delay:.2s}.typing-bubble span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,to{transform:translateY(0);opacity:.4}50%{transform:translateY(-6px);opacity:1}}.chat-input-area{padding:16px 28px 20px;border-top:1px solid var(--border);background:#080e1ab3;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);flex-shrink:0}.input-wrapper{display:flex;gap:10px;align-items:flex-end;background:#ffffff0a;border:1px solid var(--border);border-radius:14px;padding:12px 12px 12px 16px;transition:var(--transition)}.input-wrapper:focus-within{border-color:var(--accent);background:#00d4aa0a;box-shadow:0 0 0 3px #00d4aa14}.chat-textarea{flex:1;background:transparent;border:none;outline:none;color:var(--text-primary);font-size:14px;font-family:inherit;resize:none;line-height:1.5;max-height:120px}.chat-textarea::placeholder{color:var(--text-muted)}.send-btn{width:38px;height:38px;background:var(--gradient);border:none;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition);flex-shrink:0;color:#fff}.send-btn:hover:not(:disabled){transform:scale(1.05);box-shadow:0 0 15px #00d4aa66}.send-btn:disabled{opacity:.4;cursor:not-allowed}.chat-disclaimer{text-align:center;font-size:11px;color:var(--text-muted);margin-top:8px}.calc-tabs{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}.calc-tab{padding:9px 18px;border-radius:99px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:var(--transition);font-family:inherit}.calc-tab:hover{border-color:var(--border-bright);color:var(--text-primary)}.calc-tab.active{background:var(--gradient);color:#fff;border-color:transparent;font-weight:600}.calc-card{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:var(--radius);padding:28px;display:grid;grid-template-columns:1fr 1fr;gap:28px;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.calc-form h3{font-size:18px;font-weight:700;margin-bottom:20px;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.input-group{margin-bottom:16px}.input-label{font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:6px;display:block}.calc-input{width:100%;background:#ffffff0a;border:1px solid var(--border);border-radius:var(--radius-sm);padding:11px 14px;font-size:14px;color:var(--text-primary);outline:none;transition:var(--transition);font-family:inherit}.calc-input:focus{border-color:var(--accent);background:#00d4aa0a;box-shadow:0 0 0 3px #00d4aa14}.calc-btn{padding:12px 28px;background:var(--gradient);border:none;border-radius:var(--radius-sm);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:var(--transition);font-family:inherit;margin-top:8px}.calc-btn:hover{transform:translateY(-1px);box-shadow:0 8px 25px #00d4aa4d}.calc-result{display:flex;flex-direction:column;gap:16px}.result-card{background:#ffffff08;border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px 20px;transition:var(--transition)}.result-card.highlight{background:#00d4aa14;border-color:#00d4aa4d}.result-label{font-size:12px;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.result-value{font-size:28px;font-weight:800;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin:4px 0 2px}.result-value.regular{font-size:20px;-webkit-text-fill-color:var(--text-primary);background:none}.result-sub{font-size:12px;color:var(--text-secondary)}.empty-result{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;color:var(--text-muted);text-align:center}.empty-result-icon{font-size:40px;opacity:.3}.empty-result p{font-size:14px}.loading-screen{display:flex;align-items:center;justify-content:center;height:100vh;flex-direction:column;gap:16px}.spinner{width:40px;height:40px;border:3px solid rgba(0,212,170,.1);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{font-size:14px;color:var(--text-secondary)}@media (max-width: 900px){:root{--sidebar-w: var(--sidebar-w-collapsed)}.nav-item span,.logo-text,.user-info,.nav-badge{display:none}.sidebar-logo{justify-content:center;padding:20px 16px}.nav-item,.user-card{justify-content:center}.metric-grid{grid-template-columns:1fr 1fr}.chart-grid,.calc-card,.insights-grid{grid-template-columns:1fr}.page-wrapper{padding:20px 16px}}@media (max-width: 600px){.metric-grid{grid-template-columns:1fr}.message{max-width:85%}}
