*,*:before,*:after{box-sizing:border-box}:root{--color-primary: #DE1A83;--color-accent: #F98E2D;--color-background: #121212;--color-surface: #1E1E1E;--color-text-primary: #E0E0E0;--color-text-secondary: #9E9E9E;--color-success: #4CAF50;--color-error: #FF5252;--font-family-primary: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-size-display: 1.75rem;--font-size-heading: 1.25rem;--font-size-subheading: 1rem;--font-size-body: 1rem;--font-size-label: .875rem;--font-size-caption: .75rem;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--border-radius-sm: 4px;--border-radius-md: 8px;--border-radius-lg: 16px}body{margin:0;background-color:var(--color-background);color:var(--color-text-primary);font-family:var(--font-family-primary);font-size:var(--font-size-body);font-weight:var(--font-weight-regular);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-surface)}::-webkit-scrollbar-thumb{background:#555;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#777}.app-container{display:flex;flex-direction:column;min-height:100vh;max-width:600px;width:100%;margin:0 auto;background-color:var(--color-background);position:relative}.main-content{flex-grow:1;overflow-y:auto;display:flex;flex-direction:column}.sidebar-toggle-button{position:absolute;top:20px;left:15px;z-index:10;background-color:transparent;border:none;border-radius:0;width:auto;height:auto;font-size:var(--font-size-heading);cursor:pointer;box-shadow:none;display:flex;justify-content:center;align-items:center;padding:var(--spacing-sm);color:var(--color-text-primary)}.sidebar-toggle-button:hover{background-color:#ffffff1a}.end-user-chat-page{display:flex;flex-direction:column;flex-grow:1;background-color:transparent;padding:0}.chat-header-final{padding:var(--spacing-lg) var(--spacing-md);background-color:transparent;flex-shrink:0;display:flex;align-items:center;justify-content:center;min-height:50px;position:relative;z-index:1001;width:100%}.chat-title-final{font-size:var(--font-size-heading);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0;flex:1;text-align:center;position:static;transform:none}.header-controls{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0}.app-icon{width:26px;height:26px;border-radius:var(--border-radius-sm);object-fit:contain}.chat-area{flex-grow:1;overflow-y:auto;padding:20px 15px 120px;display:flex;flex-direction:column;background-color:transparent;flex:1 1 auto;transition:padding-bottom .2s ease;height:calc(100vh - 260px);scroll-behavior:smooth;-webkit-overflow-scrolling:touch;position:relative}.end-user-chat-page .chat-area.with-smart-replies{padding-bottom:160px}.messages-list{display:flex;flex-direction:column;gap:12px;padding-bottom:100px;width:100%;margin-top:auto;justify-content:flex-end}.assistant-prompt-container{flex-grow:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding-bottom:230px;padding-top:50px;margin-top:auto}.main-prompt-message{font-size:var(--font-size-display);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);text-align:center;max-width:90%;line-height:1.4;margin:0}.share-link-description{color:var(--color-text-secondary);text-align:center;max-width:90%;margin-top:var(--spacing-md);font-size:var(--font-size-body);line-height:1.5}.bottom-controls-container{position:fixed;bottom:0;left:0;right:0;background-color:var(--color-background);padding:15px;display:flex;flex-direction:column;gap:8px;z-index:1000}.suggested-questions-container{background-color:transparent;padding:0 0 15px}.chat-input-form{background-color:var(--color-surface);padding:15px;border-radius:var(--border-radius-lg);box-shadow:0 -1px 4px #0000004d;display:flex;align-items:center}.smart-replies-container{position:fixed;bottom:var(--bottom-controls-height, 100px);left:0;right:0;background-color:var(--color-background);padding:8px 15px;z-index:1001;display:flex;align-items:center;justify-content:flex-start;transition:bottom .2s ease}.smart-replies{display:flex;justify-content:flex-start;gap:12px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;padding:5px 0;width:100%}.smart-replies::-webkit-scrollbar{display:none}.smart-reply-button{background-color:var(--color-surface);border:1px solid rgba(255,255,255,.2);border-radius:20px;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-label);color:var(--color-text-primary);cursor:pointer;white-space:nowrap;flex-shrink:0;transition:all .2s ease;box-shadow:0 1px 3px #0000004d;font-weight:var(--font-weight-medium)}.smart-reply-button:hover{background-color:#ffffff1a;border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-1px);box-shadow:0 2px 6px #0006}.smart-reply-button:active{transform:translateY(0);box-shadow:0 1px 3px #0000001a}.smart-reply-button:disabled{opacity:.6;cursor:not-allowed;transform:none;background-color:var(--color-surface);color:var(--color-text-secondary);border-color:#ffffff1a}.smart-reply-button:disabled:hover{background-color:var(--color-surface);border-color:#ffffff1a;color:var(--color-text-secondary);transform:none;box-shadow:0 1px 3px #0000004d}.loading-container,.error-container{display:flex;justify-content:center;align-items:center;height:100vh;font-size:var(--font-size-heading);color:var(--color-text-secondary)}.error-container{color:var(--color-error)}.new-chat-button{position:static;transform:none;background:none;border:none;cursor:pointer;padding:var(--spacing-sm);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);transition:all .2s ease;width:44px;height:44px}.new-chat-button:hover{background-color:#ffffff1a;color:var(--color-text-primary)}.new-chat-button svg{width:25px;height:25px}.ai-typing-indicator{color:var(--color-text-secondary);background-color:var(--color-surface);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--border-radius-lg);margin:var(--spacing-xs) 0;max-width:80px;min-height:44px;display:flex;align-items:center;justify-content:center;border-bottom-left-radius:4px;border-top-left-radius:var(--border-radius-lg);border-top-right-radius:var(--border-radius-lg);border-bottom-right-radius:var(--border-radius-lg);border:1px solid rgba(255,255,255,.2)}.typing-assistant-name{font-size:var(--font-size-caption);color:var(--color-text-secondary);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-xs);opacity:.8;align-self:flex-start}.message-container.ai{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;padding:var(--spacing-xs) var(--spacing-md);margin:var(--spacing-sm) 0}.typing-dots{display:inline-flex;align-items:center;gap:3px}.dot{width:6px;height:6px;border-radius:50%;animation:typingBounce 1.4s infinite ease-in-out}.dot:nth-child(1){background-color:#e7008a;animation-delay:0s}.dot:nth-child(2){background-color:#f98e2d;animation-delay:.2s}.dot:nth-child(3){background-color:#e7008a;animation-delay:.4s}@keyframes typingBounce{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}@keyframes typingIndicatorPulse{0%{opacity:1}25%{opacity:1}35%{opacity:1}45%{opacity:1}55%{opacity:0}75%{opacity:0}85%{opacity:1}90%{opacity:1}to{opacity:1}}@media (min-width: 768px){.end-user-chat-page,.chat-header-final,.chat-area{max-width:800px;margin:0 auto}.messages-list{max-width:800px;margin-left:auto;margin-right:auto}.bottom-controls-container,.smart-replies-container{max-width:800px;left:50%;transform:translate(-50%)}}.inline-auth-widget{background-color:var(--color-surface);border:1px solid rgba(255,255,255,.1);border-radius:var(--border-radius-sm);padding:var(--spacing-md);margin:var(--spacing-sm) 0;max-width:100%;font-family:var(--font-family-primary)}.auth-step{width:100%}.auth-form{display:flex;flex-direction:column;gap:var(--spacing-sm)}.step-info{margin-bottom:var(--spacing-sm)}.step-info p{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-label);text-align:center}.input-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.input-group label{font-size:var(--font-size-label);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin:0}.phone-input,.otp-input{width:100%;padding:var(--spacing-sm) var(--spacing-sm);border:1px solid rgba(255,255,255,.2);border-radius:var(--border-radius-sm);font-size:16px;font-family:var(--font-family-primary);transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box;background-color:var(--color-background);color:var(--color-text-primary)}.phone-input:focus,.otp-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #de1a8333}.phone-input:disabled,.otp-input:disabled{background-color:var(--color-surface);opacity:.7;cursor:not-allowed}.otp-input{text-align:center;letter-spacing:2px;font-weight:var(--font-weight-medium)}#recaptcha-container{display:flex;justify-content:center;margin:var(--spacing-sm) 0}#recaptcha-container>div{transform-origin:0 0;width:100%!important}@media (max-width: 480px){#recaptcha-container>div{transform:scale(.85)}}.auth-button{padding:var(--spacing-sm) var(--spacing-md);border-radius:6px;font-size:var(--font-size-body);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .2s ease;border:2px solid var(--color-primary);min-height:44px;font-family:var(--font-family-primary);display:flex;align-items:center;justify-content:center;gap:8px;width:100%}.auth-button.primary{background-color:#de1a830d;color:var(--color-primary);border:2px solid var(--color-primary)}.auth-button.primary:hover:not(:disabled){background-color:#de1a8326;transform:translateY(-1px)}.auth-button.primary:disabled{background-color:transparent;color:var(--color-text-secondary);border-color:var(--color-text-secondary);cursor:not-allowed;transform:none}.auth-button.secondary{background-color:transparent;color:var(--color-text-secondary);border:1px solid rgba(255,255,255,.2)}.auth-button.secondary:hover:not(:disabled){background-color:var(--color-surface);color:var(--color-text-primary)}.auth-button.secondary:disabled{opacity:.5;cursor:not-allowed}.button-group{display:flex;gap:var(--spacing-sm);flex-direction:column;margin-top:var(--spacing-md)}@media (min-width: 480px){.button-group{flex-direction:row;justify-content:space-between}.button-group .auth-button{flex:1}}.auth-message{margin-top:12px;padding:8px 12px;border-radius:6px;font-size:.9rem;text-align:center}.auth-message.success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.auth-message.error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.auth-button:disabled{position:relative}.auth-button:disabled:after{content:"";position:absolute;left:50%;top:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite;opacity:0}.auth-button.primary:disabled:after{opacity:1}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 480px){.inline-auth-widget{padding:12px;margin:6px 0}.phone-input,.otp-input{padding:12px;font-size:16px}.auth-button{padding:12px 16px;min-height:48px;border-radius:6px}}.inline-payment-widget{background-color:var(--color-surface);border:1px solid rgba(255,255,255,.1);border-radius:var(--border-radius-sm);padding:var(--spacing-md);margin:var(--spacing-sm) 0;max-width:100%;font-family:var(--font-family-primary)}.payment-summary{text-align:center;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid rgba(255,255,255,.1)}.payment-summary h3{margin:0 0 var(--spacing-sm) 0;color:var(--color-text-primary);font-size:var(--font-size-h3, 1.25rem)}.payment-description{margin:0 0 var(--spacing-sm) 0;color:var(--color-text-secondary);font-size:var(--font-size-body, 1rem)}.payment-amount{font-size:32px;font-weight:var(--font-weight-bold, 700);color:var(--color-primary);margin:var(--spacing-sm) 0}.mock-notice{font-size:var(--font-size-small, .875rem);color:orange;background-color:#ffa5001a;border:1px solid rgba(255,165,0,.3);border-radius:var(--border-radius-sm, 4px);padding:var(--spacing-xs, .5rem);margin-top:var(--spacing-sm)}.payment-form{display:flex;flex-direction:column;gap:var(--spacing-md, 1rem)}.input-group{display:flex;flex-direction:column;gap:var(--spacing-xs, .5rem);position:relative}.input-group label{font-size:var(--font-size-label, .875rem);font-weight:var(--font-weight-medium, 500);color:var(--color-text-primary);margin:0}.payment-input{width:100%;padding:var(--spacing-sm, .75rem);border:1px solid rgba(255,255,255,.2);border-radius:var(--border-radius-sm, 4px);font-size:16px;font-family:var(--font-family-primary);transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box;background-color:var(--color-background);color:var(--color-text-primary)}.payment-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #de1a8333}.payment-input:disabled{background-color:var(--color-surface);opacity:.7;cursor:not-allowed}.card-number-input{letter-spacing:2px;font-weight:var(--font-weight-medium, 500)}.card-brand-badge{position:absolute;right:var(--spacing-sm);top:50%;transform:translateY(-50%);font-size:var(--font-size-small, .875rem);color:var(--color-text-secondary);background-color:#ffffff0d;padding:2px 8px;border-radius:4px;pointer-events:none;margin-top:12px}.input-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm, .75rem)}.payment-error{padding:var(--spacing-sm);background-color:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);border-radius:var(--border-radius-sm, 4px);color:#ff6b6b;font-size:var(--font-size-small, .875rem);text-align:center}.payment-actions{display:flex;gap:var(--spacing-sm, .75rem);margin-top:var(--spacing-sm)}.payment-button{flex:1;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-sm, 4px);font-size:var(--font-size-body, 1rem);font-weight:var(--font-weight-medium, 500);cursor:pointer;transition:all .2s ease;border:none;display:flex;align-items:center;justify-content:center;gap:8px}.payment-button.primary{background-color:var(--color-primary);color:#fff}.payment-button.primary:hover:not(:disabled){background-color:var(--color-primary-dark, #b91c73);transform:translateY(-1px);box-shadow:0 4px 8px #0003}.payment-button.secondary{background-color:transparent;border:1px solid rgba(255,255,255,.2);color:var(--color-text-primary)}.payment-button.secondary:hover:not(:disabled){border-color:#fff6;background-color:#ffffff0d}.payment-button:disabled{opacity:.5;cursor:not-allowed}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.secure-badge{text-align:center;font-size:var(--font-size-small, .875rem);color:var(--color-text-secondary);padding:var(--spacing-xs);margin-top:var(--spacing-xs)}@media (max-width: 480px){.payment-amount{font-size:28px}.payment-actions{flex-direction:column}.input-row{grid-template-columns:1fr}}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.inline-payment-widget{animation:slideIn .3s ease-out}.message-container{display:flex;flex-direction:column;max-width:80%;flex-shrink:0;white-space:pre-wrap;word-wrap:break-word}.message-bubble{padding:var(--spacing-md);word-wrap:break-word;line-height:1.5;white-space:normal;position:relative;font-size:var(--font-size-body)}.user-message{justify-content:flex-end;margin-left:auto}.user-message .message-bubble{background-color:var(--color-primary);color:#fff;border-bottom-right-radius:4px;border-top-right-radius:var(--border-radius-lg);border-top-left-radius:var(--border-radius-lg);border-bottom-left-radius:var(--border-radius-lg);border:none}.ai-message{justify-content:flex-start;margin-right:auto}.ai-message .message-bubble{background-color:var(--color-surface);color:var(--color-text-primary);border-bottom-left-radius:4px;border-top-left-radius:var(--border-radius-lg);border-top-right-radius:var(--border-radius-lg);border-bottom-right-radius:var(--border-radius-lg);border:1px solid rgba(255,255,255,.1)}.system-message{justify-content:center;margin:8px 0}.system-message .message-bubble{background-color:var(--color-surface);color:var(--color-success);font-size:var(--font-size-label);padding:var(--spacing-sm) var(--spacing-sm);border-radius:var(--border-radius-sm);border:1px solid var(--color-success);text-align:center;font-weight:var(--font-weight-medium);max-width:fit-content}.auth-widget-container{margin-top:var(--spacing-sm);padding:0;border-radius:var(--border-radius-sm);background-color:transparent}.message-container.ai-message.auth-message{max-width:90%}.message-container.ai-message.auth-message .message-bubble{margin-bottom:var(--spacing-sm)}.message-bubble p{margin:0;line-height:inherit}.message-bubble p:not(:last-child){margin-bottom:var(--spacing-sm)}.message-bubble h1,.message-bubble h2,.message-bubble h3,.message-bubble h4,.message-bubble h5,.message-bubble h6{margin:var(--spacing-sm) 0;font-weight:var(--font-weight-semibold);line-height:1.25}.message-bubble h1:first-child,.message-bubble h2:first-child,.message-bubble h3:first-child,.message-bubble h4:first-child,.message-bubble h5:first-child,.message-bubble h6:first-child{margin-top:0}.message-bubble h1:last-child,.message-bubble h2:last-child,.message-bubble h3:last-child,.message-bubble h4:last-child,.message-bubble h5:last-child,.message-bubble h6:last-child{margin-bottom:0}.message-bubble ul,.message-bubble ol{margin:var(--spacing-sm) 0;padding-left:1.5rem;line-height:1.5}.message-bubble ul:first-child,.message-bubble ol:first-child{margin-top:0}.message-bubble ul:last-child,.message-bubble ol:last-child{margin-bottom:0}.message-bubble li{margin-bottom:.25rem;line-height:1.5}.message-bubble li:last-child{margin-bottom:0}.message-bubble li>ul,.message-bubble li>ol{margin-top:.25rem;margin-bottom:.25rem}.message-bubble strong{font-weight:var(--font-weight-semibold)}.message-bubble em{font-style:italic}.message-bubble code{background-color:#ffffff1a;color:var(--color-text-primary);padding:.125rem .25rem;border-radius:.25rem;font-size:.875em;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace}.message-bubble pre{background-color:#ffffff0d;color:var(--color-text-primary);padding:var(--spacing-md);border-radius:.375rem;overflow-x:auto;margin:var(--spacing-sm) 0;border-left:.25rem solid var(--color-primary)}.message-bubble pre code{background-color:transparent;padding:0;border-radius:0}.message-bubble pre:first-child{margin-top:0}.message-bubble pre:last-child{margin-bottom:0}.message-bubble blockquote{margin:var(--spacing-sm) 0;padding-left:var(--spacing-md);border-left:.25rem solid var(--color-primary);font-style:italic;color:var(--color-text-secondary)}.message-bubble blockquote:first-child{margin-top:0}.message-bubble blockquote:last-child{margin-bottom:0}.message-bubble a{color:var(--color-primary);text-decoration:underline}.message-bubble a:hover{opacity:.8}.message-bubble hr{margin:var(--spacing-md) 0;border:none;height:1px;background-color:#fff3}.user-message .message-bubble code{background-color:#fff3;color:#ffffffe6}.user-message .message-bubble pre{background-color:#ffffff1a;color:#ffffffe6;border-left-color:#ffffff80}.user-message .message-bubble blockquote{border-left-color:#ffffff80;color:#fffc}.user-message .message-bubble a{color:#ffffffe6}.user-message .message-bubble hr{background-color:#ffffff4d}.message-file-attachments{display:flex;flex-direction:column;gap:8px;margin-top:12px}.file-attachment-link{display:flex;align-items:center;gap:12px;padding:12px;background:#ffffff0d;border-radius:10px;text-decoration:none;transition:all .2s cubic-bezier(.16,1,.3,1);border:1px solid rgba(255,255,255,.1);max-width:320px}.file-attachment-link:hover{background:#ffffff14;transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.file-attachment-link:active{transform:translateY(0)}.file-attachment-icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#de1a8326;border-radius:8px;color:var(--color-primary)}.file-attachment-info{flex:1;min-width:0}.file-attachment-name{font-size:.875rem;font-weight:500;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-attachment-size{font-size:.75rem;color:var(--color-text-secondary);margin-top:2px}.user-message .file-attachment-link{background:#ffffff26;border-color:#fff3}.user-message .file-attachment-link:hover{background:#ffffff40}.user-message .file-attachment-icon{background:#fff3;color:#fff}.user-message .file-attachment-name{color:#fff}.user-message .file-attachment-size{color:#fffc}.image-lightbox-overlay{position:fixed;inset:0;background-color:#000000f5;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;animation:lightbox-fade-in .3s cubic-bezier(.16,1,.3,1);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}@keyframes lightbox-fade-in{0%{opacity:0;backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px)}to{opacity:1;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}}.image-lightbox-container{position:relative;max-width:95vw;max-height:95vh;animation:lightbox-zoom-in .4s cubic-bezier(.16,1,.3,1)}@keyframes lightbox-zoom-in{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.image-lightbox-top-bar{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:20px;z-index:11;gap:16px;opacity:1;transition:opacity .3s ease,transform .3s ease;pointer-events:auto}.image-lightbox-top-bar.hidden{opacity:0;transform:translateY(-20px);pointer-events:none}.image-lightbox-top-bar.visible{opacity:1;transform:translateY(0);pointer-events:auto}.image-lightbox-counter{background:#000000b3;color:#fff;padding:10px 18px;border-radius:24px;font-size:.9rem;font-weight:600;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.image-lightbox-close{background:#000000b3;border:2px solid rgba(255,255,255,.4);color:#fff;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);flex-shrink:0;-webkit-tap-highlight-color:transparent;box-shadow:0 4px 12px #0006}.image-lightbox-close:hover{background:#000000d9;border-color:#fff9;transform:scale(1.1) rotate(90deg)}.image-lightbox-close:active{transform:scale(.95) rotate(90deg)}.image-lightbox-close svg{width:24px;height:24px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}height: 24px; } .image-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:#000000b3;border:1px solid rgba(255,255,255,.15);color:#fff;width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:10;opacity:1;-webkit-tap-highlight-color:transparent}.image-lightbox-nav.hidden{opacity:0;pointer-events:none}.image-lightbox-nav.visible{opacity:1;pointer-events:auto}.image-lightbox-nav:hover{background:#000000d9;border-color:#ffffff40;transform:translateY(-50%) scale(1.1)}.image-lightbox-nav:active{transform:translateY(-50%) scale(.95)}.image-lightbox-nav-prev{left:24px}.image-lightbox-nav-next{right:24px}.image-lightbox-content{position:relative;display:flex;align-items:center;justify-content:center;max-width:100%;max-height:95vh;overflow:hidden;-webkit-user-select:none;user-select:none}.image-lightbox-img{max-width:100%;max-height:90vh;width:auto;height:auto;object-fit:contain;border-radius:16px;box-shadow:0 30px 80px -20px #000c;animation:image-appear .4s cubic-bezier(.16,1,.3,1) .1s both;transform-origin:center center}@keyframes image-appear{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.image-lightbox-caption{position:absolute;bottom:20px;left:50%;transform:translate(-50%);color:#fff;background:#0009;padding:8px 16px;border-radius:20px;font-size:.875rem;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);white-space:nowrap;max-width:90vw;overflow:hidden;text-overflow:ellipsis;z-index:5}.image-lightbox-hint{position:absolute;bottom:70px;left:50%;transform:translate(-50%);color:#ffffffb3;background:#0006;padding:6px 12px;border-radius:16px;font-size:.75rem;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:hint-fade-in .3s ease-in .5s both;pointer-events:none}@keyframes hint-fade-in{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media (max-width: 768px){.image-lightbox-overlay{padding:0}.image-lightbox-top-bar{padding:16px;flex-wrap:wrap;gap:12px}.image-lightbox-counter{padding:12px 20px;font-size:.85rem}.image-lightbox-close{width:52px;height:52px}.image-lightbox-close svg{width:26px;height:26px}.image-lightbox-nav{width:72px;height:72px}.image-lightbox-nav svg{width:36px;height:36px}.image-lightbox-nav-prev{left:16px}.image-lightbox-nav-next{right:16px}.image-lightbox-img{max-height:85vh;border-radius:12px}.image-lightbox-caption{bottom:16px;font-size:.8rem;padding:10px 16px}.image-lightbox-hint{bottom:80px;font-size:.8rem;padding:10px 16px}}@media (hover: none) and (pointer: coarse){.image-lightbox-close:hover{background:#ffffff26;transform:none}.image-lightbox-close:active{background:#ffffff4d;transform:scale(.95)}.image-lightbox-nav:hover{background:#000000b3;transform:translateY(-50%)}.image-lightbox-nav:active{background:#000000d9;transform:translateY(-50%) scale(.95)}}.image-gallery{margin-top:12px;width:fit-content;max-width:100%}.image-gallery-grid{display:grid;gap:3px;border-radius:8px;overflow:hidden}.image-gallery-grid-single{grid-template-columns:1fr;max-width:120px}.image-gallery-grid-single .image-gallery-item{width:120px;height:120px}.image-gallery-grid-double{grid-template-columns:repeat(2,1fr);max-width:160px}.image-gallery-grid-double .image-gallery-item{width:78px;height:78px}.image-gallery-grid-triple{grid-template-columns:repeat(2,1fr);max-width:160px}.image-gallery-grid-triple .image-gallery-item:first-child{grid-row:span 2;width:78px;height:160px}.image-gallery-grid-triple .image-gallery-item:not(:first-child){width:78px;height:78px}.image-gallery-grid-multiple{grid-template-columns:repeat(2,1fr);max-width:160px}.image-gallery-grid-multiple .image-gallery-item{width:78px;height:78px}.image-gallery-grid-multiple .image-gallery-item:nth-child(n+5){display:none}.image-gallery-item{position:relative;overflow:hidden;cursor:pointer;background:linear-gradient(135deg,#f0f0f0,#e8e8e8);transition:all .25s cubic-bezier(.16,1,.3,1);border-radius:6px;display:flex;align-items:center;justify-content:center}.image-gallery-item:hover{transform:scale(1.05);z-index:1;box-shadow:0 4px 12px #00000026}.image-gallery-item:active{transform:scale(.95)}.image-gallery-item:focus-visible{outline:3px solid #DE1A83;outline-offset:2px}.image-gallery-thumbnail{width:100%;height:100%;object-fit:cover;object-position:center center;display:block;transition:transform .3s cubic-bezier(.16,1,.3,1)}.image-gallery-item:hover .image-gallery-thumbnail{transform:scale(1.05)}.image-gallery-overlay{position:absolute;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .25s ease;pointer-events:none;border-radius:6px}.image-gallery-item:hover .image-gallery-overlay{opacity:1}.image-gallery-zoom-icon{color:#fff;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4));width:20px;height:20px;transform:scale(.8);transition:transform .25s cubic-bezier(.16,1,.3,1)}.image-gallery-item:hover .image-gallery-zoom-icon{transform:scale(1)}.image-gallery-count{position:absolute;bottom:3px;right:3px;background:#000c;color:#fff;padding:2px 5px;border-radius:6px;font-size:.6rem;font-weight:600;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);pointer-events:none;line-height:1}.image-gallery-caption{display:none}.image-gallery-thumbnail{animation:image-fade-in .3s ease-in}@keyframes image-fade-in{0%{opacity:0}to{opacity:1}}@media (max-width: 768px){.image-gallery{margin-top:10px}.image-gallery-grid{gap:2px}}@media (max-width: 480px){.image-gallery{margin-top:10px}.image-gallery-grid{gap:2px}.image-gallery-grid-single{max-width:100px}.image-gallery-grid-single .image-gallery-item{width:100px;height:100px}.image-gallery-grid-double{max-width:140px}.image-gallery-grid-double .image-gallery-item{width:69px;height:69px}.image-gallery-grid-triple,.image-gallery-grid-multiple{max-width:140px}.image-gallery-grid-triple .image-gallery-item:first-child{width:69px;height:140px}.image-gallery-grid-triple .image-gallery-item:not(:first-child){width:69px;height:69px}.image-gallery-grid-multiple .image-gallery-item{width:69px;height:69px}.image-gallery-zoom-icon{width:16px;height:16px}}@media (hover: none) and (pointer: coarse){.image-gallery-item:hover,.image-gallery-item:hover .image-gallery-thumbnail{transform:none}.image-gallery-overlay{opacity:0}.image-gallery-item:active .image-gallery-overlay{opacity:1}}@media (prefers-contrast: more){.image-gallery-item{border:2px solid currentColor}.image-gallery-overlay{background:#000000b3}}@media (prefers-reduced-motion: reduce){.image-gallery-item,.image-gallery-thumbnail,.image-gallery-overlay,.image-gallery-zoom-icon{transition:none}.image-gallery-item:hover,.image-gallery-item:hover .image-gallery-thumbnail{transform:none}.image-gallery-thumbnail{animation:none}}.chat-input-form{display:flex;align-items:flex-end}.chat-input-field{flex-grow:1;border:none;border-radius:0;box-shadow:none;background-color:transparent;padding:var(--spacing-md) var(--spacing-xs) var(--spacing-md) var(--spacing-xs);font-size:var(--font-size-body);margin-right:var(--spacing-sm);outline:none;color:var(--color-text-primary);line-height:1.4;font-family:var(--font-family-primary);resize:none;overflow:hidden;word-wrap:break-word;white-space:pre-wrap;min-height:calc(1.4em + 2 * var(--spacing-md));max-height:200px}.chat-input-field::placeholder{color:var(--color-text-secondary);opacity:1}.chat-input-field:focus{outline:none}.chat-send-button{background-color:var(--color-primary);color:#fff;border:2px solid var(--color-primary);border-radius:50%;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:all .2s ease}.chat-send-button:hover:not(:disabled){background-color:var(--color-accent);border-color:var(--color-accent)}.chat-send-button:disabled{background-color:var(--color-surface);border:2px solid rgba(255,255,255,.2);color:var(--color-text-secondary);opacity:.8;cursor:not-allowed}.chat-send-button svg{vertical-align:middle}.toast-notification{position:fixed;top:16px;left:50%;transform:translate(-50%);background-color:#111111f2;color:var(--color-text-primary);padding:10px 14px;border-radius:var(--border-radius-md);font-size:.95rem;font-weight:var(--font-weight-medium);box-shadow:0 10px 20px #00000059;z-index:5000;pointer-events:none;animation:toastFadeInUp .2s ease-out,toastFadeOut .3s ease-in 3.7s forwards}.toast-warning{border:1px solid rgba(250,204,21,.35)}@keyframes toastFadeInUp{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes toastFadeOut{to{opacity:0}}@media (min-width: 768px){.chat-input-form{max-width:800px}}.suggested-questions-container{padding:0 6px 15px;flex-shrink:0;width:100%;overflow-y:hidden;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.suggested-questions-container::-webkit-scrollbar{display:none}.suggested-questions-list{display:flex;flex-direction:row;gap:8px;padding:4px 0;width:fit-content;align-items:center}.suggested-question-button{background-color:var(--color-surface);color:var(--color-text-primary);border:1px solid rgba(255,255,255,.2);border-radius:20px;padding:8px 16px;font-size:.85em;font-weight:400;cursor:pointer;transition:background-color .2s ease,transform .1s ease,border-color .2s ease;text-align:left;white-space:normal;word-wrap:break-word;flex-shrink:0;margin:0;height:auto;max-height:60px;min-height:40px;width:auto;max-width:320px;min-width:180px;display:flex;flex-direction:column;justify-content:center;line-height:1.3;overflow:hidden;box-shadow:0 1px 3px #0000004d}.suggested-question-button:hover{background-color:#ffffff1a;border-color:var(--color-primary);transform:translateY(-1px);box-shadow:0 2px 6px #0006}.suggested-question-button:active{transform:scale(.98) translateY(0);box-shadow:0 1px 3px #0000004d}.question-primary{font-weight:600;color:var(--color-text-primary);display:block;line-height:1.2;white-space:nowrap}.question-secondary{font-weight:400;color:var(--color-text-secondary);font-size:.9em;display:block;line-height:1.2;margin-top:2px;white-space:nowrap}.suggested-question-button.disabled{opacity:.5;cursor:not-allowed;background-color:#ffffff08;border-color:#ffffff1a}.suggested-question-button.disabled:hover{background-color:#ffffff08;border-color:#ffffff1a;transform:none;box-shadow:0 1px 3px #0000004d}.suggested-question-button.disabled:active{transform:none}@media (min-width: 768px){.suggested-questions-container{max-width:800px;margin:0 auto}}.verification-banner{position:fixed;bottom:80px;left:16px;right:16px;color:#fff;border-radius:var(--border-radius-lg, 12px);box-shadow:var(--shadow-lg, 0 4px 12px rgba(0, 0, 0, .15));z-index:2600;animation:bannerSlideUp .3s ease}.verification-banner.status-pending{background-color:var(--color-primary, #DE1A83)}.verification-banner.status-denied{background-color:#ef4444}.verification-banner-content{display:flex;align-items:center;justify-content:space-between;padding:12px 16px}.verification-banner-info{display:flex;align-items:center;gap:12px;flex:1}.verification-banner-icon{font-size:18px;flex-shrink:0}.verification-banner-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.verification-banner-title{font-size:.95rem;font-weight:600;margin:0}.verification-banner-message{font-size:.85rem;opacity:.9;margin:0;line-height:1.3}.verification-banner-dismiss{background:none;border:none;color:#fff;font-size:1.25rem;cursor:pointer;padding:4px;margin-left:12px;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease;flex-shrink:0}.verification-banner-dismiss:hover{background-color:#fff3}@keyframes bannerSlideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 480px){.verification-banner{bottom:80px;left:12px;right:12px}.verification-banner-content{padding:10px 12px}.verification-banner-title{font-size:.9rem}.verification-banner-message{font-size:.8rem}}.sidebar{position:fixed;top:0;left:0;width:280px;height:100%;background-color:var(--color-surface);border-right:1px solid rgba(255,255,255,.1);box-shadow:2px 0 5px #00000080;transform:translate(-100%);transition:transform .3s ease-in-out;z-index:1000;display:flex;flex-direction:column;padding-bottom:var(--spacing-lg)}.sidebar.open{transform:translate(0)}.sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid rgba(255,255,255,.1);background-color:var(--color-background)}.sidebar-header h2{margin:0;font-size:var(--font-size-heading);color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.close-button{background:none;border:none;font-size:var(--font-size-display);cursor:pointer;color:var(--color-text-secondary);padding:0 var(--spacing-sm);line-height:1}.close-button:hover{color:var(--color-text-primary)}.conversation-list{list-style:none;padding:0;margin:var(--spacing-sm) 0 0 0;overflow-y:auto;flex-grow:1}.conversation-item button{display:block;width:100%;padding:var(--spacing-sm) var(--spacing-lg);text-align:left;background:none;border:none;border-bottom:1px solid rgba(255,255,255,.1);cursor:pointer;font-size:var(--font-size-body);color:var(--color-text-primary);transition:background-color .2s ease;font-family:var(--font-family-primary)}.conversation-item button:hover{background-color:#ffffff1a}.conversation-item:last-child button{border-bottom:none}.no-conversations{padding:var(--spacing-lg);text-align:center;color:var(--color-text-secondary);font-style:italic;font-family:var(--font-family-primary)}.sidebar-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0006;opacity:0;visibility:hidden;transition:opacity .3s ease-in-out,visibility .3s ease-in-out;z-index:999}.sidebar-overlay.open{opacity:1;visibility:visible}
