@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@300;400;500;600;700&display=swap";:root{--primary-color:#7132f5;--primary-hover:#5741d8;--primary-deep:#5b1ecf;--primary-subtle:#7132f514;--bg-color:#f4f5f8;--bg-gradient:linear-gradient(135deg, #f4f5f8 0%, #eef0f5 100%);--text-dark:#101114;--text-light:#fff;--text-muted:#686b82;--text-secondary:#9497a9;--border-color:#dedee5;--glass-bg:#fff;--glass-border:#dedee5;--glass-shadow:#00000008 0px 4px 24px, #00000005 0px 1px 3px;--danger:#ef4444;--danger-bg:#ef44441a;--success:#149e61;--success-bg:#149e611f;--success-text:#026b3f}[data-theme=dark]{--bg-color:#0c0d0f;--bg-gradient:linear-gradient(135deg, #07080a 0%, #0c0d0f 50%, #121317 100%);--text-dark:#f4f5f8;--text-light:#101114;--text-muted:#9497a9;--text-secondary:#686b82;--border-color:#ffffff1f;--glass-bg:#14161b;--glass-border:#ffffff14;--glass-shadow:#0006 0px 8px 32px, #0003 0px 1px 3px;--primary-subtle:#7132f533}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-gradient);color:var(--text-dark);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-attachment:fixed;flex-direction:column;min-height:100vh;margin:0;font-family:IBM Plex Sans,system-ui,Avenir,Helvetica,Arial,sans-serif;display:flex}h1,h2,h3,p{color:inherit}#root{width:100%;max-width:1200px;margin:0 auto;padding:2rem;transition:padding .3s}.glass-panel{background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);color:var(--text-dark);border-radius:12px;padding:2rem}.auth-container{text-align:center;max-width:400px;margin:10vh auto}.auth-container h2{letter-spacing:.5px;color:var(--text-dark);margin-bottom:1.5rem;font-weight:600}.input-group{flex-direction:column;gap:15px;margin-bottom:20px;display:flex}.glass-input{background:var(--glass-bg);border:1px solid var(--border-color);width:100%;color:var(--text-dark);border-radius:12px;outline:none;padding:12px 16px;font-size:1rem;transition:all .3s}.glass-input::placeholder{color:var(--text-secondary)}.glass-input:focus{background:var(--glass-bg);border-color:var(--primary-color);box-shadow:0 0 0 2px #7132f533}.btn-primary{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:12px;width:100%;padding:12px 20px;font-size:1rem;font-weight:600;transition:all .3s}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 4px 12px #7132f533}.btn-danger{color:#ef4444;cursor:pointer;background:#ef44441a;border:1px solid #ef444433;border-radius:12px;padding:8px 16px;font-weight:500;transition:all .3s}.btn-danger:hover{color:#ef4444;background:#ef444433}.auth-link{color:var(--text-muted);cursor:pointer;margin-top:15px;font-size:.9rem;transition:color .3s;display:inline-block}.auth-link:hover{color:var(--primary-color);text-decoration:underline}.app-header{z-index:1000;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1rem 1.5rem;display:flex;position:relative}.app-header nav a{color:var(--text-muted);margin-left:20px;font-weight:500;text-decoration:none;transition:color .3s}.app-header nav a:hover{color:var(--primary-color)}.user-info{align-items:center;gap:15px;font-size:.9rem;display:flex}.status-card{text-align:center;padding:3rem 2rem}.status-card.warning{background:#facc1526;border:1px solid #facc154d}.status-card.warning h1{color:#d97706;margin-bottom:1rem;font-size:2rem}.status-card.warning p{color:var(--text-dark);font-size:1.1rem}.admin-table{border-collapse:collapse;width:100%;color:var(--text-dark);margin-top:20px}.admin-table th{text-align:left;border-bottom:2px solid var(--border-color);color:var(--text-dark);padding:12px;font-weight:600}.admin-table td{border-bottom:1px solid var(--border-color);padding:12px}.admin-table select{background:var(--glass-bg);color:var(--text-dark);border:1px solid var(--border-color);cursor:pointer;border-radius:12px;outline:none;padding:6px 12px}.admin-table select:focus{border-color:var(--primary-color)}.admin-table select option{background:var(--glass-bg);color:var(--text-dark)}.react-markdown-container p{margin-top:0;margin-bottom:.8rem}.react-markdown-container p:last-child{margin-bottom:0}.react-markdown-container ul,.react-markdown-container ol{margin-top:.5rem;margin-bottom:.8rem;padding-left:1.5rem}.react-markdown-container li{margin-bottom:.3rem}.react-markdown-container strong{color:var(--primary-color);font-weight:600}.react-markdown-container h1,.react-markdown-container h2,.react-markdown-container h3,.react-markdown-container h4{color:var(--primary-color);margin-top:1rem;margin-bottom:.5rem}.feedback-wrapper{display:inline-block;position:relative}.btn-feedback{background:var(--primary-subtle);color:var(--primary-color);cursor:pointer;border:1px solid #7132f54d;border-radius:20px;padding:8px 16px;font-size:.85rem;font-weight:500;transition:all .3s}.btn-feedback:hover{background:var(--primary-color);color:#fff;transform:translateY(-1px);box-shadow:0 4px 10px #7132f526}.btn-feedback:disabled{opacity:.6;cursor:default;transform:none}.feedback-tooltip-box{visibility:hidden;opacity:0;background:var(--glass-bg);border:1px solid var(--border-color);width:320px;color:var(--text-dark);z-index:100;border-radius:12px;padding:15px;font-size:.85rem;line-height:1.5;transition:opacity .3s,visibility .3s,transform .3s;position:absolute;top:130%;right:0;transform:translateY(-5px);box-shadow:0 8px 32px #00000014}.feedback-wrapper:hover .feedback-tooltip-box{visibility:visible;opacity:1;transform:translateY(0)}.feedback-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#10111466;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.feedback-modal-content{background:var(--glass-bg);width:100%;max-width:600px;animation:.3s forwards modalIn}@keyframes modalIn{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.feedback-modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;display:flex}.feedback-btn-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:1.2rem;transition:color .2s}.feedback-btn-close:hover{color:var(--text-dark)}.feedback-screenshot-preview{border:1px solid var(--border-color);background:#f4f5f8;border-radius:12px;width:100%;height:200px;position:relative;overflow:hidden}.feedback-screenshot-preview img{object-fit:cover;object-position:top;opacity:.9;width:100%;height:100%}.screenshot-badge{color:#fff;background:#101114b3;border-radius:6px;padding:4px 8px;font-size:.75rem;font-weight:500;position:absolute;top:10px;right:10px}.feedback-textarea{background:var(--glass-bg);border:1px solid var(--border-color);width:100%;color:var(--text-dark);resize:vertical;border-radius:12px;outline:none;padding:12px;font-family:inherit;font-size:.95rem;transition:all .3s}.feedback-textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #7132f533}.feedback-btn-primary{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:12px;padding:10px 20px;font-weight:600;transition:background .3s}.feedback-btn-primary:hover:not(:disabled){background:var(--primary-hover)}.feedback-btn-primary:disabled{opacity:.5;cursor:not-allowed}.feedback-btn-secondary{background:var(--glass-bg);color:var(--text-dark);border:1px solid var(--border-color);cursor:pointer;border-radius:12px;padding:10px 20px;font-weight:500;transition:background .3s}.feedback-btn-secondary:hover:not(:disabled){background:#f4f5f8}.feedback-error-banner{border-radius:12px;padding:10px 15px;font-size:.85rem}.feedback-error-banner.warning{color:#d97706;background:#facc1526;border:1px solid #facc1566}.feedback-error-banner.danger{color:#ef4444;background:#ef444426;border:1px solid #ef444466}.feedback-success{text-align:center;padding:30px 10px}.feedback-success .success-icon{margin-bottom:20px;font-size:3.5rem;animation:.5s bounce}@keyframes bounce{0%{opacity:0;transform:scale(.5)}50%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.header-left{align-items:center;gap:30px;display:flex}.header-brand{align-items:center;display:flex}.header-nav{gap:20px;display:flex}.header-logo{pointer-events:none;height:40px;position:absolute;left:50%;transform:translate(-50%)}.mobile-menu-btn{display:none}.user-info{align-items:center;gap:20px;display:flex}@media (width<=850px){.app-header{flex-direction:column;align-items:stretch;padding:15px!important}.header-left{flex-direction:column;align-items:stretch;gap:0}.header-brand{justify-content:space-between;width:100%}.header-nav,.user-info,.header-logo{display:none!important}.header-nav.open,.user-info.open{flex-direction:column;justify-content:center;width:100%;margin-top:20px;animation:.3s fadeIn;align-items:center!important;gap:15px!important;display:flex!important}.mobile-menu-btn{border:1px solid var(--border-color);color:var(--text-dark);cursor:pointer;background:0 0;border-radius:12px;padding:4px 12px;font-size:1.5rem;display:block}.btn-feedback{padding:8px 16px;font-size:.8rem}.feedback-tooltip-box{width:280px;left:50%;right:auto;transform:translate(-50%,10px)}.feedback-wrapper:hover .feedback-tooltip-box{transform:translate(-50%)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.chat-header{background:var(--glass-bg);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:15px 20px;display:flex}.chat-title-container{flex-direction:column;display:flex}.chat-title-row{justify-content:space-between;align-items:center;display:flex}.chat-actions{gap:10px;display:flex}@media (width<=850px){.chat-header{flex-direction:column;align-items:stretch}.chat-title-row{width:100%}.chat-actions{display:none}.chat-actions.open{flex-direction:column;gap:10px;margin-top:15px;animation:.3s fadeIn;display:flex}#root{padding:1rem}.glass-panel{padding:1.25rem}}@media (width<=480px){#root{padding:.5rem}.glass-panel{border-radius:12px;padding:1rem}}.chat-container-panel{background:var(--glass-bg);border:1px solid var(--glass-border);height:calc(85vh - 80px);min-height:550px;box-shadow:var(--glass-shadow);border-radius:12px;flex-direction:column;margin-top:1.5rem;display:flex;position:relative;overflow:hidden;padding:0!important}@media (width<=850px){.chat-container-panel{border-radius:8px;height:calc(100dvh - 140px);min-height:auto;margin-top:1rem}}@media (width<=480px){.chat-container-panel{border-radius:0;height:calc(100dvh - 90px);margin-top:.5rem}}.chat-message-bubble{word-break:break-word;border-radius:12px;max-width:85%;padding:12px 18px;font-size:.95rem;line-height:1.6;box-shadow:0 2px 8px #00000005}.chat-message-bubble.user{background:var(--primary-color);color:#fff;border-bottom-right-radius:2px;align-self:flex-end}.chat-message-bubble.assistant{background:var(--primary-subtle);color:var(--text-dark);border:1px solid #7132f51f;border-bottom-left-radius:2px;align-self:flex-start}.pulse-brain-icon{font-size:1.5rem;display:inline-block}.pulse-brain-icon.loading{animation:1.2s ease-in-out infinite pulse-brain}@keyframes pulse-brain{0%{filter:drop-shadow(0 0 2px #7132f566);transform:scale(1)}50%{filter:drop-shadow(0 0 10px #7132f5cc);transform:scale(1.2)}to{filter:drop-shadow(0 0 2px #7132f566);transform:scale(1)}}.typing-indicator{align-items:center;gap:4px;height:20px;padding:6px 10px;display:flex}.typing-indicator span{background-color:var(--primary-color);border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite both bounce-dots;display:inline-block}.typing-indicator span:first-child{animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes bounce-dots{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.thinking-wrapper{flex-direction:column;gap:8px;display:flex}.thinking-text{color:var(--text-muted);align-items:center;gap:6px;font-size:.85rem;font-style:italic;display:flex}.chat-input-form{background:var(--glass-bg);border-top:1px solid var(--border-color);box-sizing:border-box;align-items:center;width:100%;padding:15px;display:flex}.chat-attach-btn{border:1px solid var(--border-color);background:var(--glass-bg);color:var(--text-muted);cursor:pointer;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;margin-right:10px;padding:12px 14px;font-size:1.25rem;transition:all .2s;display:flex}.chat-attach-btn:hover:not(:disabled){background:var(--bg-color);color:var(--text-dark);border-color:var(--text-secondary)}.chat-text-input{border:1px solid var(--border-color);background:var(--glass-bg);min-width:0;color:var(--text-dark);border-radius:12px;outline:none;flex:1;padding:15px;font-size:1rem;transition:all .2s}.chat-text-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #7132f526}.chat-send-btn{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;margin-left:10px;padding:15px 25px;font-size:1.05rem;font-weight:700;transition:all .2s;display:flex}.chat-send-btn:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 10px #7132f533}.chat-send-btn:active:not(:disabled){transform:translateY(0)}@media (width<=600px){.chat-input-form{padding:10px}.chat-attach-btn{margin-right:8px;padding:10px 12px;font-size:1.1rem}.chat-text-input{padding:12px 10px;font-size:.9rem}.chat-send-btn{margin-left:8px;padding:12px 18px;font-size:.95rem}.chat-send-text{display:none}}.chat-mic-btn{border:1px solid var(--border-color);background:var(--glass-bg);color:var(--text-muted);cursor:pointer;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;margin-right:10px;padding:12px 14px;font-size:1.25rem;transition:all .3s;display:flex}.chat-mic-btn:hover:not(:disabled){background:var(--bg-color);color:var(--text-dark);border-color:var(--text-secondary)}.chat-mic-btn.listening{background:var(--danger);color:#fff;border-color:#0000;animation:1.5s infinite pulse-red-mic;box-shadow:0 0 10px #ef444480}@keyframes pulse-red-mic{0%{transform:scale(1);box-shadow:0 0 #ef4444b3}70%{transform:scale(1.05);box-shadow:0 0 0 8px #ef444400}to{transform:scale(1);box-shadow:0 0 #ef444400}}@media (width<=600px){.chat-mic-btn{margin-right:6px;padding:10px 12px;font-size:1.1rem}}.hover-expand-btn{cursor:pointer;white-space:nowrap;border:1px solid var(--border-color);background:var(--glass-bg);min-width:38px;max-width:38px;height:38px;color:var(--text-dark);box-sizing:border-box;border-radius:12px;justify-content:center;align-items:center;padding:0;font-size:.85rem;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex;overflow:hidden}.hover-expand-btn .btn-icon{flex-shrink:0;justify-content:center;align-items:center;width:36px;font-size:1.15rem;display:flex}.hover-expand-btn .btn-text{opacity:0;max-width:0;color:inherit;margin-left:0;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1)}.hover-expand-btn:hover{border-color:var(--primary-color);background:var(--primary-color);max-width:160px;padding:0 14px 0 0;color:#fff!important}.hover-expand-btn:hover .btn-text{opacity:1;max-width:120px;margin-left:2px}.hover-expand-btn.danger-expand:hover{border-color:var(--danger);background:var(--danger);color:#fff!important}.user-meta strong,.user-meta span{transition:color .3s}header.app-header,.chat-container-panel{transition:background-color .3s,border-color .3s}.glass-panel{transition:background-color .3s,border-color .3s,color .3s}body{transition:background-color .3s,color .3s}.admin-table th,.admin-table td{transition:color .3s,border-color .3s}
