.chat-container{display:flex;flex-direction:column;height:100%;overflow:hidden}.chat-messages{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.chat-welcome{text-align:center;color:var(--rcm-charcoal);margin:auto;max-width:480px}.chat-welcome h2{color:var(--rcm-dark-blue);margin-bottom:.5rem}.chat-welcome-hint{font-style:italic;font-size:var(--rcm-body2-size);color:var(--rcm-charcoal);margin-top:1rem;opacity:.7}.chat-message{max-width:75%;padding:.75rem 1rem;border-radius:var(--rcm-btn-radius);line-height:1.5;word-wrap:break-word;font-size:var(--rcm-body1-size)}.chat-message-user .chat-message-content{white-space:pre-wrap}.chat-message-assistant .chat-message-content p{margin:0 0 .5rem}.chat-message-assistant .chat-message-content p:last-child{margin-bottom:0}.chat-message-assistant .chat-message-content ol,.chat-message-assistant .chat-message-content ul{margin:.25rem 0 .5rem 1.25rem;padding:0}.chat-message-assistant .chat-message-content li{margin-bottom:.25rem}.chat-message-assistant .chat-message-content strong{font-weight:600;color:var(--rcm-dark-blue)}.chat-message-assistant .chat-message-content code{background:var(--rcm-soft-white);padding:.1rem .35rem;border-radius:3px;font-size:.9em}.chat-message-label{font-size:var(--rcm-caption-size);font-weight:600;margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.05em}.chat-message-user{align-self:flex-end;background:var(--rcm-btn-primary-bg);color:#fff}.chat-message-user .chat-message-label{color:var(--rcm-flat-gold)}.chat-message-assistant{align-self:flex-start;background:#fff;color:var(--rcm-text-color);border:1px solid #E0DDD7}.chat-message-assistant .chat-message-label{color:var(--rcm-charcoal)}.chat-typing{display:flex;gap:4px;padding:.5rem 0}.chat-typing span{width:8px;height:8px;background:var(--rcm-charcoal);border-radius:50%;animation:typing 1.4s infinite ease-in-out}.chat-typing span:nth-child(2){animation-delay:.2s}.chat-typing span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.chat-input-area{display:flex;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid #E0DDD7;background:#fff}.chat-input{flex:1;padding:.75rem 1rem;border:1px solid #C9C5BD;border-radius:var(--rcm-btn-radius);font-size:var(--rcm-body1-size);font-family:var(--rcm-font-family);color:var(--rcm-text-color);resize:none;outline:none;transition:border-color .2s}.chat-input:focus{border-color:var(--rcm-blue)}.chat-input:disabled{background:var(--rcm-soft-white)}.chat-send-btn{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:8px 24px;background:var(--rcm-btn-primary-bg);color:var(--rcm-btn-primary-text);border:none;border-radius:var(--rcm-btn-radius);font-size:var(--rcm-body1-size);font-family:var(--rcm-font-family);font-weight:500;cursor:pointer;transition:background-color .2s ease}.chat-send-btn:hover:not(:disabled){background:var(--rcm-btn-primary-bg-hover)}.chat-send-btn:disabled{background:var(--rcm-btn-primary-bg-disabled);cursor:not-allowed}.chat-actions{display:flex;justify-content:flex-end;margin-top:.25rem}.chat-copy-btn{background:none;border:1px solid transparent;border-radius:4px;cursor:pointer;font-size:var(--rcm-caption-size);font-family:var(--rcm-font-family);padding:.15rem .5rem;color:var(--rcm-charcoal);opacity:.5;transition:opacity .2s,border-color .2s}.chat-copy-btn:hover{opacity:1;border-color:#c9c5bd}.chat-feedback{display:flex;align-items:center;gap:.25rem;margin-top:.5rem;padding-top:.5rem;border-top:1px solid #E0DDD7}.chat-feedback-btn{background:none;border:1px solid transparent;border-radius:4px;cursor:pointer;font-size:1rem;padding:.2rem .4rem;opacity:.5;transition:opacity .2s,border-color .2s}.chat-feedback-btn:hover{opacity:1;border-color:#c9c5bd}.chat-feedback-thanks{font-size:var(--rcm-caption-size);color:var(--rcm-charcoal);opacity:.7}.chat-correction{margin-top:.5rem;padding-top:.5rem}.chat-correction-input{width:100%;padding:.5rem .75rem;border:1px solid #C9C5BD;border-radius:var(--rcm-btn-radius);font-size:var(--rcm-caption-size);font-family:var(--rcm-font-family);color:var(--rcm-text-color);resize:none;outline:none;box-sizing:border-box}.chat-correction-input:focus{border-color:var(--rcm-blue)}.chat-correction-actions{display:flex;gap:.5rem;margin-top:.35rem;justify-content:flex-end}.chat-correction-submit{padding:.25rem .75rem;background:var(--rcm-btn-primary-bg);color:var(--rcm-btn-primary-text);border:none;border-radius:var(--rcm-btn-radius);font-size:var(--rcm-caption-size);font-family:var(--rcm-font-family);cursor:pointer;transition:background-color .2s}.chat-correction-submit:hover{background:var(--rcm-btn-primary-bg-hover)}.chat-correction-cancel{padding:.25rem .75rem;background:none;color:var(--rcm-charcoal);border:1px solid #C9C5BD;border-radius:var(--rcm-btn-radius);font-size:var(--rcm-caption-size);font-family:var(--rcm-font-family);cursor:pointer;transition:border-color .2s}.chat-correction-cancel:hover{border-color:var(--rcm-charcoal)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#041a2280;display:flex;align-items:center;justify-content:center;z-index:100}.modal-content{background:#fff;border-radius:var(--rcm-btn-radius);padding:2rem;width:90%;max-width:500px;box-shadow:0 20px 60px #00000040}.modal-content h3{margin:0 0 .75rem;color:var(--rcm-dark-blue);font-size:var(--rcm-s2-size);font-weight:600}.modal-description{color:var(--rcm-charcoal);font-size:var(--rcm-body2-size);margin-bottom:1rem}.modal-label{display:block;font-size:var(--rcm-body2-size);font-weight:500;color:var(--rcm-dark-blue);margin-bottom:.35rem}.modal-notes{width:100%;padding:.75rem;border:1px solid #C9C5BD;border-radius:var(--rcm-btn-radius);font-size:var(--rcm-body2-size);font-family:var(--rcm-font-family);color:var(--rcm-text-color);resize:vertical;outline:none;box-sizing:border-box}.modal-notes:focus{border-color:var(--rcm-blue)}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.25rem}.modal-btn{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:8px 20px;border:none;border-radius:var(--rcm-btn-radius);font-size:var(--rcm-body2-size);font-family:var(--rcm-font-family);font-weight:500;cursor:pointer;transition:background-color .2s ease}.modal-btn-cancel{background:var(--rcm-btn-secondary-bg);color:var(--rcm-btn-secondary-text);border:1px solid var(--rcm-btn-secondary-border)}.modal-btn-cancel:hover:not(:disabled){background:var(--rcm-btn-secondary-bg-hover)}.modal-btn-confirm{background:var(--rcm-rust);color:#fff}.modal-btn-confirm:hover:not(:disabled){background:var(--rcm-dark-rust)}.modal-btn-confirm:disabled{background:var(--rcm-btn-primary-bg-disabled);cursor:not-allowed}.modal-btn-close{background:var(--rcm-btn-primary-bg);color:var(--rcm-btn-primary-text);margin-top:1rem}.modal-btn-close:hover{background:var(--rcm-btn-primary-bg-hover)}.modal-result{text-align:center;padding:1rem 0}.modal-result-success p{color:var(--rcm-green);font-weight:500}.modal-result-error p{color:var(--rcm-error);font-weight:500}.login-page{display:flex;align-items:center;justify-content:center;height:100vh;background:var(--rcm-soft-white)}.login-card{text-align:center;background:#fff;border:1px solid #E0DDD7;border-radius:var(--rcm-btn-radius);padding:3rem 2.5rem;max-width:400px;width:90%;box-shadow:0 4px 16px #00000014}.login-title{font-size:var(--rcm-s1-size);font-weight:700;color:var(--rcm-dark-blue);margin-bottom:.75rem}.login-subtitle{font-size:var(--rcm-body1-size);color:var(--rcm-charcoal);margin-bottom:2rem;line-height:1.5}.login-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;height:48px;padding:12px 24px;background:var(--rcm-btn-primary-bg);color:var(--rcm-btn-primary-text);border:none;border-radius:var(--rcm-btn-radius);font-family:var(--rcm-font-family);font-size:var(--rcm-body1-size);font-weight:500;cursor:pointer;transition:background-color .2s ease}.login-btn:hover{background:var(--rcm-btn-primary-bg-hover)}.login-btn:focus-visible{outline:2px solid var(--rcm-btn-primary-bg);outline-offset:2px}:root{--rcm-blue: #002A3A;--rcm-soft-white: #F3F1EC;--rcm-green: #3B5542;--rcm-dark-green: #2F4134;--rcm-rust: #A64121;--rcm-dark-rust: #7B2F13;--rcm-dark-blue: #041A22;--rcm-charcoal: #3A3A3A;--rcm-flat-gold: #B49D77;--rcm-metallic-gold: #84744D;--rcm-error: #A11D2A;--rcm-btn-primary-bg: #08262C;--rcm-btn-primary-bg-hover: #294247;--rcm-btn-primary-bg-disabled: #8C989B;--rcm-btn-primary-text: #FFFFFF;--rcm-btn-secondary-bg: #FFFFFF;--rcm-btn-secondary-bg-hover: #E6E6E6;--rcm-btn-secondary-border: #08262C;--rcm-btn-secondary-text: #08262C;--rcm-btn-radius: 4px;--rcm-btn-gap: 10px;--rcm-font-family: "Inter", system-ui, sans-serif;--rcm-text-color: #08262C;--rcm-body1-size: 16px;--rcm-body2-size: 14px;--rcm-caption-size: 12px;--rcm-s1-size: 24px;--rcm-s2-size: 20px}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;font-family:var(--rcm-font-family);color:var(--rcm-text-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{display:flex;flex-direction:column;height:100vh;background:var(--rcm-soft-white)}.app-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background:var(--rcm-dark-blue);color:#fff;box-shadow:0 2px 8px #00000026}.app-title{font-size:var(--rcm-s2-size);font-weight:700;letter-spacing:0}.app-header-right{display:flex;align-items:center;gap:.75rem}.app-user{font-size:var(--rcm-body2-size);color:var(--rcm-flat-gold);white-space:nowrap}.new-chat-btn{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:8px 20px;background:transparent;color:#fff;border:1px solid #FFFFFF;border-radius:var(--rcm-btn-radius);font-family:var(--rcm-font-family);font-size:var(--rcm-body2-size);font-weight:500;cursor:pointer;transition:background-color .2s ease;white-space:nowrap}.new-chat-btn:hover:not(:disabled){background:#ffffff26}.new-chat-btn:disabled{opacity:.4;cursor:not-allowed}.new-chat-btn:focus-visible{outline:2px solid #FFFFFF;outline-offset:2px}.escalate-btn{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:8px 20px;background:var(--rcm-rust);color:#fff;border:none;border-radius:var(--rcm-btn-radius);font-family:var(--rcm-font-family);font-size:var(--rcm-body2-size);font-weight:500;cursor:pointer;transition:background-color .2s ease;white-space:nowrap}.escalate-btn:hover{background:var(--rcm-dark-rust)}.escalate-btn:focus-visible{outline:2px solid var(--rcm-rust);outline-offset:2px}.suggest-btn{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:8px 20px;background:var(--rcm-flat-gold);color:var(--rcm-dark-blue);border:none;border-radius:var(--rcm-btn-radius);font-family:var(--rcm-font-family);font-size:var(--rcm-body2-size);font-weight:500;cursor:pointer;transition:background-color .2s ease;white-space:nowrap}.suggest-btn:hover{background:#a08d6a}.suggest-btn:focus-visible{outline:2px solid var(--rcm-flat-gold);outline-offset:2px}.signout-btn{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:8px 20px;background:var(--rcm-btn-secondary-bg);color:var(--rcm-btn-secondary-text);border:1px solid var(--rcm-btn-secondary-border);border-radius:var(--rcm-btn-radius);font-family:var(--rcm-font-family);font-size:var(--rcm-body2-size);font-weight:500;cursor:pointer;transition:background-color .2s ease;white-space:nowrap}.signout-btn:hover{background:var(--rcm-btn-secondary-bg-hover)}.signout-btn:focus-visible{outline:2px solid var(--rcm-btn-secondary-border);outline-offset:2px}.app-main{flex:1;overflow:hidden}
