body{color:#f9fafb;margin:0}:root{--bg-primary:#111827;--bg-secondary:#1f2937;--bg-tertiary:#374151;--text-primary:#e5e7eb;--text-secondary:#d1d5db;--text-muted:#9ca3af;--accent-primary:#8b5cf6;--accent-secondary:#a78bfa;--accent-hover:#7c3aed;--border-color:#374151;--error-color:#ef4444;--success-color:#10b981;--info-color:#3b82f6}[data-theme=light]{--bg-primary:#f9fafb;--bg-secondary:#fff;--bg-tertiary:#f3f4f6;--text-primary:#111827;--text-secondary:#374151;--text-muted:#6b7280;--border-color:#e5e7eb}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#111827;background-color:var(--bg-primary);color:#e5e7eb;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;overflow-x:hidden;transition:background-color .3s ease,color .3s ease}.centered-screen{flex-direction:column;min-height:100vh;min-height:100dvh;text-align:center}.centered-screen,.homepage{align-items:center;display:flex;justify-content:center;padding:1rem}.homepage{min-height:100vh}.chat-page{background-color:#111827;background-color:var(--bg-primary);display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden}.admin-panel,.header{padding:1rem}.header{align-items:center;background-color:#1f2937;background-color:var(--bg-secondary);border-bottom:1px solid #374151;border-bottom:1px solid var(--border-color);box-shadow:0 2px 4px #0000001a;display:flex;flex-shrink:0;justify-content:space-between;position:-webkit-sticky;position:sticky;top:0;z-index:10}.header h1{color:#a78bfa;color:var(--accent-secondary);cursor:default;font-size:1.5rem;font-weight:700;-webkit-user-select:none;user-select:none}.prompt-box{background-color:#1f2937;background-color:var(--bg-secondary);border:1px solid #374151;border:1px solid var(--border-color);border-radius:1rem;box-shadow:0 10px 15px -3px #0000001a;max-width:448px;padding:2rem;text-align:center;width:100%}.prompt-box h1{color:#a78bfa;color:var(--accent-secondary);cursor:default;font-size:2.5rem;font-weight:700;margin-bottom:1rem;-webkit-user-select:none;user-select:none}.prompt-box p{color:#d1d5db;color:var(--text-secondary);font-size:1.125rem;margin-bottom:1.5rem}.prompt-box input{background-color:#374151;background-color:var(--bg-tertiary);border:1px solid #374151;border:1px solid var(--border-color);border-radius:.5rem;color:#e5e7eb;color:var(--text-primary);font-size:1rem;margin-bottom:1rem;padding:1rem;width:100%}.prompt-box input:focus{border-color:#0000;outline:2px solid #8b5cf6;outline:2px solid var(--accent-primary)}.prompt-box button{background-color:#8b5cf6;background-color:var(--accent-primary);border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:1.125rem;font-weight:700;padding:1rem 1.5rem;transition:background-color .3s;width:100%}.prompt-box button:hover{background-color:#7c3aed;background-color:var(--accent-hover)}.prompt-box button:disabled{background-color:#9ca3af;background-color:var(--text-muted);cursor:not-allowed}.reset-profile-button{background-color:#9ca3af!important;background-color:var(--text-muted)!important;margin-top:1rem}.reset-profile-button:hover{background-color:#374151!important;background-color:var(--border-color)!important}.loading-animation .loading-dots{align-items:center;display:flex;gap:.75rem;justify-content:center;margin:1.5rem 0}.loading-animation .loading-dots span{animation:loadingFade 1.5s ease-in-out infinite;background-color:#8b5cf6;background-color:var(--accent-primary);border-radius:50%;height:12px;width:12px}.loading-animation .loading-dots span:nth-child(2){animation-delay:.3s}.loading-animation .loading-dots span:nth-child(3){animation-delay:.6s}@keyframes loadingFade{0%,60%,to{opacity:.3;transform:scale(.8)}30%{opacity:1;transform:scale(1.2)}}.homepage-content{background-color:#1f2937;background-color:var(--bg-secondary);border:1px solid #374151;border:1px solid var(--border-color);border-radius:1rem;max-width:800px;padding:2rem}.homepage-content h1{font-size:2.5rem;font-weight:700;margin-bottom:1.5rem;text-align:center}.homepage-content h1,.homepage-content h2{color:#a78bfa;color:var(--accent-secondary)}.homepage-content h2{font-size:1.5rem;margin:2rem 0 1rem}.homepage-content p,.homepage-content ul{color:#d1d5db;color:var(--text-secondary);line-height:1.6;margin-bottom:1.5rem}.homepage-content ul{padding-left:1.5rem}.homepage-form{border-top:1px solid #374151;border-top:1px solid var(--border-color);margin-top:2rem;padding-top:2rem}.checkbox-container{margin-bottom:1.5rem}.checkbox-container label{align-items:flex-start;cursor:pointer;display:flex;gap:.75rem;line-height:1.5}.checkbox-container input[type=checkbox]{accent-color:#8b5cf6;accent-color:var(--accent-primary);cursor:pointer;flex-shrink:0;height:1.25rem;margin-top:.2rem;width:1.25rem}.homepage-form button{background-color:#8b5cf6;background-color:var(--accent-primary);border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:1.125rem;font-weight:700;padding:1rem 1.5rem;transition:background-color .3s;width:100%}.homepage-form button:hover{background-color:#7c3aed;background-color:var(--accent-hover)}.homepage-form button:disabled{background-color:#9ca3af;background-color:var(--text-muted);cursor:not-allowed}.chat-room{-webkit-overflow-scrolling:touch;flex:1 1;overflow-y:auto;padding:1rem}.message-bubble-wrapper{display:flex;flex-direction:column;position:relative}.message-container.sent .message-bubble-wrapper{align-items:flex-end}.message-container.received .message-bubble-wrapper{align-items:flex-start}.dummy-div{height:1px}.message-container{display:flex;gap:.75rem;max-width:90%}.message-container,.message-container.consecutive{margin-bottom:.25rem}.message-container.sent{justify-content:flex-end;margin-left:auto}.message-container.received{justify-content:flex-start;margin-right:auto}.message-inner{align-items:flex-start;display:flex;gap:.75rem;position:relative}.message-container.sent .message-inner{flex-direction:row-reverse}.message-inner img{border-radius:50%;flex-shrink:0;height:40px;width:40px}.message-bubble{word-wrap:break-word;align-items:flex-start;border-radius:1.25rem;color:#e5e7eb;color:var(--text-primary);cursor:pointer;display:flex;flex-direction:column;max-width:-webkit-fit-content;max-width:fit-content;padding:.75rem 1rem;position:relative;transition:border-radius .2s ease-in-out}.reaction-hint-icon{align-items:center;background-color:#1f2937;background-color:var(--bg-secondary);border:1px solid #374151;border:1px solid var(--border-color);border-radius:50%;box-shadow:0 1px 3px #0003;display:flex;justify-content:center;opacity:0;padding:3px;pointer-events:none;position:absolute;top:50%;transition:opacity .2s ease,transform .2s ease}.message-bubble.sent .reaction-hint-icon{left:-18px;transform:translateY(-50%) scale(.8)}.message-bubble.received .reaction-hint-icon{right:-18px;transform:translateY(-50%) scale(.8)}.reaction-hint-icon svg{color:#9ca3af;color:var(--text-muted);height:16px;width:16px}@media (hover:hover){.message-bubble:hover .reaction-hint-icon{opacity:1;transform:translateY(-50%) scale(1)}}.emoji-picker-popup{background-color:#1f2937;background-color:var(--bg-secondary);border-radius:1rem;box-shadow:0 4px 12px #00000026;display:flex;gap:.5rem;left:0;padding:.5rem;position:absolute;top:-3.5rem;z-index:6}.message-container.sent .emoji-picker-popup{left:auto;right:0}.emoji-picker-popup span{cursor:pointer;font-size:1.5rem;transition:transform .2s ease}.emoji-picker-popup span:hover{transform:scale(1.25)}.reactions-display{display:flex;gap:.25rem;margin-top:-.75rem;padding:0 .5rem;z-index:4}.reaction-chip{align-items:center;background-color:#374151;background-color:var(--bg-tertiary);border:1px solid #374151;border:1px solid var(--border-color);border-radius:999px;box-shadow:0 1px 2px #0000001a;display:flex;font-size:.75rem;gap:.25rem;padding:2px 8px}.message-bubble.sent{align-items:flex-end;background-color:#8b5cf6;background-color:var(--accent-primary);color:#fff}.message-bubble.received{background-color:#374151;background-color:var(--bg-tertiary)}.message-bubble p{margin:0}.display-name{color:#9ca3af;color:var(--text-muted);font-size:.8rem;font-weight:600;margin-bottom:.25rem;padding:0 .5rem}.typing-indicator{align-items:center;display:flex;gap:.3rem;padding:.75rem 1rem}.typing-indicator span{animation:typing-bounce 1.2s ease-in-out infinite;background-color:#9ca3af;background-color:var(--text-muted);border-radius:50%;height:8px;width:8px}.typing-indicator span:nth-of-type(2){animation-delay:.2s}.typing-indicator span:nth-of-type(3){animation-delay:.4s}@keyframes typing-bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-4px)}}.system-message{border-radius:1rem;color:#fff;font-size:.875rem;font-style:italic;margin:1rem auto;max-width:80%;padding:.75rem 1rem;text-align:center}.system-message.connection{background-color:#10b981;background-color:var(--success-color)}.system-message.disconnection{background-color:#ef4444;background-color:var(--error-color)}.system-message.info{background-color:#3b82f6;background-color:var(--info-color);font-style:normal}.chat-ended-actions,.message-form{grid-gap:1rem;background-color:#1f2937;background-color:var(--bg-secondary);border-top:1px solid #374151;border-top:1px solid var(--border-color);display:grid;flex-shrink:0;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));padding:.75rem .75rem max(.75rem,env(safe-area-inset-bottom))}.message-form{display:flex;gap:.5rem}.message-form input{background-color:#374151;background-color:var(--bg-tertiary);border:1px solid #374151;border:1px solid var(--border-color);border-radius:9999px;color:#e5e7eb;color:var(--text-primary);flex:1 1;font-size:16px;min-height:44px;min-width:0;padding:.75rem 1.25rem}.message-form input:focus{border-color:#0000;outline:2px solid #8b5cf6;outline:2px solid var(--accent-primary)}.message-form button{align-items:center;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:44px;justify-content:center;min-width:44px;transition:all .2s ease;width:44px}.message-form .send-button{background-color:#8b5cf6;background-color:var(--accent-primary)}.message-form .send-button:hover{background-color:#7c3aed;background-color:var(--accent-hover)}.message-form .send-button:disabled{background-color:#9ca3af;background-color:var(--text-muted);cursor:not-allowed}.message-form .end-chat-button{background-color:#ef4444;background-color:var(--error-color)}.message-form .announcement-button{background-color:#3b82f6;background-color:var(--info-color)}.message-form button svg{height:20px;width:20px}.chat-ended-actions{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.chat-ended-actions button{align-items:center;border:none;border-radius:.5rem;cursor:pointer;display:flex;font-weight:600;justify-content:center;padding:.875rem 1.5rem;transition:all .2s ease;width:100%}.next-stranger-button{background-color:#8b5cf6;background-color:var(--accent-primary);color:#fff}.back-home-button{background-color:#374151;background-color:var(--bg-tertiary);color:#e5e7eb;color:var(--text-primary)}.message-form .vibe-check-button{background-color:#f59e0b;font-size:1.2rem}.system-message.poll{background-color:#374151;background-color:var(--bg-tertiary);border-left:4px solid #8b5cf6;border-left:4px solid var(--accent-primary);color:#e5e7eb;color:var(--text-primary);max-width:90%;text-align:left;width:100%}.poll-question{font-style:normal;font-weight:700;margin-bottom:1rem}.poll-options{display:flex;flex-direction:column;gap:.5rem}.poll-option{background-color:#1f2937;background-color:var(--bg-secondary);border:1px solid #374151;border:1px solid var(--border-color);border-radius:.5rem;cursor:pointer;overflow:hidden;padding:.75rem;position:relative;text-align:left;transition:background-color .2s;width:100%}.poll-option.voted{cursor:not-allowed}.poll-option:not(.voted):hover{background-color:#374151;background-color:var(--bg-tertiary)}.poll-option-fill{background-color:#8b5cf6;background-color:var(--accent-primary);height:100%;left:0;opacity:.3;position:absolute;top:0;transition:width .5s ease;z-index:0}.poll-option-percentage,.poll-option-text{color:#e5e7eb;color:var(--text-primary);position:relative;z-index:1}.poll-option-percentage{float:right;font-weight:700}.poll-modal-overlay{align-items:center;background-color:#000000b3;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1000}.poll-modal{background-color:#1f2937;background-color:var(--bg-secondary);border:1px solid #374151;border:1px solid var(--border-color);border-radius:1rem;max-width:500px;width:100%}.poll-modal-header{align-items:center;border-bottom:1px solid #374151;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:1.5rem}.poll-modal-header h3{color:#a78bfa;color:var(--accent-secondary)}.poll-modal-content{padding:1.5rem}.poll-modal-content p{color:#9ca3af;color:var(--text-muted);margin-bottom:1.5rem;text-align:center}.poll-list{display:flex;flex-direction:column;gap:1rem}.poll-item{align-items:center;background:#374151;background:var(--bg-tertiary);border-radius:.5rem;display:flex;justify-content:space-between;padding:1rem}.poll-item button{background-color:#8b5cf6;background-color:var(--accent-primary);border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-weight:600;padding:.5rem 1rem;transition:background-color .2s}.poll-item button:hover{background-color:#7c3aed;background-color:var(--accent-hover)}.notification-toast{border-radius:.5rem;box-shadow:0 4px 12px #00000026;color:#fff;max-width:350px;padding:1rem 1.5rem;position:fixed;right:20px;top:20px;z-index:2000}.notification-toast.success{background-color:#10b981;background-color:var(--success-color)}.notification-toast.error{background-color:#ef4444;background-color:var(--error-color)}.notification-toast.info{background-color:#3b82f6;background-color:var(--info-color)}.confirm-dialog-overlay{align-items:center;background-color:#000000b3;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1000}.confirm-dialog{background-color:#1f2937;background-color:var(--bg-secondary);border-radius:1rem;max-width:400px;padding:2rem;text-align:center;width:100%}.confirm-dialog-buttons{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.confirm-dialog button{border:none;border-radius:.5rem;cursor:pointer;font-weight:500;padding:.75rem 1.5rem}.cancel-button{background-color:#9ca3af;background-color:var(--text-muted);color:#fff}.confirm-button{background-color:#ef4444;background-color:var(--error-color);color:#fff}.announcement-banner{background:linear-gradient(135deg,#8b5cf6,#a78bfa);background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));color:#fff;flex-shrink:0;padding:.5rem 1rem;text-align:center}.announcement-content{gap:.75rem}.announcement-content,.announcement-modal-overlay{align-items:center;display:flex;justify-content:center}.announcement-modal-overlay{background-color:#000000b3;inset:0;padding:1rem;position:fixed;z-index:1000}.announcement-modal{background-color:#1f2937;background-color:var(--bg-secondary);border:1px solid #374151;border:1px solid var(--border-color);border-radius:1rem;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}.announcement-modal-header{align-items:center;border-bottom:1px solid #374151;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:1.5rem}.close-button{background:none;border:none;color:#9ca3af;color:var(--text-muted);cursor:pointer;font-size:1.5rem}.announcement-modal-content{padding:1.5rem}.announcement-modal-content textarea{background-color:#374151;background-color:var(--bg-tertiary);border:1px solid #374151;border:1px solid var(--border-color);border-radius:.5rem;color:#e5e7eb;color:var(--text-primary);padding:.75rem;resize:vertical;width:100%}.char-count{color:#9ca3af;color:var(--text-muted);font-size:.875rem;margin-top:.5rem;text-align:right}.modal-subtitle{color:#d1d5db;color:var(--text-secondary);line-height:1.5;margin-bottom:1.5rem;text-align:center}.announcement-pricing{background-color:#374151;background-color:var(--bg-tertiary);border:1px solid #374151;border:1px solid var(--border-color);border-radius:.5rem;margin:1.5rem 0;padding:1rem;text-align:center}.announcement-pricing p{margin:.25rem 0}.modal-button{border:none;border-radius:.5rem;cursor:pointer;font-size:1rem;font-weight:600;padding:.875rem 1.5rem;transition:all .2s ease;width:100%}.modal-button.primary{background-color:#8b5cf6;background-color:var(--accent-primary)}.modal-button.primary:hover{background-color:#7c3aed;background-color:var(--accent-hover)}.modal-button:disabled{background-color:#9ca3af;background-color:var(--text-muted);cursor:not-allowed}.payment-info{display:flex;gap:1rem;margin-bottom:1.5rem}.payment-method{background-color:#374151;background-color:var(--bg-tertiary);border:1px solid #374151;border:1px solid var(--border-color);border-radius:.5rem;flex:1 1;padding:1rem;text-align:center}.payment-method h5{color:#a78bfa;color:var(--accent-secondary);margin-bottom:.75rem}.payment-method .payment-number{font-weight:600;letter-spacing:1px}.payment-method .payment-name{color:#9ca3af;color:var(--text-muted);font-size:.875rem}.payment-instructions{color:#d1d5db;color:var(--text-secondary);margin-bottom:1.5rem}.payment-instructions ol{line-height:1.6;padding-left:1.25rem}.announcement-preview{margin-bottom:1.5rem}.announcement-preview h5{color:#e5e7eb;color:var(--text-primary);margin-bottom:.75rem}.preview-banner{word-wrap:break-word;background:#374151;background:var(--bg-tertiary);border-left:4px solid #8b5cf6;border-left:4px solid var(--accent-primary);border-radius:.5rem;font-style:italic;padding:1rem}.modal-button-group{display:flex;gap:1rem;margin-top:2rem}.modal-button.back{background-color:#374151;background-color:var(--bg-tertiary);color:#e5e7eb;color:var(--text-primary)}.modal-button.submit{background-color:#10b981;background-color:var(--success-color);color:#fff}.maintenance-message{background:linear-gradient(135deg,#8b5cf6,#a78bfa);background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-secondary) 100%);border-radius:12px;color:#fff;margin-bottom:1.5rem;overflow:hidden;padding:2rem 1rem;position:relative;text-align:center}.maintenance-message:before{animation:shimmer 3s infinite;background:linear-gradient(45deg,#0000 30%,#ffffff1a 50%,#0000 70%);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.maintenance-message h4{font-size:1.5rem;font-weight:700;margin:0 0 1rem;text-shadow:0 2px 4px #0000004d}.maintenance-message p{font-size:1rem;line-height:1.6;margin:0 0 .75rem;opacity:.95}.maintenance-subtitle{font-size:.9rem!important;font-style:italic;margin-top:1rem!important;opacity:.8!important}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.modal-button.primary{background:linear-gradient(135deg,#10b981,#059669);background:linear-gradient(135deg,var(--success-color) 0,#059669 100%);border:none;border-radius:8px;box-shadow:0 4px 12px #10b9814d;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:all .3s ease}.modal-button.primary:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 6px 20px #10b98166;transform:translateY(-2px)}.modal-button.primary:active{box-shadow:0 2px 8px #10b9814d;transform:translateY(0)}[data-theme=dark] .maintenance-message{background:linear-gradient(135deg,#7c3aed,#8b5cf6);background:linear-gradient(135deg,var(--accent-hover) 0,var(--accent-primary) 100%);box-shadow:0 8px 32px #8b5cf64d}[data-theme=light] .maintenance-message{background:linear-gradient(135deg,#8b5cf6,#a78bfa);background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-secondary) 100%);box-shadow:0 8px 32px #8b5cf633}@media (max-width:480px){.maintenance-message{margin-bottom:1rem;padding:1.5rem 1rem}.maintenance-message h4{font-size:1.25rem}.maintenance-message p{font-size:.9rem}}.maintenance-message h4:before{animation:pulse 2s infinite;content:"🚧";display:inline-block;margin-right:.5rem}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.theme-toggle{align-items:center;background:#374151;background:var(--bg-tertiary);border:1px solid #374151;border:1px solid var(--border-color);border-radius:50%;color:#e5e7eb;color:var(--text-primary);cursor:pointer;display:flex;height:3rem;justify-content:center;position:fixed;right:1rem;top:1rem;width:3rem;z-index:100}.header .theme-toggle{position:static}.admin-panel{background-color:#111827;background-color:var(--bg-primary);display:flex;flex-direction:column;min-height:100vh}.admin-header{align-items:center;border-bottom:1px solid #374151;border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;justify-content:center;margin-bottom:2.5rem;margin-left:auto;margin-right:auto;max-width:900px;padding:1.5rem;width:100%}.admin-header h2{color:#a78bfa;color:var(--accent-secondary);font-size:1.75rem}.admin-content-container{flex-grow:1;margin:0 auto;max-width:900px;padding:0 1.5rem;width:100%}.admin-content h3{color:#d1d5db;color:var(--text-secondary);font-size:1.25rem;margin-bottom:1.5rem}.admin-footer{flex-shrink:0;padding:1rem}.logout-button{-webkit-tap-highlight-color:transparent;-webkit-appearance:none;appearance:none;background-color:#ef4444;background-color:var(--error-color);border:1px solid #ef4444;border:1px solid var(--error-color);border-radius:.5rem;color:#fff;cursor:pointer;display:block;font-weight:600;margin:0 auto;max-width:300px;min-height:44px;padding:.75rem 1.5rem;text-align:center;touch-action:manipulation;transition:all .2s ease;-webkit-user-select:none;user-select:none;width:100%}.logout-button:active,.logout-button:hover{background-color:#dc2626;border-color:#dc2626;transform:translateY(-2px)}@media (max-width:768px){.logout-button{font-size:1rem;margin:1rem auto;min-height:48px;padding:1rem 1.5rem}.admin-footer{background-color:#111827;background-color:var(--bg-primary);bottom:0;padding:1.5rem;position:-webkit-sticky;position:sticky}}.request-card{background:#1f2937;background:var(--bg-secondary);border:1px solid #374151;border:1px solid var(--border-color);border-radius:.75rem;margin-bottom:1.5rem;overflow:hidden;padding:1.5rem;transition:transform .2s ease,box-shadow .2s ease}.request-card:hover{box-shadow:0 8px 25px #0000001a;transform:translateY(-4px)}.request-header{align-items:center;border-bottom:1px solid #374151;border-bottom:1px solid var(--border-color);display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.request-time{color:#9ca3af;color:var(--text-muted);flex-shrink:0;font-size:.875rem}.request-price{background-color:#10b981;background-color:var(--success-color);border-radius:9999px;color:#fff;font-size:.875rem;font-weight:600;padding:.25rem .75rem}.request-message{word-wrap:break-word;background:#374151;background:var(--bg-tertiary);border-left:4px solid #8b5cf6;border-left:4px solid var(--accent-primary);border-radius:.5rem;color:#e5e7eb;color:var(--text-primary);font-size:1.1rem;font-style:italic;line-height:1.6;margin-bottom:1.5rem;padding:1rem;white-space:pre-wrap}.request-details{color:#9ca3af;color:var(--text-muted);font-size:.9rem;margin-bottom:1.5rem}.request-actions{display:flex;gap:1rem;justify-content:flex-end}.approve-button,.reject-button{border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.approve-button{background-color:#10b981;background-color:var(--success-color)}.approve-button:hover{background-color:#059669;transform:translateY(-2px)}.reject-button{background-color:#ef4444;background-color:var(--error-color)}.reject-button:hover{background-color:#dc2626;transform:translateY(-2px)}.no-requests{background:#1f2937;background:var(--bg-secondary);border:2px dashed #374151;border:2px dashed var(--border-color);border-radius:.75rem;color:#9ca3af;color:var(--text-muted);padding:3rem;text-align:center}@media (max-width:768px){.admin-panel{padding:1rem}.admin-header{flex-direction:column;gap:1rem;text-align:center}.request-header{align-items:flex-start;flex-direction:column;gap:.5rem}.request-actions{flex-direction:column;gap:.75rem}.approve-button,.reject-button{width:100%}}@media (min-width:768px){.homepage{padding:2rem}.homepage-content{padding:3rem}.admin-panel{padding:2rem}.chat-ended-actions,.message-form{bottom:0;box-shadow:none;padding-bottom:.75rem;position:-webkit-sticky;position:sticky;z-index:10}.chat-room{padding-bottom:1rem}.message-container{max-width:70%}}@media (max-width:360px){.message-form .announcement-button{display:none}}