*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f5f5f5;color:#333}.app-container{display:flex;flex-direction:column;height:100vh;position:relative}.app-body{display:flex;flex:1;overflow:hidden}.sidebar{position:fixed;top:0;left:0;height:100vh;width:50px;background:#fff;border-right:1px solid #e0e0e0;display:flex;flex-direction:column;transition:width .3s ease,transform .3s ease,box-shadow .3s ease;z-index:1000;box-shadow:2px 0 8px #0000001a}.sidebar:hover{width:250px;box-shadow:4px 0 12px #00000026}.sidebar.closed{transform:translate(-100%)}.sidebar-content{display:flex;flex-direction:column;height:100%}.sidebar-content.hovered{width:250px}.sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:1rem .5rem;border-bottom:1px solid #e0e0e0;min-height:60px}.sidebar-header:hover{padding:1rem}.sidebar-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666;padding:.25rem;border-radius:4px;transition:background .2s}.sidebar-close:hover{background:#f0f0f0}.sidebar-nav ul{list-style:none;flex:1;padding:.25rem 0}.sidebar-nav li{margin:0}.sidebar-link{display:flex;align-items:center;padding:.75rem .7rem;text-decoration:none;color:#333;transition:background .2s;gap:.75rem;min-height:48px}.sidebar-link:hover{background:#f0f0f0}.sidebar-link.active{background:#007bff;color:#fff}.sidebar-icon{font-size:1.25rem;min-width:24px;text-align:center;display:flex;align-items:center;justify-content:center}.sidebar-text{white-space:nowrap;transition:opacity .2s}.hide-text{opacity:0;width:0;overflow:hidden}.show-text{opacity:1;width:auto}.sidebar-footer{padding:1rem .5rem;border-top:1px solid #e0e0e0}.sidebar-footer:hover{padding:1rem}.user-info{display:flex;align-items:center;gap:.75rem}.user-avatar{width:32px;height:32px;background:#007bff;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;min-width:32px}@media (max-width: 768px){.sidebar{width:280px;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar:hover{width:280px}.sidebar-header,.sidebar-footer{padding:1rem}.hide-text,.show-text{opacity:1;width:auto}.content{padding-left:0}.app-header{padding-left:1.5rem}}@media (min-width: 769px){.sidebar,.sidebar:hover{transform:translate(0)}.content{padding-left:70px}.sidebar.closed~.content{padding-left:0}.sidebar-close{display:none}.sidebar-header{justify-content:center;padding:1rem .5rem}.sidebar.closed~.app-body .app-header{padding-left:1.5rem}}.app-header{display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;padding-left:85px;background:#fff;border-bottom:1px solid #e0e0e0;box-shadow:0 1px 3px #0000001a;z-index:100;transition:padding-left .3s ease}.header-left .logo h1{margin:0;color:#007bff;font-size:1.5rem;font-weight:700}.header-center{flex:1;max-width:600px;margin:0 2rem}.search-bar{display:flex;align-items:center;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:24px;overflow:hidden;transition:border-color .2s}.search-bar:focus-within{border-color:#007bff}.search-input{flex:1;border:none;background:none;padding:.5rem 1rem;font-size:.875rem;outline:none}.search-input::placeholder{color:#6c757d}.search-button{background:none;border:none;padding:.5rem;cursor:pointer;font-size:1rem;color:#6c757d;transition:color .2s}.search-button:hover{color:#007bff}.header-right{display:flex;align-items:center}.header-profile{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.5rem;border-radius:6px;transition:background .2s}.header-profile:hover{background:#f8f9fa}.profile-avatar{width:32px;height:32px;background:#007bff;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem}.profile-name{font-size:.875rem;font-weight:500;color:#333}.sidebar-toggle{position:fixed;top:5rem;left:1rem;z-index:1000;background:#fff;border:1px solid #e0e0e0;border-radius:4px;padding:.5rem .75rem;font-size:1.25rem;cursor:pointer}.content{flex:1;display:flex;flex-direction:column;overflow:hidden;padding-left:70px;transition:padding-left .3s ease}.content-page{height:100%;display:flex;flex-direction:column}.content-header{padding:1rem;background:#fff;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center}.btn-primary{background:#007bff;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer}.btn-primary:hover{background:#0056b3}.btn-secondary{background:#6c757d;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer}.btn-secondary:hover{background:#545b62}.content-tabs{display:flex;background:#fff;border-bottom:1px solid #e0e0e0}.tab{background:none;border:none;padding:1rem;cursor:pointer;border-bottom:2px solid transparent;transition:border-color .2s}.tab.active{border-bottom-color:#007bff;color:#007bff}.tab:hover{background:#f8f9fa}.content-body{flex:1;overflow-y:auto;padding:1rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:#fff;padding:1.5rem;border-radius:8px;border:1px solid #e0e0e0}.stat-card h3{font-size:.875rem;color:#666;margin-bottom:.5rem}.stat-value{font-size:2rem;font-weight:700;color:#007bff}.recent-projects{background:#fff;padding:1.5rem;border-radius:8px;border:1px solid #e0e0e0}.recent-projects h2{margin-bottom:1rem}.project-item{padding:1rem 0;border-bottom:1px solid #f0f0f0}.project-item:last-child{border-bottom:none}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.project-card{background:#fff;padding:1.5rem;border-radius:8px;border:1px solid #e0e0e0}.project-status{margin-top:.5rem;color:#28a745;font-size:.875rem}.analytics-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1rem}.chart-placeholder{background:#fff;padding:2rem;border-radius:8px;border:1px solid #e0e0e0;text-align:center}.chart-box{font-size:3rem;margin:1rem 0}.chat-floating{position:fixed;bottom:1rem;right:1rem;z-index:1000;transition:all .3s ease}.chat-floating.minimized{cursor:pointer}.chat-minimized{display:flex;align-items:center;gap:.5rem;background:#007bff;color:#fff;padding:.75rem 1rem;border-radius:24px;box-shadow:0 2px 8px #0003;transition:transform .2s}.chat-minimized:hover{transform:translateY(-2px)}.chat-icon{font-size:1.25rem}.chat-floating.expanded{width:400px;height:600px}.chat-expanded{background:#fff;border-radius:12px;box-shadow:0 8px 32px #00000026;overflow:hidden;display:flex;flex-direction:column;height:100%}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:linear-gradient(135deg,#007bff,#0056b3);color:#fff;border-bottom:1px solid rgba(255,255,255,.1)}.chat-header h3{margin:0;font-size:1rem;font-weight:600}.chat-header-controls{display:flex;gap:.5rem;align-items:center}.chat-clear-btn{background:none;border:none;color:#fff;font-size:.875rem;cursor:pointer;padding:.25rem;border-radius:4px;transition:background .2s}.chat-clear-btn:hover{background:#ffffff1a}.chat-minimize-btn{background:none;border:none;color:#fff;font-size:1.25rem;cursor:pointer;padding:.25rem;border-radius:4px;transition:background .2s}.chat-minimize-btn:hover{background:#ffffff1a}.chat-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.messages-container{flex:1;overflow-y:auto;padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.empty-state{text-align:center;color:#666;padding:2rem 1rem}.empty-state p{margin:0;font-size:.95rem}.message-bubble{max-width:85%;word-wrap:break-word}.message-bubble.user{align-self:flex-end}.message-bubble.assistant{align-self:flex-start}.message-content{padding:.75rem 1rem;border-radius:18px;line-height:1.4;white-space:pre-wrap;margin-bottom:.25rem}.message-bubble.user .message-content{background:#007bff;color:#fff;border-bottom-right-radius:4px}.message-bubble.assistant .message-content{background:#f1f3f4;color:#333;border-bottom-left-radius:4px}.message-time{font-size:.75rem;color:#666;text-align:right;padding:0 .5rem}.message-bubble.assistant .message-time{text-align:left}.typing-indicator{animation:blink 1s infinite;color:#666}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.message-input-form{padding:1rem;border-top:1px solid #e0e0e0;background:#fafafa}.message-input-container{display:flex;gap:.75rem;align-items:flex-end}.message-textarea{flex:1;border:1px solid #e0e0e0;border-radius:20px;padding:.75rem 1rem;font-family:inherit;font-size:.9rem;line-height:1.3;resize:none;outline:none;transition:border-color .2s,box-shadow .2s;background:#fff;min-height:40px;max-height:120px}.message-textarea:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.message-textarea::placeholder{color:#999}.message-textarea:disabled{background:#f8f9fa;color:#666}.message-send-btn{background:#007bff;color:#fff;border:none;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem;transition:background .2s,transform .2s;flex-shrink:0}.message-send-btn:hover:not(:disabled){background:#0056b3;transform:scale(1.05)}.message-send-btn:disabled{background:#ccc;cursor:not-allowed;transform:none}.loading-spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 480px){.chat-floating.expanded{width:calc(100vw - 2rem);height:calc(100vh - 2rem);bottom:1rem;right:1rem;top:1rem}.message-bubble{max-width:90%}.messages-container{padding:1rem}}.settings-section{padding:1rem 0}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem}.settings-card{background:#fff;padding:1.5rem;border-radius:8px;border:1px solid #e0e0e0}.settings-card h3{margin-bottom:1.5rem;color:#333}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#333}.form-group input,.form-group select{width:100%;padding:.75rem;border:1px solid #e0e0e0;border-radius:4px;font-size:1rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:#007bff}.form-group input::placeholder{color:#6c757d}
