.btn{padding:12px 24px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--color-primary-purple);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-purple-dark)}.btn-secondary{background:var(--color-bg-gray-100);color:var(--color-text-primary)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-gray-200)}.btn-link{background:none;padding:0;color:var(--color-primary-purple);text-decoration:none}.btn-link:hover:not(:disabled){text-decoration:underline}.btn-icon{background:none;padding:8px;color:var(--color-text-placeholder);border-radius:6px;min-width:auto}.btn-icon:hover:not(:disabled){background:var(--color-bg-gray-100);color:var(--color-text-quaternary)}.btn-full-width,.input-wrapper{width:100%}.input{width:100%;padding:12px 16px;border:1px solid var(--color-border-light);border-radius:8px;font-size:14px;transition:border-color .2s;background:var(--color-bg-white);color:var(--color-text-primary);box-sizing:border-box}.input:focus{outline:none;border-color:var(--color-primary-purple)}.input:disabled{background:var(--color-bg-gray-100);cursor:not-allowed;opacity:.6}.input::placeholder{color:var(--color-text-placeholder)}.input-error{border-color:var(--color-red-badge)}.input-error:focus{border-color:var(--color-red-badge)}.input-error-message{display:block;margin-top:4px;font-size:12px;color:var(--color-red-badge)}.form-group{margin-bottom:16px;width:100%}.form-label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:var(--color-text-primary)}.form-required{color:var(--color-red-badge);margin-left:4px}.form-helper-text{margin-top:8px;font-size:12px;color:var(--color-text-secondary);line-height:1.5}.form-error-text{margin-top:4px;font-size:12px;color:var(--color-red-badge)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.modal-overlay-inline{position:absolute;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:var(--color-bg-white);border-radius:12px;box-shadow:0 8px 32px var(--color-shadow-dark);max-height:90vh;overflow-y:auto;position:relative;display:flex;flex-direction:column}.modal-small{width:100%;max-width:400px}.modal-medium{width:100%;max-width:500px}.modal-large{width:100%;max-width:700px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--color-border-light)}.modal-title{font-size:20px;font-weight:600;color:var(--color-text-primary);margin:0}.modal-close-btn{background:none;border:none;font-size:28px;line-height:1;color:var(--color-text-quaternary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.modal-close-btn:hover{background:var(--color-bg-gray-100);color:var(--color-text-primary)}.modal-body{padding:24px;flex:1;overflow-y:auto}.alert{padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px;line-height:1.5}.alert-error{background:#fee;color:#c33;border:1px solid #fcc}.alert-warning{background:#fffbeb;color:#92400e;border:1px solid #fed7aa}.alert-info{background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe}.alert-success{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.rap-auth-container{max-width:500px;margin:0 auto;padding:40px 30px;background:var(--color-bg-white);height:100%}.rap-auth-header{margin-bottom:10px}.rap-auth-header h2{font-size:24px;font-weight:600;color:var(--color-text-primary);margin:0 0 8px}.rap-auth-header h3{font-size:18px;font-weight:500;color:var(--color-text-tertiary);margin:0}.rap-auth-subtitle{font-size:14px;color:var(--color-text-quaternary);margin:4px 0 0}.rap-auth-text{font-size:14px;color:var(--color-text-tertiary);line-height:1.6;margin-bottom:24px}.text-highlight{color:var(--color-red-error);font-weight:600}.alert-spacing{margin-top:8px}.rap-auth-message{padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px;line-height:1.5}.rap-auth-message.error{background:var(--color-red-light);color:var(--color-red-error-dark);border:1px solid var(--color-red-lighter)}.rap-auth-message.warning{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.rap-auth-message.success{background:#d1fae5;color:#065f46;border:1px solid #a7f3d0}.rap-auth-form{display:flex;flex-direction:column;gap:5px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:14px;font-weight:500;color:var(--color-text-tertiary)}.form-group input{padding:10px 14px;border:1px solid var(--color-border-gray);border-radius:6px;font-size:14px;color:var(--color-text-primary);transition:all .2s}.form-group input:focus{outline:none;border-color:var(--color-primary-purple-dark);box-shadow:0 0 0 3px #3730a31a}.form-group input:disabled{background:var(--color-bg-gray-100);cursor:not-allowed}.form-helper-text{font-size:13px;color:var(--color-text-quaternary);line-height:1.5;margin:0}.form-divider{text-align:center;color:var(--color-text-placeholder);font-size:14px;position:relative;margin:10px 0}.form-divider:before,.form-divider:after{content:"";position:absolute;top:50%;width:45%;height:1px;background:var(--color-border-light)}.form-divider:before{left:0}.form-divider:after{right:0}.form-checkbox{display:flex;align-items:flex-start;gap:10px}.form-checkbox input[type=checkbox]{margin-top:2px;width:18px;height:18px;cursor:pointer}.form-checkbox label{font-size:14px;color:var(--color-text-tertiary);cursor:pointer;line-height:1.5}.verification-code-inputs{display:flex;gap:10px;justify-content:center;margin:20px 0}.code-input{width:50px;height:60px;text-align:center;font-size:24px;font-weight:600;border:2px solid var(--color-border-gray);border-radius:8px;transition:all .2s}.code-input:focus{outline:none;border-color:var(--color-primary-purple-dark);box-shadow:0 0 0 3px #3730a31a}.code-input:disabled{background:var(--color-bg-gray-100)}.rap-btn{padding:12px 24px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;border:none;width:100%}.rap-btn-primary{background:var(--color-blue-dark);color:#fff;margin-bottom:10px}.start-conversation-modal .button-group .rap-btn-primary{margin-bottom:0}.rap-btn-primary:hover:not(:disabled){background:var(--color-primary-purple-darker);transform:translateY(-1px)}.rap-btn-primary:disabled{background:var(--color-border-gray);cursor:not-allowed;transform:none}.rap-btn-secondary{background:var(--color-bg-white);color:var(--color-text-tertiary);border:1px solid var(--color-border-gray)}.rap-btn-secondary:hover:not(:disabled){background:var(--color-bg-gray-50);border-color:var(--color-border-gray-dark)}.rap-link-btn{background:none;border:none;color:var(--color-primary-purple-dark);text-decoration:underline;cursor:pointer;font-size:14px;padding:0}.rap-link-btn:hover:not(:disabled){color:var(--color-primary-purple-darker)}.rap-link-btn:disabled{color:var(--color-text-placeholder);cursor:not-allowed}.rap-auth-footer-link{text-align:center;font-size:14px;color:var(--color-text-quaternary);margin:16px 0 0}.rap-auth-support{text-align:center;font-size:12px;color:var(--color-text-placeholder);margin-top:32px;padding-top:20px;padding-bottom:10px;border-top:1px solid var(--color-border-light)}.finish-conversation-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:var(--color-shadow-overlay);display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.finish-conversation-modal{background:var(--color-bg-white);border-radius:12px;max-width:500px;width:100%;padding:30px;box-shadow:0 20px 60px var(--color-shadow-dark);border:1px solid var(--color-text-primary)}.finish-conversation-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.finish-conversation-close-btn{background:none;border:none;font-size:24px;color:var(--color-text-primary);cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;line-height:1;transition:color .2s}.finish-conversation-close-btn:hover:not(:disabled){color:var(--color-text-quaternary)}.finish-conversation-close-btn:disabled{cursor:not-allowed;opacity:.5}.finish-conversation-content{margin-bottom:24px}.finish-conversation-question{font-size:14px;color:var(--color-text-primary);line-height:1.6;margin:0 0 12px}.finish-conversation-question strong{font-weight:600}.finish-conversation-info{font-size:14px;color:var(--color-text-primary);line-height:1.6;margin:0}.finish-conversation-buttons{display:flex;flex-direction:row;gap:12px;justify-content:flex-end}.finish-conversation-buttons .rap-btn{width:auto;min-width:100px}.finish-conversation-buttons .rap-btn-secondary{background:var(--color-bg-white);color:var(--color-blue-dark);border:1px solid var(--color-border-gray)}.finish-conversation-buttons .rap-btn-secondary:hover:not(:disabled){background:var(--color-bg-gray-50);border-color:var(--color-border-gray-dark)}.finish-conversation-buttons .rap-btn-primary{background:var(--color-blue-dark);color:#fff;margin-bottom:0}.start-conversation-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:var(--color-shadow-overlay);display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.start-conversation-modal{background:var(--color-bg-white);border-radius:12px;max-width:500px;width:100%;padding:30px;box-shadow:0 20px 60px var(--color-shadow-dark);border:1px solid var(--color-text-primary)}.multiple-matches-text{margin-bottom:10px;font-size:14px;color:var(--color-text-primary);line-height:1.6}.multiple-matches-text p{margin:0 0 8px;font-size:13px}.multiple-matches-text p:last-child{margin-bottom:0}.multiple-matches-text strong{font-weight:600}.rating-stars{display:flex;gap:8px;justify-content:center;margin:12px 0}.star-btn{background:none;border:none;font-size:32px;color:var(--color-border-gray);cursor:pointer;transition:all .2s;padding:4px}.star-btn.active{color:#fbbf24}.star-btn:hover:not(:disabled){color:#fbbf24;transform:scale(1.1)}.star-btn:disabled{cursor:not-allowed}.feedback-textarea{width:100%;padding:10px 14px;border:1px solid var(--color-border-gray);border-radius:6px;font-size:14px;font-family:inherit;color:var(--color-text-primary);resize:vertical;transition:all .2s}.feedback-textarea:focus{outline:none;border-color:var(--color-primary-purple-dark);box-shadow:0 0 0 3px #3730a31a}.feedback-textarea:disabled{background:var(--color-bg-gray-100);cursor:not-allowed}.button-group{display:flex;flex-direction:column;gap:12px}@media (max-width: 640px){.rap-auth-container{padding:30px 20px}.rap-auth-header h2{font-size:20px}.verification-code-inputs{gap:6px}.code-input{width:40px;height:50px;font-size:20px}.finish-conversation-modal{padding:20px}.star-btn{font-size:28px}}:root{--color-primary-purple: #6366f1;--color-primary-purple-dark: #3730a3;--color-primary-purple-darker: #312e81;--color-primary-purple-accent: #4A37B0;--color-red-primary: #B23B2B;--color-red-badge: #ef4444;--color-red-badge-dark: #D83A00;--color-red-error: #dc2626;--color-red-error-dark: #991b1b;--color-red-light: #fee2e2;--color-red-lighter: #fecaca;--color-blue-dark: #1e3a8a;--color-blue-light: #E8EDF9;--color-text-primary: #111827;--color-text-secondary: #181818;--color-text-tertiary: #374151;--color-text-quaternary: #6b7280;--color-text-placeholder: #9ca3af;--color-text-time: #666666;--color-bg-white: #ffffff;--color-bg-gray-50: #f9fafb;--color-bg-gray-100: #f3f4f6;--color-bg-gray-200: #f5f5f5;--color-bg-gray-300: #f0f0f0;--color-border-light: #e5e7eb;--color-border-gray: #d1d5db;--color-border-gray-dark: #9ca3af;--color-shadow-light: rgba(0, 0, 0, .1);--color-shadow-medium: rgba(0, 0, 0, .15);--color-shadow-dark: rgba(0, 0, 0, .2);--color-shadow-overlay: rgba(0, 0, 0, .5);--color-message-sent-bg: var(--color-blue-dark);--color-message-received-bg: var(--color-red-light);--color-message-sender-name: var(--color-red-primary);--color-message-time: var(--color-text-time);--color-message-time-sent: rgba(255, 255, 255, .8);--filter-logo-red: brightness(0) saturate(100%) invert(26%) sepia(100%) saturate(1400%) hue-rotate(345deg) brightness(95%) contrast(90%);--filter-logo-purple: brightness(0) saturate(100%) invert(30%) sepia(90%) saturate(2000%) hue-rotate(230deg) brightness(85%) contrast(90%);--filter-logo-disabled: brightness(0) saturate(100%) invert(80%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(95%) contrast(90%)}
