.chat-container{transition:all .3s ease-in-out}.message-bubble{transition:transform .2s ease-in-out,box-shadow .2s ease-in-out}.message-bubble:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.message-bubble.sent{background:linear-gradient(135deg,#f8f9fa,#e9ecef);color:#495057;border:1px solid #dee2e6;box-shadow:0 2px 8px rgba(0,0,0,.08)}.message-bubble.sent:hover{background:linear-gradient(135deg,#e9ecef,#dee2e6);box-shadow:0 4px 12px rgba(0,0,0,.12)}.message-bubble.received{background:linear-gradient(135deg,#fff,#f8f9fa);color:#495057;border:1px solid #e9ecef;box-shadow:0 2px 8px rgba(0,0,0,.06)}.message-bubble.received:hover{background:linear-gradient(135deg,#f8f9fa,#e9ecef);box-shadow:0 4px 12px rgba(0,0,0,.1)}.fab{position:absolute!important;bottom:16px!important;right:16px!important;z-index:10!important;background:linear-gradient(135deg,#1976d2,#1565c0)!important;color:#fff!important;box-shadow:0 4px 20px rgba(25,118,210,.3)!important;transition:all .3s ease-in-out!important;border-radius:50%!important;width:56px!important;height:56px!important}.fab:hover{background:linear-gradient(135deg,#1565c0,#0d47a1)!important;transform:scale(1.1)!important;box-shadow:0 6px 25px rgba(25,118,210,.4)!important}.fab:active{transform:scale(.95)!important}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.new-message{animation:slideInFromBottom .3s ease-out}.typing-indicator{display:flex;align-items:center;grid-gap:4px;gap:4px;padding:8px 16px;color:#666;font-size:.85rem}.typing-dot{width:6px;height:6px;border-radius:50%;background-color:#666;animation:typing 1.4s ease-in-out infinite}.typing-dot:first-child{animation-delay:-.32s}.typing-dot:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}.system-message{text-align:center;margin:16px 0;padding:8px 16px;border-radius:16px}.reply-message,.system-message{background-color:rgba(0,0,0,.05);font-size:.85rem;color:#666}.reply-message{border-left:3px solid #1976d2;padding:8px 12px;margin-bottom:8px;border-radius:4px;font-style:italic}.file-attachment{display:flex;align-items:center;padding:12px;background-color:rgba(0,0,0,.05);border-radius:8px;margin-top:8px;border:1px solid rgba(0,0,0,.1)}.file-attachment:hover{background-color:rgba(0,0,0,.08)}.file-preview{background:linear-gradient(135deg,#f8f9fa,#e9ecef)!important;border:1px solid #dee2e6!important;box-shadow:0 4px 12px rgba(0,0,0,.08)!important;transition:all .3s ease-in-out!important;border-radius:16px!important;overflow:hidden!important}.file-preview:hover{background:linear-gradient(135deg,#e9ecef,#dee2e6)!important;box-shadow:0 6px 20px rgba(0,0,0,.12)!important;transform:translateY(-2px)!important}.file-preview .file-icon-container{background:linear-gradient(135deg,#fff,#f8f9fa)!important;border-radius:12px!important;box-shadow:0 2px 8px rgba(0,0,0,.1)!important;transition:all .3s ease-in-out!important}.file-preview:hover .file-icon-container{transform:scale(1.05)!important;box-shadow:0 4px 12px rgba(0,0,0,.15)!important}.file-preview .file-name{font-weight:600!important;color:#495057!important;text-shadow:0 1px 2px rgba(0,0,0,.05)!important}.file-preview .file-type{color:#6c757d!important;font-weight:500!important}.file-preview .download-button{border-radius:20px!important;font-weight:600!important;transition:all .2s ease-in-out!important;text-transform:none!important;box-shadow:0 2px 8px rgba(25,118,210,.3)!important}.file-preview .download-button:hover{transform:scale(1.05)!important;box-shadow:0 4px 12px rgba(25,118,210,.4)!important}[data-theme=dark] .file-preview{background:linear-gradient(135deg,#2c2c2e,#3a3a3c)!important;border:1px solid #404040!important;box-shadow:0 4px 12px rgba(0,0,0,.3)!important}[data-theme=dark] .file-preview:hover{background:linear-gradient(135deg,#3a3a3c,#404040)!important;box-shadow:0 6px 20px rgba(0,0,0,.4)!important}[data-theme=dark] .file-preview .file-icon-container{background:linear-gradient(135deg,#38383a,#2c2c2e)!important;box-shadow:0 2px 8px rgba(0,0,0,.3)!important}[data-theme=dark] .file-preview .file-name{color:#e1e1e1!important}[data-theme=dark] .file-preview .file-type{color:#bdbdbd!important}.image-message{border-radius:12px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.1);transition:transform .2s ease-in-out}.image-message:hover{transform:scale(1.02)}.video-message{border-radius:12px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.1)}.audio-message{border-radius:8px;overflow:hidden}.message-input{border-radius:24px!important;transition:all .2s ease-in-out}.message-input:focus-within{box-shadow:0 0 0 2px rgba(25,118,210,.2)}.action-button{transition:all .2s ease-in-out}.action-button:hover{transform:scale(1.1)}.send-button{transition:all .2s ease-in-out}.send-button:hover{transform:scale(1.05)}.send-button:disabled{opacity:.5;transform:none}.chat-list-item{transition:all .2s ease-in-out;border-radius:8px;margin:2px 8px}.chat-list-item:hover{background-color:rgba(0,0,0,.05);transform:translateX(4px)}.chat-list-item.selected{background-color:rgba(25,118,210,.1);border-left:4px solid #1976d2}.chat-avatar{transition:transform .2s ease-in-out}.chat-avatar:hover{transform:scale(1.1)}.notification-badge{animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.custom-scrollbar::-webkit-scrollbar{width:6px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.2);border-radius:3px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background-color:rgba(0,0,0,.3)}[data-theme=dark] .reply-message,[data-theme=dark] .system-message{background-color:hsla(0,0%,100%,.1);color:#ccc}[data-theme=dark] .file-attachment{background-color:hsla(0,0%,100%,.1);border-color:hsla(0,0%,100%,.2)}[data-theme=dark] .file-attachment:hover{background-color:hsla(0,0%,100%,.15)}[data-theme=dark] .chat-list-item:hover{background-color:hsla(0,0%,100%,.1)}[data-theme=dark] .custom-scrollbar::-webkit-scrollbar-thumb{background-color:hsla(0,0%,100%,.3)}[data-theme=dark] .custom-scrollbar::-webkit-scrollbar-thumb:hover{background-color:hsla(0,0%,100%,.5)}[data-theme=dark] .message-bubble.sent{background:linear-gradient(135deg,#2c2c2e,#3a3a3c);color:#e1e1e1;border:1px solid #404040;box-shadow:0 2px 8px rgba(0,0,0,.3)}[data-theme=dark] .message-bubble.sent:hover{background:linear-gradient(135deg,#3a3a3c,#404040);box-shadow:0 4px 12px rgba(0,0,0,.4)}[data-theme=dark] .message-bubble.received{background:linear-gradient(135deg,#1c1c1e,#2c2c2e);color:#e1e1e1;border:1px solid #3a3a3c;box-shadow:0 2px 8px rgba(0,0,0,.2)}[data-theme=dark] .message-bubble.received:hover{background:linear-gradient(135deg,#2c2c2e,#3a3a3c);box-shadow:0 4px 12px rgba(0,0,0,.3)}@media (max-width:768px){.message-bubble{max-width:85%!important}.chat-list-item{margin:1px 4px}.typing-indicator{padding:6px 12px;font-size:.8rem}}.loading-skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s infinite}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.emoji-picker{position:absolute;bottom:100%;right:0;z-index:1000;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);padding:8px}.recording-indicator{display:flex;align-items:center;grid-gap:8px;gap:8px;padding:8px 16px;background-color:#f44;color:#fff;border-radius:20px;font-size:.85rem;animation:recording-pulse 1s infinite}@keyframes recording-pulse{0%,to{opacity:1}50%{opacity:.7}}.status-message{text-align:center;padding:8px;margin:8px 0;border-radius:16px;font-size:.8rem;background-color:rgba(0,0,0,.05);color:#666}.error-message{background-color:#ffebee;color:#c62828;border-left:4px solid #f44336}.error-message,.success-message{padding:12px;margin:8px 0;border-radius:4px}.success-message{background-color:#e8f5e8;color:#2e7d32;border-left:4px solid #4caf50}.calendar-container{justify-content:center;height:90vh}.calendar-container,.modal{display:flex;align-items:center;padding:20px}.modal{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#f8f9fa;border-radius:10px;box-shadow:0 5px 15px rgba(0,0,0,.2);width:400px;z-index:1000;flex-direction:column}.modal input,.modal textarea{width:90%;padding:10px;margin-bottom:10px;border-radius:5px;border:1px solid #ddd;font-size:16px}.modal textarea{height:100px;resize:vertical}.modal .button-group button{flex:1 1 auto;margin:5px}.modal .primary-action{background-color:#4caf50}.modal .secondary-action{background-color:#f44336}.modal button{padding:10px 20px;margin-top:10px;border-radius:5px;border:none;background-color:#4a76a8;color:#fff;cursor:pointer;font-size:16px;transition:background-color .2s ease}.modal button:hover{background-color:#367bb7}.modal .button-group{display:flex;justify-content:space-between;width:100%;flex-wrap:wrap}.react-big-calendar{width:100%;max-width:1000px;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.5);border-radius:15px;overflow:hidden}.rbc-header{font-weight:700;padding:10px;border-bottom:3px solid #fff}.rbc-header,.rbc-toolbar button{background-color:#4a76a8;color:#fff}.rbc-toolbar button{border:none;padding:10px 20px;border-radius:5px;margin:0 5px;box-shadow:0 2px 5px rgba(0,0,0,.2);transition:background-color .3s,transform .2s}.rbc-toolbar button:hover{background-color:#3a5d7d;transform:scale(1.05)}.rbc-event{background-color:#007bff;color:#fff;border-radius:4px;padding:4px;box-shadow:0 2px 5px rgba(0,0,0,.2)}.rbc-today{background-color:#eaf6ff}.form-group{margin-bottom:10px;width:90%}.form-group label{display:block;margin-bottom:5px}.modal .date-time-picker{width:90%;padding:10px;margin-bottom:10px;border-radius:5px;border:none;font-size:16px;background-color:#fff}.time-picker .react-time-picker__button{display:none}.complete-button{padding:10px 20px;margin-top:10px;border-radius:5px;border:none;background-color:#28a745;color:#fff;cursor:pointer;font-size:16px;transition:background-color .2s ease}.complete-button:hover{background-color:#218838}.modal .date-time-picker .MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline{border-color:transparent;border-width:0}.modal .date-time-picker .MuiOutlinedInput-root .MuiOutlinedInput-notchedOutline{border:none}.modal .date-time-picker .MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline{border:none;box-shadow:none;outline:none}.rbc-event-concluido{background-color:#6c757d!important;color:#fff!important;text-decoration:line-through!important}.rbc-event-label{font-weight:700}.rbc-event-content{text-transform:uppercase}@media (max-width:768px){.react-big-calendar{width:100%;max-width:100%}.calendar-container{height:auto}}.ChatApp{justify-content:center;align-items:center;height:100vh}.Chat,.ChatApp{display:flex;overflow:hidden}.Chat{width:90%;max-width:600px;height:80vh;background-color:#fff;border-radius:10px;box-shadow:0 8px 16px rgba(0,0,0,.2);flex-direction:column;margin-top:10px}.ChatTitle{background-color:#007bff;color:#fff;text-align:center;padding:15px 0;margin:0;font-size:1.5em}.MessageContainer{flex-grow:1;display:flex;flex-direction:column;overflow-y:auto;padding:20px;background-color:#e9ecef}.Message{max-width:80%;margin-bottom:10px;padding:10px 15px;background-color:#f8f9fa;border-radius:18px;border:1px solid #dee2e6;white-space:pre-wrap;box-shadow:2px 2px 5px rgba(0,0,0,.2);position:relative}.TypingIndicator{color:#666;padding:10px;font-style:italic}.UserMessage{background-color:#007bff;color:#fff;border-color:#007bff;align-self:flex-end;border-bottom-right-radius:4px}.AIMessage{background-color:#e9ecef;color:#000;align-self:flex-start;border-bottom-left-radius:4px}.UserMessage:after{right:-10px;border:10px solid transparent;border-left-color:#007bff}.AIMessage:after,.UserMessage:after{content:"";position:absolute;bottom:0}.AIMessage:after{left:-10px;border:10px solid transparent;border-right-color:#e9ecef}.QuestionInput{display:flex;padding:10px;background-color:#f8f9fa;border-top:1px solid #dee2e6}.QuestionInput input{flex-grow:1;padding:10px;margin-right:10px;border:1px solid #dee2e6;border-radius:5px}.QuestionInput button{padding:10px 20px;background-color:#007bff;color:#fff;border:none;border-radius:5px;cursor:pointer}.QuestionInput button:hover{background-color:#0056b3}