.genesis-fab{position:fixed;bottom:20px;right:20px;display:flex;align-items:center;gap:8px;padding:12px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:50px;cursor:pointer;box-shadow:0 4px 12px #667eea66;transition:all .3s ease;z-index:1000;font-weight:600}.genesis-fab:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea80}.genesis-fab-icon{font-size:20px}.genesis-panel{position:fixed;bottom:20px;right:20px;width:400px;max-height:600px;background:#fff;border-radius:16px;box-shadow:0 10px 40px #0003;display:flex;flex-direction:column;z-index:1000;overflow:hidden}.genesis-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.genesis-title{display:flex;align-items:center;gap:12px}.genesis-icon{font-size:24px}.genesis-title h3{margin:0;font-size:16px;font-weight:600}.genesis-subtitle{font-size:12px;opacity:.8}.genesis-controls{display:flex;align-items:center;gap:12px}.llm-toggle{display:flex;align-items:center;gap:6px;font-size:12px;cursor:pointer}.llm-toggle input{cursor:pointer}.genesis-close{background:none;border:none;color:#fff;font-size:24px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}.genesis-close:hover{background:#fff3}.genesis-messages{flex:1;overflow-y:auto;padding:20px;background:#f8f9fa}.genesis-welcome{text-align:center;padding:20px 0}.genesis-welcome h4{margin:0 0 8px;color:#333}.genesis-welcome p{margin:0 0 20px;color:#666;font-size:14px}.genesis-quick-actions{display:flex;flex-direction:column;gap:8px}.genesis-quick-actions button{padding:10px 16px;background:#fff;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;text-align:left;font-size:14px;transition:all .2s}.genesis-quick-actions button:hover{background:#f0f0f0;border-color:#667eea}.genesis-message{margin-bottom:16px}.genesis-message-content{display:flex;gap:12px;align-items:flex-start}.genesis-message.assistant .genesis-message-content{flex-direction:row}.genesis-message.user .genesis-message-content{flex-direction:row-reverse}.genesis-avatar{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;font-size:16px;flex-shrink:0}.genesis-bubble{max-width:80%;padding:12px 16px;border-radius:16px;font-size:14px;line-height:1.5}.genesis-message.assistant .genesis-bubble{background:#fff;color:#333;border:1px solid #e0e0e0;border-top-left-radius:4px}.genesis-message.user .genesis-bubble{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-top-right-radius:4px}.genesis-text{white-space:pre-wrap;line-height:1.6}.genesis-text strong{font-weight:600;color:#667eea}.genesis-text em{font-style:italic}.genesis-text br{display:block;content:"";margin-top:8px}.genesis-suggestions{margin-top:12px;display:flex;flex-direction:column;gap:8px}.genesis-suggestion{padding:8px 12px;background:#f0f0f0;border:none;border-radius:8px;cursor:pointer;text-align:left;font-size:13px;color:#667eea;transition:all .2s}.genesis-suggestion:hover{background:#e0e0e0}.genesis-typing{display:flex;gap:4px;padding:8px 0}.genesis-typing span{width:8px;height:8px;background:#667eea;border-radius:50%;animation:typing 1.4s infinite}.genesis-typing span:nth-child(2){animation-delay:.2s}.genesis-typing span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-10px)}}.genesis-input{display:flex;padding:16px 20px;background:#fff;border-top:1px solid #e0e0e0;gap:12px}.genesis-input input{flex:1;padding:10px 16px;border:1px solid #e0e0e0;border-radius:24px;font-size:14px;outline:none}.genesis-input input:focus{border-color:#667eea}.genesis-input button{padding:10px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:24px;cursor:pointer;font-weight:600;transition:opacity .2s}.genesis-input button:hover:not(:disabled){opacity:.9}.genesis-input button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 767px){.genesis-fab{bottom:20px;right:16px;padding:14px;border-radius:50%;width:56px;height:56px;display:flex;align-items:center;justify-content:center;z-index:1000}.genesis-fab-text{display:none}.genesis-panel{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;max-height:100vh;border-radius:0;z-index:2000}.genesis-header{padding:12px 16px;min-height:56px}.genesis-title h3{font-size:16px}.genesis-subtitle{font-size:11px}.genesis-icon{font-size:20px}.genesis-messages{padding:16px 16px 80px}.genesis-message{margin-bottom:12px}.genesis-message-content{gap:8px}.genesis-avatar{width:28px;height:28px;font-size:14px}.genesis-bubble{max-width:85%;padding:10px 14px;font-size:14px}.genesis-text{line-height:1.5}.genesis-text strong{font-weight:600}.genesis-suggestions{margin-top:10px;gap:6px}.genesis-suggestion{padding:8px 12px;font-size:13px;border-radius:8px}.genesis-input{position:fixed;bottom:0;left:0;right:0;padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid #e0e0e0;gap:10px;z-index:2001}.genesis-input input{padding:12px 16px;font-size:16px;border-radius:24px}.genesis-input button{padding:12px 20px;font-size:14px;white-space:nowrap}.genesis-welcome{padding:16px 0}.genesis-welcome h4{font-size:18px;margin-bottom:8px}.genesis-welcome p{font-size:14px;margin-bottom:20px}.genesis-quick-actions{gap:10px}.genesis-quick-actions button{padding:14px 16px;font-size:14px}.genesis-close{width:36px;height:36px;font-size:22px}.llm-toggle{font-size:12px;gap:4px}.llm-toggle input{width:16px;height:16px}}@media (max-width: 375px){.genesis-bubble{max-width:88%;padding:10px 12px;font-size:13px}.genesis-suggestion{font-size:12px;padding:8px 10px}.genesis-input input{font-size:16px}.genesis-input button{padding:10px 16px;font-size:13px}}.app-container{display:flex;height:100vh;overflow:hidden}.sidebar{width:240px;background-color:#2c3e50;color:#fff;display:flex;flex-direction:column;flex-shrink:0;transition:transform .3s ease}.logo{padding:24px;border-bottom:1px solid rgba(255,255,255,.1)}.logo h1{font-size:24px;font-weight:600;margin:0}.logo span{font-size:12px;color:#95a5a6;text-transform:uppercase;letter-spacing:1px}.nav{flex:1;padding:16px 0;overflow-y:auto}.nav-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 24px;background:none;border:none;color:#bdc3c7;font-size:15px;cursor:pointer;text-align:left;transition:all .2s}.nav-item:hover{background-color:#ffffff0d;color:#fff}.nav-item.active{background-color:#ffffff1a;color:#fff;border-left:3px solid #3498db}.nav-icon{font-size:18px;flex-shrink:0}.nav-label{white-space:nowrap}.connection-status{padding:16px 24px;border-top:1px solid rgba(255,255,255,.1);font-size:13px;color:#95a5a6;display:flex;align-items:center;gap:8px}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-dot.loading{background-color:#f39c12;animation:pulse 1.5s infinite}.status-dot.connected{background-color:#27ae60}.status-dot.disconnected{background-color:#e74c3c}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.main-content{flex:1;overflow:auto;background-color:#f5f5f5;padding:24px}.mobile-header{display:none;position:fixed;top:0;left:0;right:0;height:56px;background-color:#2c3e50;color:#fff;align-items:center;justify-content:space-between;padding:0 16px;z-index:1000;box-shadow:0 2px 4px #0000001a}.mobile-logo{display:flex;align-items:baseline;gap:8px}.mobile-logo h1{font-size:20px;font-weight:600;margin:0}.mobile-logo span{font-size:11px;color:#95a5a6;text-transform:uppercase}.mobile-menu-btn{background:none;border:none;color:#fff;font-size:24px;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center}.mobile-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:998}@media (max-width: 767px){.app-container{flex-direction:column;padding-top:56px;height:100vh;overflow:hidden}.mobile-header{display:flex;height:56px;padding:0 16px}.sidebar.mobile{position:fixed;top:56px;left:0;bottom:0;width:280px;z-index:999;transform:translate(-100%);box-shadow:2px 0 12px #0000004d;transition:transform .3s ease}.sidebar.mobile.open{transform:translate(0)}.mobile-overlay{display:block;z-index:998}.main-content{padding:12px 12px 80px;overflow-y:auto;-webkit-overflow-scrolling:touch}.nav-item{padding:14px 20px;font-size:15px}.nav-icon{font-size:20px}.logo{padding:20px}.logo h1{font-size:22px}.connection-status{padding:12px 20px;font-size:12px}@supports (padding-bottom: env(safe-area-inset-bottom)){.main-content{padding-bottom:calc(72px + env(safe-area-inset-bottom))}}}@media (min-width: 768px) and (max-width: 1023px){.sidebar{width:200px}.nav-item{padding:10px 16px;font-size:14px}.main-content{padding:20px}}@media (min-width: 1400px){.main-content{padding:32px}}@media (max-width: 767px){*{-webkit-tap-highlight-color:transparent}body{font-size:14px;line-height:1.5}h1,h2,h3,h4,h5,h6{line-height:1.3}h1{font-size:24px}h2{font-size:20px}h3{font-size:18px}p{margin-bottom:12px}button{min-height:44px;min-width:44px}input,select,textarea{font-size:16px;min-height:44px}.card,.metric-card,.employee-card{margin-bottom:12px;padding:16px}.grid{grid-template-columns:1fr;gap:12px}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}table{min-width:600px}.main-content>div{padding:0!important}.main-content h1{font-size:24px;margin-bottom:8px}.main-content h2{font-size:18px;margin-bottom:12px}[style*="padding: 32px"],[style*="padding: 24px"]{padding:16px!important}[style*="gap: 24px"],[style*="gap: 16px"]{gap:12px!important}[style*="margin-bottom: 24px"]{margin-bottom:16px!important}[style*="grid-template-columns: repeat(auto-fit, minmax(200px, 1fr))"]{grid-template-columns:repeat(2,1fr)!important}[style*="grid-template-columns: repeat(auto-fill, minmax(300px, 1fr))"],[style*="grid-template-columns: repeat(auto-fit, minmax(250px, 1fr))"]{grid-template-columns:1fr!important}[style*="max-height: 400px"]{max-height:300px!important}}.loading-skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s infinite;border-radius:4px}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.page-transition{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
