:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.5;font-weight:400}html,body{height:100%;width:100%;margin:0;padding:0;overflow:hidden}body{color:#333;background-color:#f5f5f5}#root{height:100%;width:100%}.modal-overlay{position:fixed;inset:0;width:100vw;height:100vh;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999}.modal-content{background:#fff;border-radius:8px;padding:2rem;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;position:relative}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.modal-header h2{margin:0;font-size:1.5rem;color:#333}.close-button{background:none;border:none;font-size:2rem;color:#666;cursor:pointer;padding:0;line-height:1}.close-button:hover{color:#333}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#333}.help-text{display:block;font-size:.875rem;color:#666;font-weight:400;margin-top:.25rem}.form-group input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#0078d4;box-shadow:0 0 0 2px #0078d41a}.form-actions{display:flex;justify-content:space-between;align-items:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #eee}.button-group{display:flex;gap:.75rem}.button-primary,.button-secondary{padding:.75rem 1.5rem;border-radius:4px;font-size:1rem;cursor:pointer;border:none;font-weight:500;transition:all .2s}.chat-container{display:flex;flex-direction:column;height:100%;width:100%;background-color:#f5f5f5;flex:1;overflow:hidden}.chat-header{background:#fff;padding:1rem 1.5rem;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 4px #0000000d}.chat-info h2{margin:0;font-size:1.25rem;color:#333}.user-info{font-size:.875rem;color:#666}.header-actions{display:flex;gap:.75rem}.error-banner{background-color:#fef2f2;color:#991b1b;padding:1rem 1.5rem;border-bottom:1px solid #fecaca}.messages-container{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:#666}.empty-state h3{margin:0 0 .5rem;font-size:1.5rem;color:#333}.empty-state p{margin:0 0 1.5rem}.message{display:flex;animation:fadeIn .3s ease-in;margin-bottom:1rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-content{max-width:70%}.message-user{justify-content:flex-end}.message-user .message-content{margin-left:auto}.message-text{background:#fff;padding:.75rem 1rem;border-radius:12px;box-shadow:0 1px 2px #0000000d;word-wrap:break-word;white-space:pre-wrap}.message-user .message-text{background:#0078d4;color:#fff}.message-timestamp{font-size:.75rem;color:#999;margin-top:.25rem;padding:0 .5rem}.message-user{flex-direction:row-reverse}.message-user .message-timestamp{text-align:right}.loading{display:flex;gap:.25rem;padding:1rem}.loading-dot{animation:blink 1.4s infinite}.loading-dot:nth-child(2){animation-delay:.2s}.loading-dot:nth-child(3){animation-delay:.4s}@keyframes blink{0%,60%,to{opacity:.3}30%{opacity:1}}.input-form{background:#fff;padding:1rem 1.5rem;border-top:1px solid #e0e0e0;display:flex;gap:.75rem;box-shadow:0 -2px 4px #0000000d}.message-input{flex:1;padding:.75rem 1rem;border:1px solid #ddd;border-radius:24px;font-size:1rem;outline:none}.message-input:focus{border-color:#0078d4;box-shadow:0 0 0 2px #0078d41a}.message-input:disabled{background-color:#f5f5f5;cursor:not-allowed}.send-button{padding:.75rem 1.5rem;background-color:#0078d4;color:#fff;border:none;border-radius:24px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s}.send-button:hover:not(:disabled){background-color:#106ebe}.send-button:disabled{background-color:#ccc;cursor:not-allowed}.button-primary,.button-secondary{padding:.5rem 1rem;border-radius:4px;font-size:.875rem;cursor:pointer;border:none;font-weight:500;transition:all .2s}.button-primary{background-color:#0078d4;color:#fff}.button-secondary{background-color:#f3f2f1;color:#333}.button-secondary:hover{background-color:#e1dfdd}*{margin:0;padding:0;box-sizing:border-box}.app{height:100vh;width:100vw;display:flex;flex-direction:column;background-color:#f5f5f5}.app-header{background:linear-gradient(135deg,#0078d4,#106ebe);color:#fff;padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px #0000001a;flex-shrink:0}.app-header h1{margin:0;font-size:1.5rem;font-weight:600}.settings-button{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s}.settings-button:hover{background:#ffffff4d}.setup-required{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center}.setup-required h2{margin-bottom:1rem;color:#333;font-size:2rem}.setup-required p{margin-bottom:2rem;color:#666;font-size:1.125rem}.button-primary{background-color:#0078d4;color:#fff;border:none;padding:.75rem 2rem;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s}.button-primary:hover{background-color:#106ebe}
