*{box-sizing:border-box}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;--primary-color: #007bff;--primary-hover: #0056b3;--secondary-color: #6c757d;--secondary-hover: #545b62;--success-color: #28a745;--danger-color: #dc3545;--warning-color: #ffc107;--info-color: #17a2b8;--text-primary: #333;--text-secondary: #666;--text-muted: #999;--bg-primary: #ffffff;--bg-secondary: #f8f9fa;--bg-light: #f0f0f0;--border-color: #e1e5e9;--border-light: #eee;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;padding:0;min-height:100vh;color:var(--text-primary);background-color:var(--bg-primary)}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600;line-height:1.2;color:var(--text-primary)}p{margin:0 0 1rem;line-height:1.5}a{color:var(--primary-color);text-decoration:none}a:hover{color:var(--primary-hover);text-decoration:underline}input,textarea,select{font-family:inherit;font-size:inherit}button{font-family:inherit;cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mt-0{margin-top:0}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}@media (max-width: 768px){:root{font-size:14px}}@media (max-width: 480px){:root{font-size:13px}}.error-message{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-radius:6px;margin:1rem 0;font-size:.9rem;line-height:1.4}.error-message.error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.error-message.warning{background:#fff3cd;border:1px solid #ffeaa7;color:#856404}.error-message.info{background:#d1ecf1;border:1px solid #bee5eb;color:#0c5460}.error-content{display:flex;align-items:center;gap:.5rem;flex:1}.error-icon{font-size:1.1rem;flex-shrink:0}.error-text{flex:1}.btn{padding:.5rem 1rem;border:none;border-radius:4px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease;flex-shrink:0}.btn-small{padding:.375rem .75rem;font-size:.8rem}@media (max-width: 480px){.error-message{flex-direction:column;align-items:stretch;gap:.75rem}.error-content{justify-content:center;text-align:center}.btn{width:100%}}.message-form{padding:2rem}.message-form.success{text-align:center;padding:3rem 2rem}.success-message{display:flex;flex-direction:column;align-items:center;gap:1rem}.success-icon{width:60px;height:60px;background:#28a745;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700}.success-message h3{margin:0;color:#28a745;font-size:1.5rem}.success-message p{margin:0;color:#666}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#333}.form-group input,.form-group textarea{width:100%;padding:.75rem;border:2px solid #e1e5e9;border-radius:6px;font-size:1rem;font-family:inherit;transition:border-color .2s ease;box-sizing:border-box}.char-counter{text-align:right;margin-top:.25rem;font-size:.875rem;color:#666}.char-counter .warning{color:#dc3545;font-weight:500}.checkbox-label{display:flex!important;align-items:center;gap:.5rem;cursor:pointer;font-weight:400!important}.checkbox-label input[type=checkbox]{width:auto!important;margin:0}.help-text{margin:.5rem 0 0;font-size:.875rem;color:#666;line-height:1.4}.privacy-notice{background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;padding:1rem;margin-bottom:1.5rem}.privacy-notice p{margin:0;font-size:.875rem;color:#495057;line-height:1.4}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1rem;border-top:1px solid #eee}.btn{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:100px}.btn-secondary:hover:not(:disabled){background:#545b62}@media (max-width: 768px){.message-form{padding:1.5rem}.form-actions{flex-direction:column-reverse}.btn{width:100%}}@media (max-width: 480px){.message-form,.success-message{padding:1rem}.success-icon{width:50px;height:50px;font-size:1.5rem}.success-message h3{font-size:1.25rem}}.user-messages{max-width:600px;margin:0 auto;padding:1rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.messages-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #e5e7eb}.messages-header h3{margin:0;color:#1f2937}.refresh-btn{background:#6b7280;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.8rem;transition:background .2s ease}.refresh-btn:disabled{opacity:.5;cursor:not-allowed}.loading{text-align:center;padding:2rem;color:#6b7280}.error-message{background:#fee2e2;color:#991b1b;padding:1rem;border-radius:8px;margin-bottom:1rem;border:1px solid #fca5a5}.messages-container{min-height:400px;max-height:500px;overflow-y:auto;margin-bottom:1rem}.no-messages{text-align:center;padding:3rem 1rem;color:#6b7280}.no-messages p{margin:0;font-size:1rem}.messages-list{display:flex;flex-direction:column;gap:1rem;padding:1rem 0}.message-bubble{max-width:80%;padding:1rem;border-radius:12px;position:relative}.message-bubble.incoming{align-self:flex-start;background:#f3f4f6;border:1px solid #e5e7eb;margin-right:auto}.message-bubble.outgoing{align-self:flex-end;background:#3b82f6;color:#fff;margin-left:auto}.message-bubble.filtered{background:#fef2f2;border:1px solid #fca5a5;color:#991b1b}.message-content{line-height:1.5;margin-bottom:.5rem;word-wrap:break-word}.message-meta{display:flex;justify-content:space-between;align-items:center;font-size:.7rem;opacity:.8;gap:.5rem}.message-bubble.outgoing .message-meta{color:#fffc}.message-time{white-space:nowrap}.message-sender{font-weight:600}.filtered-indicator{background:#ef44441a;color:#991b1b;padding:.2rem .4rem;border-radius:8px;font-size:.6rem;font-weight:600}.message-input-container{border-top:1px solid #e5e7eb;padding-top:1rem}.message-input-wrapper{border:1px solid #d1d5db;border-radius:8px;background:#fff;overflow:hidden}.message-input{width:100%;border:none;padding:1rem;resize:vertical;min-height:80px;font-family:inherit;font-size:.9rem;line-height:1.5;outline:none}.message-input:focus{outline:none}.message-input-wrapper:focus-within{border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f6}.input-footer{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#f9fafb;border-top:1px solid #e5e7eb}.char-count{font-size:.7rem;color:#6b7280}.send-btn{background:#3b82f6;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.8rem;font-weight:600;transition:background .2s ease}.send-btn:hover:not(:disabled){background:#2563eb}.send-btn:disabled{background:#9ca3af;cursor:not-allowed}@media (max-width: 768px){.user-messages{padding:.5rem}.message-bubble{max-width:90%}.messages-container{max-height:400px}.message-input{min-height:60px}.input-footer{flex-direction:column;gap:.5rem;align-items:stretch}.send-btn{width:100%}}.privacy-notice-banner{background:#f8f9fa;border:2px solid #007bff;border-radius:8px;margin:1rem 0;overflow:hidden}.privacy-content{padding:1.5rem}.privacy-content h3{margin:0 0 1rem;color:#007bff;font-size:1.25rem}.privacy-content p{margin:0 0 1rem;line-height:1.5;color:#495057}.privacy-content ul{margin:0 0 1rem;padding-left:1.5rem;color:#495057}.privacy-content li{margin-bottom:.25rem}.privacy-actions{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem}.consent-buttons{display:flex;gap:1rem;justify-content:flex-end}.privacy-details{margin-top:1rem;padding-top:1rem;border-top:1px solid #dee2e6}.privacy-details h4{margin:1rem 0 .5rem;color:#333;font-size:1rem}.privacy-details h4:first-child{margin-top:0}.privacy-details ul{margin-bottom:1rem}.privacy-details li{margin-bottom:.5rem;line-height:1.4}.privacy-details strong{color:#007bff}.privacy-status{margin:1rem 0;padding:1rem;background:#f8f9fa;border-radius:6px;border:1px solid #e9ecef}.privacy-summary{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.privacy-icon{font-size:1.1rem}.privacy-text{flex:1;font-size:.9rem;color:#495057}.privacy-details-toggle{margin-top:.5rem}.privacy-details-toggle summary{cursor:pointer;font-size:.875rem;color:#007bff;padding:.25rem 0}.privacy-details-toggle summary:hover{text-decoration:underline}.privacy-info{margin-top:.5rem;padding:.75rem;background:#fff;border-radius:4px;border:1px solid #e9ecef;font-size:.875rem}.privacy-info p{margin:0 0 .5rem;color:#495057}.privacy-info ul{margin:.5rem 0;padding-left:1.25rem}.privacy-info li{margin-bottom:.25rem;color:#6c757d}.privacy-info small{color:#6c757d;line-height:1.3}.btn{padding:.5rem 1rem;border:none;border-radius:4px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-block}.btn-primary:hover{background:#0056b3}.btn-link{background:none;color:#007bff;border:none;padding:.25rem .5rem;text-decoration:underline}.btn-link:hover{color:#0056b3;background:#007bff1a;text-decoration:none}.btn-small{padding:.25rem .75rem;font-size:.8rem}@media (max-width: 768px){.privacy-content{padding:1rem}.consent-buttons{flex-direction:column}.btn{width:100%;text-align:center}.privacy-summary{flex-wrap:wrap}.privacy-text{flex:none;width:100%;margin-bottom:.5rem}}@media (max-width: 480px){.privacy-notice-banner{margin:.5rem 0;border-radius:4px}.privacy-content{padding:.75rem}.privacy-content h3{font-size:1.1rem}.privacy-status{padding:.75rem}.privacy-info{padding:.5rem}}.privacy-status-minimal{margin:.5rem 0;font-size:.8rem;color:#6c757d}.privacy-summary-compact{cursor:pointer;display:flex;align-items:center;gap:.5rem;padding:.5rem 0;color:#6c757d;font-size:.8rem;border:none;background:none}.privacy-summary-compact:hover{color:#495057}.privacy-summary-compact .privacy-icon{font-size:.9rem}.privacy-summary-compact .privacy-text{flex:1}.privacy-status-minimal .privacy-info{margin-top:.75rem;padding:1rem;background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;font-size:.85rem}.privacy-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #e9ecef}.privacy-controls p{margin:0;font-weight:500}@media (max-width: 768px){.privacy-controls{flex-direction:column;align-items:flex-start;gap:.5rem}.privacy-summary-compact{padding:.75rem 0}}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center}.loading-spinner.small{padding:1rem}.loading-spinner.large{padding:3rem}.spinner{border:3px solid #f3f3f3;border-top:3px solid #007bff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.loading-spinner.small .spinner{width:24px;height:24px;border-width:2px;margin-bottom:.5rem}.loading-spinner.medium .spinner{width:40px;height:40px}.loading-spinner.large .spinner{width:60px;height:60px;border-width:4px;margin-bottom:1.5rem}.loading-message{margin:0;color:#666;font-size:1rem}.loading-spinner.small .loading-message{font-size:.875rem}.loading-spinner.large .loading-message{font-size:1.125rem}@media (max-width: 480px){.loading-spinner{padding:1.5rem}.loading-spinner.large{padding:2rem}.loading-spinner.large .spinner{width:50px;height:50px}}.faq-section{max-width:800px;margin:0 auto;padding:1rem}.faq-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem;border-bottom:2px solid #e5e7eb}.faq-title{margin:0;font-size:1.5rem;font-weight:600;color:#1f2937;flex:1;text-align:center}.back-button,.home-button{background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;padding:.5rem 1rem;font-size:.9rem;cursor:pointer;transition:all .2s ease}.back-button:hover,.home-button:hover{background:#e5e7eb;transform:translateY(-1px)}.home-button{font-size:1.2rem;padding:.5rem;min-width:40px}.faq-breadcrumb{display:flex;align-items:center;margin-bottom:1.5rem;font-size:.9rem;color:#6b7280}.breadcrumb-link{color:#3b82f6;cursor:pointer;text-decoration:none}.breadcrumb-link:hover{text-decoration:underline}.breadcrumb-separator{margin:0 .5rem;color:#9ca3af}.breadcrumb-current{color:#1f2937;font-weight:500}.faq-content{min-height:400px}.faq-intro{text-align:center;font-size:1.1rem;color:#4b5563;margin-bottom:2rem;line-height:1.6}.category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-bottom:2rem}.category-button{display:flex;align-items:center;padding:1.5rem;background:#fff;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .3s ease;text-align:left;box-shadow:0 1px 3px #0000001a}.category-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026;border-color:currentColor}.category-icon{font-size:2rem;margin-right:1rem;flex-shrink:0}.category-content{flex:1}.category-name{margin:0 0 .5rem;font-size:1.1rem;font-weight:600;color:#1f2937}.category-description{margin:0;font-size:.9rem;color:#6b7280;line-height:1.4}.category-arrow{font-size:1.2rem;color:#9ca3af;margin-left:1rem;transition:transform .2s ease}.category-button:hover .category-arrow{transform:translate(4px)}.category-description-full{text-align:center;font-size:1rem;color:#6b7280;margin-bottom:2rem;padding:1rem;background:#f9fafb;border-radius:8px}.faq-questions{display:flex;flex-direction:column;gap:.75rem}.faq-question-button{display:flex;align-items:center;justify-content:space-between;padding:1.25rem;background:#fff;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s ease;text-align:left}.faq-question-button:hover{background:#f9fafb;border-color:#3b82f6;transform:translate(4px)}.faq-question-content{flex:1;display:flex;align-items:center;justify-content:space-between}.faq-question{margin:0;font-size:1rem;font-weight:500;color:#1f2937;line-height:1.4}.faq-view-count{font-size:.8rem;color:#6b7280;background:#f3f4f6;padding:.25rem .5rem;border-radius:12px;margin-left:1rem}.faq-arrow{font-size:1.1rem;color:#9ca3af;margin-left:1rem;transition:transform .2s ease}.faq-question-button:hover .faq-arrow{transform:translate(4px);color:#3b82f6}.faq-answer{max-width:600px;margin:0 auto}.faq-question-display{background:#f0f9ff;border:1px solid #0ea5e9;border-radius:8px;padding:1.5rem;margin-bottom:2rem}.faq-question-display h3{margin:0;font-size:1.2rem;color:#0c4a6e;line-height:1.4}.faq-answer-content{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:2rem;margin-bottom:2rem;box-shadow:0 1px 3px #0000001a}.faq-answer-content p{margin:0;font-size:1rem;line-height:1.6;color:#374151}.faq-answer-actions{display:flex;gap:1rem;justify-content:center}.faq-footer{margin-top:3rem;padding-top:2rem;border-top:1px solid #e5e7eb}.still-questions{text-align:center;padding:2rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff}.still-questions h3{margin:0 0 1rem;font-size:1.3rem}.still-questions p{margin:0 0 1.5rem;opacity:.9;line-height:1.5}.still-questions .btn{background:#fff;color:#667eea;border:none;font-weight:600}.still-questions .btn:hover{background:#f8fafc;transform:translateY(-2px)}.btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-block}.btn-primary:hover{background:#2563eb;transform:translateY(-1px)}.btn-secondary:hover{background:#4b5563;transform:translateY(-1px)}@media (max-width: 768px){.faq-section{padding:.5rem}.faq-header{margin-bottom:.75rem;padding-bottom:.75rem}.faq-title{font-size:1.3rem}.category-grid{grid-template-columns:1fr;gap:.75rem}.category-button{padding:1.25rem}.category-icon{font-size:1.5rem;margin-right:.75rem}.faq-question-button{padding:1rem}.faq-answer-actions{flex-direction:column}.still-questions{padding:1.5rem}}@media (max-width: 480px){.faq-breadcrumb{font-size:.8rem}.breadcrumb-separator{margin:0 .25rem}.category-button{flex-direction:column;text-align:center;padding:1rem}.category-icon{margin-right:0;margin-bottom:.5rem}.category-arrow{margin-left:0;margin-top:.5rem}.faq-view-count{margin-left:.5rem;font-size:.7rem}}.popular-questions{margin:2rem 0;padding:1.5rem;background:#f0f9ff;border-radius:12px;border:1px solid #0ea5e9}.popular-questions h3{margin:0 0 1rem;color:#0c4a6e;font-size:1.1rem;text-align:center}.popular-question-buttons{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.popular-question-btn{background:#fff;border:1px solid #0ea5e9;border-radius:20px;padding:.5rem 1rem;font-size:.85rem;color:#0c4a6e;cursor:pointer;transition:all .2s ease}.popular-question-btn:hover{background:#0ea5e9;color:#fff;transform:translateY(-1px)}.follow-up-questions{margin:1.5rem 0;padding:1.5rem;background:#fef3c7;border:1px solid #f59e0b;border-radius:8px}.follow-up-questions h4{margin:0 0 1rem;color:#92400e;font-size:1rem}.follow-up-buttons{display:flex;flex-direction:column;gap:.5rem}.follow-up-btn{background:#fff;border:1px solid #f59e0b;border-radius:6px;padding:.75rem;text-align:left;color:#92400e;cursor:pointer;transition:all .2s ease;font-size:.9rem}.follow-up-btn:hover{background:#f59e0b;color:#fff;transform:translate(4px)}@media (max-width: 768px){.popular-question-buttons{flex-direction:column}.popular-question-btn{text-align:center}.follow-up-buttons{gap:.75rem}}.faq-chatbot-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem}.faq-chatbot{background:#fff;border-radius:16px;box-shadow:0 20px 40px #00000026;width:100%;max-width:500px;height:600px;display:flex;flex-direction:column;overflow:hidden}.chatbot-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1rem;display:flex;justify-content:space-between;align-items:center}.chatbot-title{display:flex;align-items:center;gap:.5rem}.chatbot-icon{font-size:1.5rem}.chatbot-title h3{margin:0;font-size:1.1rem;font-weight:600}.chatbot-status{background:#fff3;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;margin-left:.5rem}.chatbot-controls{display:flex;gap:.5rem}.clear-btn,.close-btn{background:#fff3;border:none;color:#fff;width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:background-color .2s}.clear-btn:hover,.close-btn:hover{background:#ffffff4d}.chatbot-messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1rem}.message{display:flex;flex-direction:column;max-width:80%}.message.user{align-self:flex-end;align-items:flex-end}.message.bot{align-self:flex-start;align-items:flex-start}.message-content{background:#f1f3f4;padding:.75rem 1rem;border-radius:18px;position:relative}.message.user .message-content{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.message-content p{margin:0;line-height:1.4}.message-time{font-size:.75rem;color:#666;margin-top:.25rem;padding:0 .5rem}.suggested-faqs{margin-top:.75rem;display:flex;flex-direction:column;gap:.5rem}.faq-suggestion{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:.75rem;text-align:left;cursor:pointer;transition:all .2s;font-size:.9rem;line-height:1.3}.faq-suggestion:hover{background:#f8f9fa;border-color:#667eea;transform:translateY(-1px)}.faq-suggestion strong{color:#667eea;margin-right:.5rem}.typing-indicator{display:flex;gap:4px;align-items:center}.typing-indicator span{width:8px;height:8px;border-radius:50%;background:#999;animation:typing 1.4s infinite ease-in-out}.typing-indicator span:nth-child(1){animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}.chatbot-input{border-top:1px solid #e0e0e0;padding:1rem}.input-container{display:flex;gap:.5rem;align-items:flex-end}.input-container textarea{flex:1;border:1px solid #e0e0e0;border-radius:20px;padding:.75rem 1rem;resize:none;font-family:inherit;font-size:.9rem;line-height:1.4;max-height:100px;min-height:40px}.input-container textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}.send-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:transform .2s;flex-shrink:0}.send-btn:hover:not(:disabled){transform:scale(1.05)}.send-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.input-hint{font-size:.75rem;color:#666;margin-top:.5rem;text-align:center}@media (max-width: 768px){.faq-chatbot-overlay{padding:0}.faq-chatbot{width:100%;height:100%;border-radius:0;max-width:none}.message{max-width:90%}.chatbot-header{padding:1rem}.chatbot-title h3{font-size:1rem}}.chatbot-messages::-webkit-scrollbar{width:6px}.chatbot-messages::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.chatbot-messages::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.chatbot-messages::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.photo-gallery{margin:2rem 0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.photo-gallery-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #e1e5e9}.photo-gallery-header h3{margin:0;color:#333;font-size:1.5rem}.upload-section{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:12px;padding:2rem;text-align:center;margin-bottom:2rem;transition:all .3s ease}.upload-section:hover{border-color:#007bff;background:#f0f8ff}.upload-section.uploading{border-color:#28a745;background:#f8fff9}.upload-button{background:linear-gradient(135deg,#007bff,#0056b3);color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;transition:all .3s ease;box-shadow:0 2px 8px #007bff4d}.upload-button:hover{transform:translateY(-2px);box-shadow:0 4px 16px #007bff66}.upload-button:disabled{background:#6c757d;cursor:not-allowed;transform:none;box-shadow:none}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;margin-top:2rem}.photo-item{background:#fff;border-radius:16px;box-shadow:0 4px 12px #0000001a;overflow:hidden;transition:all .3s ease;position:relative;min-height:500px;display:flex;flex-direction:column}.photo-item:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000026}.photo-container{position:relative;width:100%;height:300px;overflow:hidden;flex-shrink:0}.photo-thumbnail{width:100%;height:100%;object-fit:cover;cursor:pointer;transition:transform .4s ease}.photo-thumbnail:hover{transform:scale(1.05)}.photo-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000000d9);color:#fff;padding:24px;min-height:120px;transform:translateY(100%);transition:transform .3s ease;display:flex;flex-direction:column;justify-content:flex-end}.photo-item:hover .photo-overlay{transform:translateY(0)}.interaction-stats{display:flex;gap:16px;margin-bottom:16px;font-size:14px;font-weight:500;flex-shrink:0}.stat{display:flex;align-items:center;gap:6px;opacity:.9}.interaction-buttons{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;flex-shrink:0;min-height:48px;align-items:flex-start}.interaction-buttons button{background:#ffffff26;border:1px solid rgba(255,255,255,.25);color:#fff;padding:8px 12px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:40px;display:flex;align-items:center;justify-content:center}.interaction-buttons button:hover{background:#ffffff40;transform:scale(1.05);border-color:#fff6}.like-button.liked{background:#dc3545cc!important;border-color:#dc3545cc!important}.edit-button{background:#ffc107cc!important;border-color:#ffc107cc!important}.request-button{background:#28a745cc!important;border-color:#28a745cc!important}.photo-metadata{padding:16px 20px;background:#fff;flex-grow:1;min-height:60px}.photo-title{margin:0 0 8px;font-size:16px;font-weight:600;color:#333;line-height:1.3}.photo-caption{margin:0;font-size:14px;color:#666;line-height:1.4}.photo-comments{margin-top:16px;padding:16px 20px;background:#f8f9fa;border-top:1px solid #e9ecef}.comment-form{margin-bottom:16px}.comment-input{width:100%;padding:12px;border:1px solid #dee2e6;border-radius:8px;resize:vertical;font-family:inherit;font-size:14px;transition:border-color .3s ease}.comment-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.comment-options{display:flex;justify-content:space-between;align-items:center;margin-top:12px;flex-wrap:wrap;gap:12px}.public-comment-toggle{display:flex;align-items:center;gap:8px;font-size:14px;color:#666}.submit-comment-button{background:#007bff;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .3s ease}.submit-comment-button:hover{background:#0056b3}.submit-comment-button:disabled{background:#6c757d;cursor:not-allowed}.existing-comments{max-height:250px;overflow-y:auto}.comment{background:#fff;padding:12px;border-radius:8px;margin-bottom:8px;border-left:4px solid #007bff;box-shadow:0 1px 3px #0000001a}.comment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:12px}.commenter{font-weight:600;color:#333}.comment-time{color:#666}.public-badge{background:#28a745;color:#fff;padding:2px 8px;border-radius:12px;font-size:10px;font-weight:600}.comment-content{font-size:14px;color:#333;line-height:1.5}.no-comments{text-align:center;color:#666;font-style:italic;padding:24px;background:#fff;border-radius:8px}.photo-modal{position:fixed;inset:0;background:#000000f2;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.photo-modal-content{position:relative;max-width:95vw;max-height:95vh;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 20px 40px #0000004d}.photo-modal img{width:100%;height:auto;display:block;max-height:90vh;object-fit:contain}.close-button{position:absolute;top:16px;right:16px;background:#000c;color:#fff;border:none;width:44px;height:44px;border-radius:50%;cursor:pointer;font-size:20px;display:flex;align-items:center;justify-content:center;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.close-button:hover{background:#000000e6;transform:scale(1.1)}.loading-spinner{display:flex;justify-content:center;align-items:center;height:200px;font-size:18px;color:#666}.error-message{background:#f8d7da;color:#721c24;padding:16px;border-radius:8px;margin-bottom:20px;border:1px solid #f5c6cb;font-weight:500}.retry-button{background:#dc3545;color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-weight:600;transition:background-color .3s ease}.retry-button:hover{background:#c82333}@media (max-width: 768px){.photo-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.photo-container{height:280px}.interaction-buttons{gap:6px}.interaction-buttons button{padding:6px 10px;font-size:13px;min-width:36px}.photo-modal{padding:16px}.comment-options{flex-direction:column;align-items:stretch}}@media (max-width: 480px){.photo-grid{grid-template-columns:1fr;gap:16px}.photo-container{height:320px}.interaction-stats{font-size:13px;gap:12px}.photo-overlay{padding:16px}.interaction-buttons button{padding:6px 8px;font-size:12px;min-width:32px}}color: #1a1a1a; font-size: 1.5rem; font-weight: 700; } .upload-section{display:flex;align-items:center}.file-input{display:none}.upload-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#059669;color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease;text-decoration:none}.upload-button:hover{background:#047857;transform:translateY(-1px);box-shadow:0 4px 12px #0596694d}.upload-button:disabled{background:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}.no-photos{text-align:center;padding:3rem 2rem;color:#666}.no-photos p{margin:0 0 .5rem;font-size:1.1rem}.upload-hint{font-size:.9rem;opacity:.8}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.photo-item{position:relative;aspect-ratio:1;border-radius:12px;overflow:hidden;background:#f8f9fa;cursor:pointer;transition:transform .2s ease}.photo-item:hover{transform:scale(1.02)}.photo-thumbnail{width:100%;height:100%;object-fit:cover;transition:opacity .2s ease}.photo-overlay{position:absolute;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;gap:.5rem;opacity:0;transition:opacity .2s ease}.photo-item:hover .photo-overlay{opacity:1}.view-button,.request-button{padding:.5rem 1rem;border:none;border-radius:6px;font-weight:600;font-size:.8rem;cursor:pointer;transition:all .2s ease}.view-button{background:#6366f1;color:#fff}.view-button:hover{background:#5856eb}.request-button{background:#f59e0b;color:#fff}.request-button:hover{background:#d97706}.photo-modal{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.photo-modal-content{position:relative;max-width:90vw;max-height:90vh;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 20px 60px #0000004d}.close-button{position:absolute;top:1rem;right:1rem;width:40px;height:40px;border:none;border-radius:50%;background:#000000b3;color:#fff;font-size:1.2rem;cursor:pointer;z-index:1001;transition:background .2s ease}.close-button:hover{background:#000000e6}.modal-photo{width:100%;height:auto;max-height:70vh;object-fit:contain;display:block}.photo-info{padding:1.5rem;background:#fff}.photo-info h4{margin:0 0 .5rem;color:#1a1a1a;font-size:1.1rem}.photo-info p{margin:.25rem 0;color:#666;font-size:.9rem}.retry-button{padding:.75rem 1.5rem;background:#f59e0b;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:1rem}.photo-gallery .loading-spinner{text-align:center;padding:2rem}.photo-gallery .error-message{margin-bottom:1rem}@media (max-width: 768px){.photo-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem}.photo-gallery-header{flex-direction:column;gap:1rem;align-items:stretch}.upload-button{justify-content:center}.photo-modal{padding:1rem}.photo-modal-content{max-width:95vw;max-height:95vh}.photo-info{padding:1rem}}@media (max-width: 480px){.photo-grid{grid-template-columns:repeat(2,1fr)}.photo-overlay{flex-direction:column;gap:.25rem}.view-button,.request-button{padding:.4rem .8rem;font-size:.75rem}}.photo-interactions{padding:.75rem;background:#fff;border-top:1px solid #e1e5e9}.interaction-stats{display:flex;gap:1rem;margin-bottom:.5rem;font-size:.9rem;color:#6b7280}.stat{display:flex;align-items:center;gap:.25rem}.interaction-buttons{display:flex;gap:.5rem;justify-content:space-between}.like-button,.comment-button,.view-button,.request-button{padding:.5rem;border:none;background:#f3f4f6;border-radius:.5rem;cursor:pointer;font-size:1.1rem;transition:all .2s ease;min-width:40px;height:40px;display:flex;align-items:center;justify-content:center}.like-button:hover,.comment-button:hover,.view-button:hover,.request-button:hover{background:#e5e7eb;transform:scale(1.05)}.like-button.liked{background:#fef2f2;color:#dc2626}.like-button.liked:hover{background:#fee2e2}.photo-comments{padding:1rem;background:#f9fafb;border-top:1px solid #e5e7eb}.comment-form{margin-bottom:1rem}.comment-input{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:.5rem;font-family:inherit;font-size:.9rem;resize:vertical;min-height:60px}.comment-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.comment-options{display:flex;justify-content:space-between;align-items:center;margin-top:.5rem}.public-comment-toggle{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#6b7280;cursor:pointer}.public-comment-toggle input[type=checkbox]{margin:0}.submit-comment-button{padding:.5rem 1rem;background:#3b82f6;color:#fff;border:none;border-radius:.5rem;font-size:.9rem;cursor:pointer;transition:background-color .2s ease}.submit-comment-button:hover:not(:disabled){background:#2563eb}.submit-comment-button:disabled{background:#9ca3af;cursor:not-allowed}.existing-comments{max-height:300px;overflow-y:auto}.comment{padding:.75rem;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;margin-bottom:.5rem}.comment-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.8rem;color:#6b7280}.commenter{font-weight:600;color:#374151}.comment-time{color:#9ca3af}.public-badge{background:#dbeafe;color:#1d4ed8;padding:.125rem .5rem;border-radius:.25rem;font-size:.7rem;font-weight:500}.comment-content{font-size:.9rem;color:#374151;line-height:1.4}.no-comments{text-align:center;color:#9ca3af;font-style:italic;padding:1rem}.photo-item{background:#fff;border-radius:.75rem;overflow:hidden;box-shadow:0 1px 3px #0000001a;transition:transform .2s ease,box-shadow .2s ease}.photo-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.photo-thumbnail{width:100%;height:200px;object-fit:cover;cursor:pointer;transition:opacity .2s ease}.photo-thumbnail:hover{opacity:.9}@media (max-width: 768px){.interaction-buttons{flex-wrap:wrap;gap:.25rem}.like-button,.comment-button,.view-button,.request-button{min-width:35px;height:35px;font-size:1rem}.comment-options{flex-direction:column;align-items:stretch;gap:.5rem}.public-comment-toggle{justify-content:center}}.photo-metadata{padding:.75rem;background:#f9fafb;border-top:1px solid #e5e7eb}.photo-title{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:#1f2937}.photo-caption{margin:0 0 .5rem;color:#4b5563;line-height:1.4}.photo-details{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:.5rem}.detail{font-size:.8rem;color:#6b7280;background:#fff;padding:.25rem .5rem;border-radius:12px;border:1px solid #e5e7eb}.photo-tags{display:flex;flex-wrap:wrap;gap:.25rem}.tag{font-size:.7rem;color:#3b82f6;background:#eff6ff;padding:.2rem .4rem;border-radius:8px;border:1px solid #bfdbfe}.edit-button{background:#f59e0b;color:#fff;border:none;padding:.4rem;border-radius:4px;cursor:pointer;font-size:.8rem;transition:background .2s ease}.edit-button:hover{background:#d97706}.metadata-editor-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.metadata-editor{background:#fff;border-radius:12px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a}.metadata-editor-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb}.metadata-editor-header h3{margin:0;color:#1f2937}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6b7280;padding:.25rem;line-height:1}.close-btn:hover{color:#374151}.metadata-form{padding:1.5rem}.form-group{margin-bottom:1rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#374151;font-size:.9rem}.form-group input,.form-group textarea{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;transition:border-color .2s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f6}.metadata-advanced{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.metadata-advanced h4{margin:0 0 1rem;color:#6b7280;font-size:.9rem;font-weight:600}.metadata-editor-actions{display:flex;justify-content:flex-end;gap:.75rem;padding:1.5rem;border-top:1px solid #e5e7eb;background:#f9fafb}.cancel-btn{background:#6b7280;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;font-weight:600;transition:background .2s ease}.save-btn{background:#3b82f6;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;font-weight:600;transition:background .2s ease}@media (max-width: 768px){.metadata-editor-overlay{padding:.5rem}.form-row{grid-template-columns:1fr}.metadata-editor-actions{flex-direction:column}.cancel-btn,.save-btn{width:100%}}.admin-button{background:none;border:none;font-size:1.2em;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color .2s}.admin-button:hover{background-color:#0000001a}.hide-button:hover{background-color:#ffa50033}.delete-button:hover{background-color:#f003}.admin-button:active{transform:scale(.95)}@media (max-width: 768px){.photo-grid{grid-template-columns:1fr!important;gap:1rem!important;padding:0 1rem;max-width:100vw;box-sizing:border-box}.photo-item{max-width:calc(100vw - 2rem)!important;width:100%!important;margin:0 auto;box-sizing:border-box}.photo-container{width:100%!important;max-width:100%!important;height:300px!important;overflow:hidden}.photo-thumbnail{width:100%!important;max-width:100%!important;height:100%!important;object-fit:cover!important}}@media (max-width: 480px){.photo-grid{padding:0 .5rem!important}.photo-item{max-width:calc(100vw - 1rem)!important}.photo-container{height:250px!important}}.profile-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:1rem}.profile-container{max-width:600px;margin:0 auto;background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;overflow:hidden}.event-banner{background:linear-gradient(45deg,#4caf50,#45a049);color:#fff;overflow:hidden;position:relative}.event-image{width:100%;height:200px;overflow:hidden}.event-image img{width:100%;height:100%;object-fit:cover;object-position:center}.event-info{padding:1.5rem;text-align:center;background:linear-gradient(45deg,#4caf50,#45a049)}.event-name{margin:0 0 .5rem;font-size:1.5rem;font-weight:600}.event-description{margin:0 0 1rem;opacity:.9;line-height:1.4}.event-status{display:inline-block;padding:.5rem 1rem;border-radius:25px;font-size:.875rem;font-weight:600;letter-spacing:.5px;background:#fff3;border:1px solid rgba(255,255,255,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.event-status.upcoming{background:#ffc107e6;color:#333;border-color:#ffc10780}.event-status.live{background:#dc3545e6;color:#fff;border-color:#dc354580;animation:pulse 2s infinite}.event-status.ended{background:#6c757de6;color:#fff;border-color:#6c757d80}@keyframes pulse{0%{opacity:1}50%{opacity:.7}to{opacity:1}}.profile-header{padding:2rem;text-align:center;border-bottom:1px solid #eee}.profile-image{width:120px;height:120px;border-radius:50%;object-fit:cover;margin-bottom:1rem;border:4px solid #f0f0f0}.profile-name{margin:0 0 1rem;font-size:2rem;font-weight:700;color:#333}.profile-bio{font-size:1.1rem;line-height:1.5;color:#666;max-width:400px;margin:0 auto}.profile-blurb{font-size:.95rem;line-height:1.4;color:#666;font-style:italic;opacity:.8;max-width:400px;margin:0 auto}.event-content{padding:1.5rem 2rem;border-bottom:1px solid #eee}.event-content h3{margin:0 0 1rem;color:#333;font-size:1.25rem}.custom-content{display:grid;gap:.75rem}.content-item{padding:.75rem;background:#f8f9fa;border-radius:6px;font-size:.95rem}.content-item strong{color:#495057;margin-right:.5rem}.profile-actions{padding:2rem;text-align:center}.btn{display:inline-block;padding:.75rem 2rem;border:none;border-radius:6px;font-size:1rem;font-weight:500;text-decoration:none;cursor:pointer;transition:all .2s ease;min-width:120px}.btn-primary:hover{background:#0056b3;transform:translateY(-1px)}.btn-secondary:hover{background:#545b62}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#fff;border-radius:12px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem 1rem;border-bottom:1px solid #eee}.modal-header h3{margin:0;font-size:1.25rem;color:#333}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#999;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%}.modal-close:hover{background:#f0f0f0;color:#333}@media (max-width: 768px){.profile-page{padding:.5rem}.profile-header{padding:1.5rem}.profile-name{font-size:1.75rem}.profile-image{width:100px;height:100px}.event-content{padding:1rem 1.5rem}.profile-actions{padding:1.5rem}.modal-content{margin:.5rem;max-height:95vh}.modal-header{padding:1rem 1.5rem .5rem}}@media (max-width: 480px){.profile-page{padding:0}.profile-container{border-radius:0;min-height:100vh}.event-banner{padding:1rem}.event-name{font-size:1.25rem}.profile-header{padding:1rem}.profile-name{font-size:1.5rem}.profile-bio{font-size:1rem}}.profile-tabs{display:flex;border-bottom:2px solid #e5e7eb;margin:2rem 0 1rem}.tab-button{flex:1;padding:1rem;background:none;border:none;font-size:1rem;font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s ease;border-bottom:3px solid transparent}.tab-button:hover{color:#374151;background:#f9fafb}.tab-button.active{color:#3b82f6;border-bottom-color:#3b82f6;background:#f0f9ff}.tab-content{min-height:400px;padding:1rem 0}@media (max-width: 768px){.tab-button{font-size:.9rem;padding:.75rem}}.floating-chatbot-btn{position:fixed;bottom:2rem;right:2rem;width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;font-size:1.5rem;cursor:pointer;box-shadow:0 4px 20px #667eea4d;transition:all .3s ease;z-index:999;display:flex;align-items:center;justify-content:center}.floating-chatbot-btn:hover{transform:scale(1.1);box-shadow:0 6px 25px #667eea66}.floating-chatbot-btn:active{transform:scale(.95)}@media (max-width: 768px){.floating-chatbot-btn{bottom:1rem;right:1rem;width:50px;height:50px;font-size:1.25rem}}.qr-manager{max-width:1200px;margin:0 auto;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.qr-manager-header{text-align:center;margin-bottom:30px}.qr-manager-header h2{color:#1a1a1a;font-size:2rem;margin-bottom:10px}.qr-manager-header p{color:#666;font-size:1.1rem}.qr-manager-content{display:grid;grid-template-columns:1fr 2fr;gap:30px;align-items:start}.qr-selection h3{color:#1a1a1a;margin-bottom:15px;font-size:1.3rem}.qr-code-list{display:flex;flex-direction:column;gap:10px}.qr-code-item{border:2px solid #e1e5e9;border-radius:12px;padding:15px;cursor:pointer;transition:all .2s ease;background:#fff}.qr-code-item:hover{border-color:#6366f1;box-shadow:0 2px 8px #6366f11a}.qr-code-item.selected{border-color:#6366f1;background:#f8faff;box-shadow:0 2px 12px #6366f126}.qr-code-info h4{margin:0 0 5px;color:#1a1a1a;font-size:1.1rem}.qr-code-info p{margin:0 0 8px;color:#666;font-size:.9rem}.qr-code-info small{color:#888;font-size:.8rem;word-break:break-all}.qr-code-type{display:flex;justify-content:flex-end;margin-top:10px}.type-badge{padding:4px 8px;border-radius:6px;font-size:.75rem;font-weight:600;text-transform:uppercase}.type-badge.profile{background:#dbeafe;color:#1e40af}.type-badge.event{background:#dcfce7;color:#166534}.qr-preview h3{color:#1a1a1a;margin-bottom:20px;font-size:1.3rem}.qr-preview-content{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.qr-image-container{display:flex;justify-content:center;align-items:center;background:#fff;border:2px solid #e1e5e9;border-radius:12px;padding:20px;min-height:200px}.qr-code-image{max-width:100%;height:auto;border-radius:8px}.qr-controls{display:flex;flex-direction:column;gap:20px}.qr-customization,.qr-actions{background:#fff;border:2px solid #e1e5e9;border-radius:12px;padding:15px}.qr-customization h4,.qr-actions h4{margin:0 0 15px;color:#1a1a1a;font-size:1.1rem}.control-group{margin-bottom:15px}.control-group label{display:block;margin-bottom:5px;color:#374151;font-weight:500}.control-group select{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;background:#fff}.control-group select:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.generate-button,.download-button,.copy-button,.retry-button{width:100%;padding:10px 15px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;margin-bottom:8px}.generate-button{background:#6366f1;color:#fff}.generate-button:hover{background:#5856eb}.download-button{background:#059669;color:#fff}.download-button:hover{background:#047857}.copy-button{background:#6b7280;color:#fff}.copy-button:hover{background:#4b5563}.retry-button{background:#f59e0b;color:#fff}.retry-button:hover{background:#d97706}.qr-info{background:#fff;border:2px solid #e1e5e9;border-radius:12px;padding:20px}.qr-info h4{margin:0 0 15px;color:#1a1a1a;font-size:1.1rem}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.info-item{font-size:.9rem}.info-item strong{color:#374151;display:block;margin-bottom:2px}.info-item a{color:#6366f1;text-decoration:none;word-break:break-all}.info-item a:hover{text-decoration:underline}@media (max-width: 768px){.qr-manager{padding:15px}.qr-manager-content{grid-template-columns:1fr;gap:20px}.qr-preview-content,.info-grid{grid-template-columns:1fr}.qr-manager-header h2{font-size:1.5rem}}.qr-manager .loading-spinner{text-align:center;padding:40px}.qr-manager .error-message{margin-bottom:20px}.admin-login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.login-container{background:#fff;border-radius:12px;padding:40px;box-shadow:0 20px 40px #0000001a;max-width:400px;width:100%;position:relative}.login-header{text-align:center;margin-bottom:30px}.login-header h1{color:#333;margin-bottom:10px;font-size:2rem}.login-header p{color:#666;margin:0}.login-form,.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#333;font-weight:500}.form-group input{width:100%;padding:12px 16px;border:2px solid #e1e5e9;border-radius:8px;font-size:16px;transition:border-color .3s ease;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.error-message{background-color:#fee;color:#c33;padding:12px 16px;border-radius:8px;margin-bottom:20px;border:1px solid #fcc;text-align:center}.login-button{width:100%;padding:14px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #667eea4d}.login-button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.login-info{text-align:center;color:#666;font-size:14px}.login-info p{margin:8px 0}.logout-test-button{background:none;border:none;color:#ccc;cursor:pointer;padding:5px}@media (max-width: 480px){.admin-login{padding:10px}.login-container{padding:30px 20px}.login-header h1{font-size:1.5rem}}.faq-manager{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.faq-manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #e5e7eb}.faq-manager-header h2{margin:0;color:#1f2937;font-size:1.5rem}.create-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#059669;color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease}.create-btn:hover{background:#047857;transform:translateY(-1px);box-shadow:0 4px 12px #0596694d}.faq-form-container{background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 4px 6px #0000000d}.faq-form h3{margin:0 0 1.5rem;color:#1f2937;font-size:1.3rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group textarea{resize:vertical;min-height:100px}.save-btn{background:#3b82f6;color:#fff}.save-btn:hover{background:#2563eb}.no-faqs{text-align:center;padding:3rem 2rem;color:#6b7280;background:#fff;border:2px dashed #d1d5db;border-radius:12px}.no-faqs p{margin:0;font-size:1.1rem}.faq-items{display:flex;flex-direction:column;gap:1rem}.faq-item{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.5rem;transition:all .2s ease}.faq-item:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f61a}.faq-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #f3f4f6}.faq-meta{display:flex;gap:1rem;align-items:center}.faq-category{background:#dbeafe;color:#1e40af;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600}.faq-order{color:#6b7280;font-size:.8rem}.faq-actions{display:flex;gap:.5rem}.faq-question{margin:0 0 .75rem;color:#1f2937;font-size:1.1rem;font-weight:600;line-height:1.4}.faq-answer{margin:0;color:#4b5563;line-height:1.6;font-size:.95rem}.faq-manager .loading-spinner{text-align:center;padding:2rem}.faq-manager .error-message{margin-bottom:1rem}@media (max-width: 768px){.faq-manager-header{flex-direction:column;gap:1rem;align-items:stretch}.create-btn{justify-content:center}.faq-form-container{padding:1.5rem}.faq-header{flex-direction:column;gap:1rem;align-items:stretch}.faq-meta{justify-content:space-between}.faq-actions{justify-content:center}.form-actions{flex-direction:column}}@media (max-width: 480px){.faq-item{padding:1rem}.faq-actions{flex-direction:column;gap:.25rem}.edit-btn,.delete-btn{width:100%;justify-content:center}}.event-manager{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.event-manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #e5e7eb}.event-manager-header h2{margin:0;color:#1f2937;font-size:1.5rem}.create-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#6366f1;color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease}.create-btn:hover{background:#5856eb;transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.event-form-container{background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 4px 6px #0000000d}.event-form h3{margin:0 0 1.5rem;color:#1f2937;font-size:1.3rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:#374151;font-weight:600;font-size:.9rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;font-family:inherit;transition:border-color .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1rem;border-top:1px solid #e5e7eb}.cancel-btn,.save-btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease}.cancel-btn{background:#6b7280;color:#fff}.cancel-btn:hover{background:#4b5563}.save-btn{background:#6366f1;color:#fff}.save-btn:hover{background:#5856eb}.no-events{text-align:center;padding:3rem 2rem;color:#6b7280;background:#fff;border:2px dashed #d1d5db;border-radius:12px}.no-events p{margin:0;font-size:1.1rem}.event-items{display:flex;flex-direction:column;gap:1.5rem}.event-item{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:2rem;transition:all .2s ease}.event-item:hover{border-color:#6366f1;box-shadow:0 4px 12px #6366f11a}.event-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #f3f4f6}.event-meta{flex:1}.event-name{margin:0 0 .75rem;color:#1f2937;font-size:1.4rem;font-weight:700}.event-badges{display:flex;gap:.5rem;flex-wrap:wrap}.event-status{padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase}.event-status.upcoming{background:#fef3c7;color:#92400e}.event-status.active{background:#dcfce7;color:#166534}.event-status.ended{background:#f3f4f6;color:#6b7280}.event-status.cancelled{background:#fee2e2;color:#991b1b}.event-type{background:#dbeafe;color:#1e40af;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:capitalize}.event-actions{display:flex;gap:.5rem}.edit-btn,.delete-btn{padding:.5rem 1rem;border:none;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease}.edit-btn{background:#f59e0b;color:#fff}.edit-btn:hover{background:#d97706}.delete-btn{background:#ef4444;color:#fff}.delete-btn:hover{background:#dc2626}.event-image{margin-bottom:1.5rem;border-radius:8px;overflow:hidden}.event-image img{width:100%;height:200px;object-fit:cover}.event-description{margin:0 0 1.5rem;color:#4b5563;line-height:1.6;font-size:.95rem}.event-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.75rem;margin-bottom:1.5rem}.detail-item{color:#374151;font-size:.9rem;line-height:1.4}.detail-item strong{color:#1f2937}.event-tags{display:flex;flex-wrap:wrap;gap:.5rem}.tag{background:#f3f4f6;color:#374151;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500}.event-manager .loading-spinner{text-align:center;padding:2rem}.event-manager .error-message{margin-bottom:1rem}@media (max-width: 768px){.event-manager-header{flex-direction:column;gap:1rem;align-items:stretch}.create-btn{justify-content:center}.event-form-container{padding:1.5rem}.form-row{grid-template-columns:1fr}.event-header{flex-direction:column;gap:1rem;align-items:stretch}.event-actions{justify-content:center}.event-details{grid-template-columns:1fr}.form-actions{flex-direction:column}}@media (max-width: 480px){.event-item{padding:1.5rem}.event-actions{flex-direction:column;gap:.25rem}.edit-btn,.delete-btn{width:100%;justify-content:center}.event-badges{justify-content:center}}.analytics-dashboard{max-width:1200px;margin:0 auto;padding:2rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.dashboard-header h1{margin:0;color:#1f2937;font-size:2rem}.dashboard-controls{display:flex;gap:1rem}.period-selector,.event-selector{padding:.5rem 1rem;border:1px solid #d1d5db;border-radius:.5rem;background:#fff;font-size:.9rem;cursor:pointer}.period-selector:focus,.event-selector:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;color:#6b7280}.spinner{width:40px;height:40px;border:4px solid #e5e7eb;border-top:4px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.analytics-tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:1px solid #e5e7eb}.tab-button{padding:.75rem 1.5rem;border:none;background:none;color:#6b7280;font-size:.9rem;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s ease}.tab-button:hover{color:#3b82f6;background-color:#f8fafc}.tab-button.active{color:#3b82f6;border-bottom-color:#3b82f6;background-color:#f8fafc}.tab-content{min-height:500px}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.metric-card{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;transition:transform .2s ease,box-shadow .2s ease}.metric-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.metric-icon{font-size:2rem;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:#f3f4f6;border-radius:50%}.metric-content{flex:1}.metric-value{font-size:2rem;font-weight:700;color:#1f2937;line-height:1}.metric-label{font-size:.9rem;color:#6b7280;margin-top:.25rem}.chart-section{background:#fff;padding:1.5rem;border:1px solid #e5e7eb;border-radius:.75rem;box-shadow:0 1px 3px #0000001a}.chart-section h3{margin:0 0 1.5rem;color:#1f2937;font-size:1.25rem}.activity-chart{display:flex;align-items:end;gap:.5rem;height:200px;padding:1rem 0;border-bottom:1px solid #e5e7eb;overflow-x:auto}.time-bar{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem;min-width:30px}.daily-chart{display:flex;align-items:end;gap:.5rem;height:200px;padding:1rem 0;border-bottom:1px solid #e5e7eb}.day-bar{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem}.bar-container{display:flex;align-items:end;gap:2px;height:150px;width:100%;justify-content:center}.bar{width:12px;min-height:5px;border-radius:2px 2px 0 0;cursor:pointer;transition:opacity .2s ease}.bar:hover{opacity:.8}.bar.page-views{background:#3b82f6}.bar.messages{background:#10b981}.time-label{font-size:.75rem;color:#6b7280;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:40px}.day-label{font-size:.75rem;color:#6b7280;text-align:center}.chart-legend{display:flex;justify-content:center;gap:2rem;margin-top:1rem}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#6b7280}.legend-color{width:12px;height:12px;border-radius:2px}.legend-color.page-views{background:#3b82f6}.legend-color.messages{background:#10b981}.top-lists{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.top-list{background:#fff;padding:1.5rem;border:1px solid #e5e7eb;border-radius:.75rem;box-shadow:0 1px 3px #0000001a}.top-list h3{margin:0 0 1rem;color:#1f2937;font-size:1.1rem}.list-items{display:flex;flex-direction:column;gap:.75rem}.list-item{display:flex;align-items:center;gap:.75rem;padding:.5rem;border-radius:.5rem;transition:background-color .2s ease}.list-item:hover{background-color:#f9fafb}.item-rank{font-weight:700;color:#3b82f6;min-width:2rem}.item-name{flex:1;font-size:.9rem;color:#374151;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-value{font-weight:600;color:#1f2937}.realtime-tab{display:flex;flex-direction:column;gap:2rem}.realtime-header{display:flex;justify-content:space-between;align-items:center}.realtime-header h2{margin:0;color:#1f2937}.last-updated{font-size:.9rem;color:#6b7280}.live-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.5rem}.live-stat{text-align:center;padding:1.5rem;background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;box-shadow:0 1px 3px #0000001a}.live-value{font-size:2.5rem;font-weight:700;color:#dc2626;line-height:1}.live-label{font-size:.9rem;color:#6b7280;margin-top:.5rem}.recent-events{background:#fff;padding:1.5rem;border:1px solid #e5e7eb;border-radius:.75rem;box-shadow:0 1px 3px #0000001a}.recent-events h3{margin:0 0 1rem;color:#1f2937}.events-list{display:flex;flex-direction:column;gap:.75rem;max-height:400px;overflow-y:auto}.event-item{display:flex;align-items:center;gap:1rem;padding:.75rem;background:#f9fafb;border-radius:.5rem;font-size:.9rem}.event-type{font-weight:600;color:#3b82f6;min-width:100px}.event-details{flex:1;display:flex;flex-direction:column;gap:.25rem}.event-page{color:#374151;font-size:.8rem}.event-device{color:#6b7280;font-size:.8rem}.event-time{color:#6b7280;font-size:.8rem;min-width:80px;text-align:right}.events-tab{display:flex;flex-direction:column;gap:2rem}.events-tab h2{margin:0;color:#1f2937}.event-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.5rem}.event-metric{text-align:center;padding:1.5rem;background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;box-shadow:0 1px 3px #0000001a}.engagement-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.engagement-card{text-align:center;padding:1.5rem;background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;box-shadow:0 1px 3px #0000001a}.engagement-card h4{margin:0 0 1rem;color:#1f2937;font-size:1rem}.percentage-circle{width:80px;height:80px;border-radius:50%;background:#f3f4f6;display:flex;align-items:center;justify-content:center;margin:0 auto}.percentage{font-size:1.25rem;font-weight:700;color:#3b82f6}.peak-hour{font-size:1.5rem;font-weight:700;color:#10b981}.hourly-activity{background:#fff;padding:1.5rem;border:1px solid #e5e7eb;border-radius:.75rem;box-shadow:0 1px 3px #0000001a}.hourly-activity h3{margin:0 0 1.5rem;color:#1f2937}.hourly-chart{display:flex;align-items:end;gap:.25rem;height:150px;padding:1rem 0}.hour-bar{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem}.activity-bar{width:100%;min-height:5px;background:#8b5cf6;border-radius:2px 2px 0 0;cursor:pointer;transition:opacity .2s ease}.activity-bar:hover{opacity:.8}.hour-label{font-size:.7rem;color:#6b7280;text-align:center;transform:rotate(-45deg);white-space:nowrap}.detailed-tab{display:flex;flex-direction:column;gap:2rem}.detailed-tab h2{margin:0;color:#1f2937}.event-breakdown,.hourly-breakdown{background:#fff;padding:1.5rem;border:1px solid #e5e7eb;border-radius:.75rem;box-shadow:0 1px 3px #0000001a}.event-breakdown h3,.hourly-breakdown h3{margin:0 0 1rem;color:#1f2937}.breakdown-table{display:flex;flex-direction:column;gap:.5rem}.table-header,.table-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:1rem;padding:.75rem;border-radius:.5rem}.table-header{background:#f9fafb;font-weight:600;color:#374151}.table-row{border-bottom:1px solid #f3f4f6}.table-row:hover{background:#f9fafb}.event-name{font-weight:500;color:#1f2937}.hourly-table{display:flex;flex-direction:column;gap:.5rem;max-height:300px;overflow-y:auto}.hourly-row{display:flex;align-items:center;gap:1rem;padding:.75rem;border-radius:.5rem;border-bottom:1px solid #f3f4f6}.hourly-row:hover{background:#f9fafb}.hour-time{font-weight:600;color:#1f2937;min-width:120px}.hour-stats{display:flex;gap:1rem;font-size:.9rem;color:#6b7280}.no-event-data{display:flex;flex-direction:column;gap:2rem}.no-event-data h2{margin:0;color:#1f2937}.empty-state{background:#fff;padding:2rem;border:1px solid #e5e7eb;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;text-align:center}.empty-state p{color:#6b7280;margin-bottom:1rem}.empty-state ul{text-align:left;color:#6b7280;margin:1rem 0;padding-left:2rem}.empty-state li{margin-bottom:.5rem}.test-link{display:inline-block;padding:.75rem 1.5rem;background:#3b82f6;color:#fff;text-decoration:none;border-radius:.5rem;font-weight:500;margin-top:1rem;transition:background-color .2s ease}.test-link:hover{background:#2563eb}.time-range-selector{display:flex;gap:.25rem;background:#f3f4f6;padding:.25rem;border-radius:.5rem}.time-range-selector button{padding:.5rem 1rem;border:none;background:transparent;color:#6b7280;font-size:.9rem;font-weight:500;cursor:pointer;border-radius:.375rem;transition:all .2s ease}.time-range-selector button:hover{color:#374151;background:#e5e7eb}.time-range-selector button.active{color:#3b82f6;background:#fff;box-shadow:0 1px 2px #0000001a}.refresh-btn{padding:.5rem 1rem;border:1px solid #d1d5db;background:#fff;color:#374151;font-size:.9rem;border-radius:.5rem;cursor:pointer;transition:all .2s ease}.refresh-btn:hover{background:#f9fafb;border-color:#9ca3af}.error-message{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:1rem;border-radius:.5rem;margin-bottom:1.5rem;font-size:.9rem}.event-analytics{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1.5rem;border-radius:.75rem;margin-bottom:2rem}.event-analytics h3{margin:0 0 1rem;font-size:1.5rem}.event-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.event-stat{display:flex;flex-direction:column;gap:.25rem}.stat-label{font-size:.9rem;opacity:.9}.stat-value{font-size:1.5rem;font-weight:700}.chart-bar{display:flex;flex-direction:column;align-items:center;gap:.5rem;min-width:40px}.chart-bar .bar{width:20px;min-height:10px;background:#3b82f6;border-radius:2px 2px 0 0;transition:all .2s ease}.chart-bar:hover .bar{background:#2563eb;transform:scaleY(1.1)}.bar-label{font-size:.75rem;color:#6b7280;text-align:center}.bar-value{font-size:.7rem;color:#374151;font-weight:500}.device-breakdown{background:#fff;padding:1.5rem;border:1px solid #e5e7eb;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem}.device-breakdown h3{margin:0 0 1.5rem;color:#1f2937;font-size:1.25rem}.device-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.5rem}.device-stat{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f9fafb;border-radius:.5rem}.device-icon{font-size:2rem;width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:50%;box-shadow:0 2px 4px #0000001a}.device-info{flex:1}.device-name{font-weight:600;color:#1f2937;margin-bottom:.25rem}.device-count{font-size:1.5rem;font-weight:700;color:#3b82f6;line-height:1}.device-percent{font-size:.8rem;color:#6b7280;margin-top:.25rem}.item-device{font-size:.8rem;color:#6b7280;background:#f3f4f6;padding:.25rem .5rem;border-radius:.25rem}.analytics-footer{text-align:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.analytics-footer p{color:#6b7280;font-size:.9rem;margin:0}.loading-spinner{display:flex;align-items:center;justify-content:center;height:200px;color:#6b7280;font-size:1.1rem}@media (max-width: 768px){.analytics-dashboard{padding:1rem}.dashboard-header{flex-direction:column;gap:1rem;align-items:stretch}.dashboard-controls{justify-content:center}.metrics-grid,.top-lists{grid-template-columns:1fr}.live-stats,.event-metrics,.engagement-metrics{grid-template-columns:repeat(2,1fr)}.analytics-tabs{overflow-x:auto;white-space:nowrap}.tab-button{flex-shrink:0}.activity-chart{gap:.25rem}.time-bar{min-width:25px}.time-label{font-size:.65rem;max-width:25px}.table-header,.table-row{grid-template-columns:1fr;gap:.5rem}.hourly-row{flex-direction:column;align-items:stretch;gap:.5rem}.hour-stats{justify-content:space-between}}.notification-manager{max-width:800px;margin:0 auto;padding:2rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.notification-header{text-align:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #e5e7eb}.notification-header h2{margin:0 0 .5rem;color:#1f2937;font-size:2rem}.notification-header p{color:#6b7280;margin:0}.notification-status{margin-bottom:2rem}.notification-status h3{margin:0 0 1rem;color:#1f2937;font-size:1.25rem}.status-card{background:#fff;padding:1.5rem;border:1px solid #e5e7eb;border-radius:.75rem;box-shadow:0 1px 3px #0000001a}.status-info{display:flex;align-items:flex-start;gap:1rem}.status-indicator{padding:.5rem 1rem;border-radius:.5rem;font-weight:600;font-size:.9rem;white-space:nowrap}.status-indicator.ready{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.status-indicator.waiting{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.status-details{flex:1;color:#374151}.status-details p{margin:0 0 .5rem}.status-details small{color:#6b7280;font-size:.8rem}.notification-actions{margin-bottom:2rem}.notification-actions h3{margin:0 0 1rem;color:#1f2937;font-size:1.25rem}.action-buttons{display:flex;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.action-btn{padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease;min-width:140px}.action-btn:disabled{opacity:.6;cursor:not-allowed}.test-btn{background:#3b82f6;color:#fff}.test-btn:hover:not(:disabled){background:#2563eb}.send-btn{background:#10b981;color:#fff}.send-btn:hover:not(:disabled){background:#059669}.send-btn:disabled{background:#9ca3af}.refresh-btn{background:#6b7280;color:#fff}.refresh-btn:hover:not(:disabled){background:#4b5563}.action-help{background:#f9fafb;padding:1rem;border-radius:.5rem;border:1px solid #e5e7eb}.action-help p{margin:0 0 .5rem;font-size:.9rem;color:#374151}.action-help p:last-child{margin-bottom:0}.notification-history{margin-bottom:2rem}.notification-history h3{margin:0 0 1rem;color:#1f2937;font-size:1.25rem}.no-history{background:#fff;padding:2rem;border:1px solid #e5e7eb;border-radius:.75rem;text-align:center;color:#6b7280}.no-history p{margin:0 0 .5rem}.no-history p:last-child{margin-bottom:0}.history-list{display:flex;flex-direction:column;gap:1rem}.history-item{background:#fff;padding:1.5rem;border:1px solid #e5e7eb;border-radius:.75rem;box-shadow:0 1px 3px #0000001a}.history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid #f3f4f6}.history-type{font-weight:600;color:#1f2937;font-size:.9rem}.history-time{color:#6b7280;font-size:.8rem}.history-content{display:flex;flex-direction:column;gap:.5rem}.history-activity{color:#374151;font-size:.9rem}.history-id{color:#9ca3af;font-size:.75rem;font-family:monospace}.notification-config{background:#fff;padding:1.5rem;border:1px solid #e5e7eb;border-radius:.75rem;box-shadow:0 1px 3px #0000001a}.notification-config h3{margin:0 0 1rem;color:#1f2937;font-size:1.25rem}.config-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.config-item{padding:.75rem;background:#f9fafb;border-radius:.5rem;border:1px solid #e5e7eb;font-size:.9rem}.config-item strong{color:#1f2937}@media (max-width: 768px){.notification-manager{padding:1rem}.status-info{flex-direction:column;gap:.75rem}.action-buttons{flex-direction:column}.action-btn{width:100%}.history-header{flex-direction:column;align-items:flex-start;gap:.5rem}.config-info{grid-template-columns:1fr}}.profile-editor-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.profile-editor-modal{background:#fff;border-radius:16px;width:100%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 40px #0000004d}.profile-editor-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 0;border-bottom:1px solid #eee;margin-bottom:0}.profile-editor-header h2{margin:0;color:#1a1a1a;font-size:24px;font-weight:600}.close-button{background:none;border:none;font-size:32px;color:#666;cursor:pointer;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s ease}.close-button:hover{background:#f5f5f5;color:#333}.profile-editor-tabs{display:flex;border-bottom:1px solid #eee;padding:0 24px}.tab{background:none;border:none;padding:16px 20px;cursor:pointer;font-size:14px;font-weight:500;color:#666;border-bottom:2px solid transparent;transition:all .2s ease}.tab:hover{color:#333;background:#f8f9fa}.tab.active{color:#007bff;border-bottom-color:#007bff;background:#f8f9fa}.profile-editor-content{flex:1;overflow-y:auto;padding:24px}.tab-content{max-width:600px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:6px;font-weight:500;color:#333;font-size:14px}.form-group input,.form-group textarea{width:100%;padding:12px 16px;border:2px solid #e1e5e9;border-radius:8px;font-size:14px;transition:border-color .2s ease;font-family:inherit}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.form-group textarea{resize:vertical;min-height:80px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.image-preview{margin-top:12px;text-align:center}.image-preview img{max-width:120px;max-height:120px;border-radius:8px;border:2px solid #eee;object-fit:cover}.social-link-item{margin-bottom:16px}.social-link-input{display:flex;gap:8px;align-items:flex-end}.social-link-input input{flex:1}.remove-link{background:#dc3545;color:#fff;border:none;padding:12px 16px;border-radius:8px;cursor:pointer;font-size:12px;font-weight:500;transition:background-color .2s ease;white-space:nowrap}.remove-link:hover{background:#c82333}.add-social-link{margin-top:24px;padding-top:24px;border-top:1px solid #eee}.add-social-link h4{margin:0 0 16px;color:#333;font-size:16px}.social-platforms{display:flex;flex-wrap:wrap;gap:8px}.add-platform-btn{background:#f8f9fa;border:2px solid #e1e5e9;padding:8px 16px;border-radius:20px;cursor:pointer;font-size:12px;font-weight:500;color:#666;transition:all .2s ease}.add-platform-btn:hover{background:#007bff;color:#fff;border-color:#007bff}.contact-preferences{display:flex;flex-direction:column;gap:12px}.checkbox-label{display:flex;align-items:center;gap:8px;font-weight:400;cursor:pointer}.checkbox-label input[type=checkbox]{width:auto;margin:0}.json-editor{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;background:#f8f9fa;border:2px solid #e1e5e9}.profile-editor-actions{display:flex;justify-content:flex-end;gap:12px;padding:24px;border-top:1px solid #eee;background:#f8f9fa;border-radius:0 0 16px 16px}.btn{padding:12px 24px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:100px}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover:not(:disabled){background:#5a6268}.btn-primary{background:#007bff;color:#fff}.btn-primary:hover:not(:disabled){background:#0056b3}.error-message{background:#f8d7da;color:#721c24;padding:12px 16px;border-radius:8px;margin:16px 24px;border:1px solid #f5c6cb;font-size:14px}@media (max-width: 768px){.profile-editor-overlay{padding:10px}.profile-editor-modal{max-height:95vh}.profile-editor-header{padding:16px 16px 0}.profile-editor-content,.profile-editor-actions{padding:16px}.profile-editor-tabs{padding:0 16px;overflow-x:auto}.tab{padding:12px 16px;font-size:13px;white-space:nowrap}.form-row{grid-template-columns:1fr}.social-link-input{flex-direction:column;align-items:stretch}.social-platforms{justify-content:center}}.admin-dashboard{max-width:1400px;margin:0 auto;padding:1rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f8f9fa;min-height:100vh}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #e5e7eb}.dashboard-header h1{margin:0;color:#1f2937;font-size:1.8rem}.header-controls{display:flex;align-items:center;gap:1rem}.emergency-btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease}.emergency-btn.enabled{background:#10b981;color:#fff}.emergency-btn.disabled{background:#ef4444;color:#fff;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.logout-btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease;background:#6b7280;color:#fff}.logout-btn:hover{background:#4b5563;transform:translateY(-1px)}.admin-tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:2px solid #e5e7eb;overflow-x:auto}.admin-tabs .tab-button{padding:1rem 1.5rem;border:none;background:none;color:#6b7280;font-weight:500;font-size:.9rem;cursor:pointer;border-bottom:3px solid transparent;transition:all .2s ease;white-space:nowrap}.admin-tabs .tab-button:hover{color:#3b82f6;background:#3b82f60d}.admin-tabs .tab-button.active{color:#3b82f6;border-bottom-color:#3b82f6;background:#3b82f60d}.tab-content{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 1px 3px #0000001a}.overview-tab{display:flex;flex-direction:column;gap:2rem}.quick-actions h3{margin:0 0 1rem;color:#1f2937;font-size:1.2rem}.action-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.action-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 1.5rem;background:#6366f1;color:#fff;text-decoration:none;border:none;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease}.action-btn:hover{background:#5856eb;transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d;color:#fff}.recent-messages-preview h3{margin:0 0 1rem;color:#1f2937;font-size:1.2rem}.message-preview{padding:1rem;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:.5rem;background:#f9fafb}.message-preview-content{color:#374151;margin-bottom:.5rem;line-height:1.4}.message-preview-time{font-size:.8rem;color:#6b7280}.view-all-btn{width:100%;padding:.75rem;background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;color:#374151;font-weight:500;cursor:pointer;transition:all .2s ease;margin-top:1rem}.view-all-btn:hover{background:#e5e7eb}.analytics-tab h2{margin:0 0 1.5rem;color:#1f2937;font-size:1.5rem}.analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.analytics-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem}.analytics-card h4{margin:0 0 1rem;color:#1f2937;font-size:1.1rem}.status-breakdown,.category-breakdown{display:flex;flex-direction:column;gap:.5rem}.status-item,.category-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background:#fff;border-radius:6px}.status-label,.category-label{color:#374151;font-weight:500}.status-count,.category-count{color:#6b7280;font-weight:600}.no-analytics{text-align:center;color:#6b7280;padding:3rem;font-style:italic}.analytics-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;text-align:center;box-shadow:0 1px 3px #0000001a}.stat-card h3{margin:0 0 .5rem;font-size:.9rem;color:#6b7280;font-weight:500}.stat-value{font-size:2rem;font-weight:700;color:#1f2937}.messages-section{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem}.messages-section h2{margin:0 0 1rem;color:#1f2937;font-size:1.3rem}.messages-list{display:flex;flex-direction:column;gap:1rem;max-height:600px;overflow-y:auto}.no-messages{text-align:center;color:#6b7280;padding:2rem;font-style:italic}.message-card{border:1px solid #e5e7eb;border-radius:8px;padding:1rem;background:#f9fafb;transition:all .2s ease}.message-card:hover{border-color:#3b82f6;box-shadow:0 2px 8px #3b82f61a}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.8rem}.message-time{color:#6b7280}.message-status{padding:.25rem .5rem;border-radius:12px;font-weight:500;text-transform:uppercase;font-size:.7rem}.message-status.delivered{background:#d1fae5;color:#065f46}.message-status.pending{background:#fef3c7;color:#92400e}.message-status.failed{background:#fee2e2;color:#991b1b}.message-content{margin:.75rem 0;line-height:1.5;color:#1f2937}.message-footer{display:flex;justify-content:space-between;align-items:center;margin-top:.75rem;padding-top:.75rem;border-top:1px solid #e5e7eb}.message-sender{font-size:.8rem;color:#6b7280}.respond-btn{background:#3b82f6;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.8rem;cursor:pointer;transition:background .2s ease}.respond-btn:hover{background:#2563eb}.respond-btn:disabled{background:#9ca3af;cursor:not-allowed}.message-card.filtered{background:#fef2f2;border-color:#fca5a5}.message-card.filtered:hover{border-color:#f87171;box-shadow:0 2px 8px #f871711a}.message-status-group{display:flex;align-items:center;gap:.5rem}.filtered-badge{background:#fee2e2;color:#991b1b;padding:.25rem .5rem;border-radius:12px;font-weight:500;font-size:.7rem;text-transform:uppercase}.filter-reason{background:#fef2f2;border:1px solid #fca5a5;border-radius:6px;padding:.5rem;margin:.5rem 0;font-size:.8rem;color:#991b1b}.message-status.filtered{background:#fee2e2;color:#991b1b}.messages-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.message-stats{display:flex;gap:1rem}.message-stats .stat{padding:.5rem 1rem;border-radius:20px;font-size:.8rem;font-weight:600}.message-stats .stat.delivered{background:#d1fae5;color:#065f46}.message-stats .stat.filtered{background:#fee2e2;color:#991b1b}.message-filters{display:flex;gap:.5rem;margin-bottom:1rem;padding:1rem;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.filter-btn{padding:.5rem 1rem;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#374151;font-size:.8rem;cursor:pointer;transition:all .2s ease}.filter-btn:hover{background:#f3f4f6;border-color:#9ca3af}.filter-btn.active{background:#3b82f6;color:#fff;border-color:#3b82f6}.message-card.unread{border-left:4px solid #3b82f6;background:#eff6ff}.unread-badge{background:#dbeafe;color:#1d4ed8;padding:.25rem .5rem;border-radius:12px;font-weight:500;font-size:.7rem;text-transform:uppercase}.message-actions{display:flex;gap:.5rem;align-items:center}.mark-read-btn{background:#10b981;color:#fff;border:none;padding:.4rem .8rem;border-radius:4px;font-size:.7rem;cursor:pointer;transition:background .2s ease}.mark-read-btn:hover{background:#059669}.conversations-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.conversation-stats{display:flex;gap:1rem}.conversation-stats .stat{padding:.5rem 1rem;border-radius:20px;font-size:.8rem;font-weight:600}.conversation-stats .stat.unread{background:#dbeafe;color:#1d4ed8}.conversation-stats .stat.flagged{background:#fee2e2;color:#991b1b}.conversation-card{border:1px solid #e5e7eb;border-radius:8px;padding:1rem;margin-bottom:.5rem;background:#fff;cursor:pointer;transition:all .2s ease}.conversation-card:hover{border-color:#3b82f6;box-shadow:0 2px 8px #3b82f61a}.conversation-card.has-unread{border-left:4px solid #3b82f6;background:#eff6ff}.conversation-card.flagged{border-left:4px solid #ef4444;background:#fef2f2}.conversation-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.8rem}.device-id{font-weight:600;color:#374151}.last-message-time{color:#6b7280}.conversation-preview{color:#4b5563;line-height:1.4;margin-bottom:.5rem}.conversation-footer{display:flex;justify-content:space-between;align-items:center;font-size:.7rem}.message-count{color:#6b7280}.conversation-badges{display:flex;gap:.5rem;align-items:center}.unread-count{background:#dbeafe;color:#1d4ed8;padding:.2rem .5rem;border-radius:10px;font-weight:600}.flagged-badge{background:#fee2e2;color:#991b1b;padding:.2rem .5rem;border-radius:10px;font-weight:600}.conversation-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb}.header-left{display:flex;align-items:center;gap:1rem}.header-actions{display:flex;gap:.5rem}.mark-conversation-read-btn{background:#10b981;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.8rem;font-weight:600;transition:background .2s ease}.mark-conversation-read-btn:hover{background:#059669}.back-btn{background:#6b7280;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.8rem;transition:background .2s ease}.back-btn:hover{background:#4b5563}.conversation-messages{max-height:600px;overflow-y:auto;padding:1rem;background:#f9fafb;border-radius:8px}.conversation-message{margin-bottom:1rem;padding:1rem;border-radius:8px;border:1px solid #e5e7eb}.conversation-message.incoming{background:#fff;margin-right:2rem}.conversation-message.outgoing{background:#eff6ff;margin-left:2rem;border-color:#bfdbfe}.conversation-message.unread{border-left:4px solid #3b82f6}.conversation-message.filtered{background:#fef2f2;border-color:#fca5a5}.message-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.7rem}.message-badges{display:flex;gap:.5rem;align-items:center}.type-badge{padding:.2rem .4rem;border-radius:8px;font-size:.6rem}.type-badge.incoming{background:#f3f4f6;color:#374151}.type-badge.outgoing{background:#dbeafe;color:#1d4ed8}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:8px;padding:1.5rem;max-width:500px;width:90%;max-height:80vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb}.modal-header h3{margin:0;color:#1f2937}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6b7280;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.original-message{background:#f3f4f6;padding:1rem;border-radius:6px;margin-bottom:1rem;font-size:.9rem;color:#374151}.response-textarea{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;font-family:inherit;resize:vertical;margin-bottom:1rem}.response-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.modal-actions{display:flex;gap:1rem;justify-content:flex-end}.btn{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover:not(:disabled){background:#2563eb}.btn-primary:disabled{background:#9ca3af;cursor:not-allowed}.btn-secondary{background:#6b7280;color:#fff}.btn-secondary:hover{background:#4b5563}.loading{text-align:center;padding:2rem;color:#6b7280;font-size:1.1rem}@media (max-width: 768px){.admin-dashboard{padding:.5rem}.dashboard-header{flex-direction:column;gap:1rem;text-align:center}.analytics-summary{grid-template-columns:repeat(2,1fr)}.message-footer{flex-direction:column;gap:.5rem;align-items:flex-start}.modal-content{width:95%;padding:1rem}.modal-actions{flex-direction:column}}.profile-tab{max-width:800px;margin:0 auto}.profile-header{text-align:center;margin-bottom:32px;padding-bottom:24px;border-bottom:2px solid #eee}.profile-header h2{color:#1a1a1a;margin-bottom:8px;font-size:28px;font-weight:600}.profile-header p{color:#666;font-size:16px;margin:0}.profile-content{display:flex;flex-direction:column;gap:24px}.profile-preview{background:#f8f9fa;border-radius:12px;padding:24px;border:2px solid #e1e5e9}.profile-preview h3{margin:0 0 16px;color:#333;font-size:20px;font-weight:600}.profile-summary{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:start}.profile-info h4{margin:0 0 8px;color:#1a1a1a;font-size:24px;font-weight:600}.profile-info .blurb{margin:0 0 12px;color:#666;font-style:italic;font-size:16px}.profile-info .bio{margin:0 0 16px;color:#333;line-height:1.5}.social-links{margin-bottom:16px}.social-links strong{display:block;margin-bottom:8px;color:#333}.social-links ul{list-style:none;padding:0;margin:0}.social-links li{margin-bottom:4px;font-size:14px}.social-links li strong{display:inline;margin-right:8px;text-transform:capitalize}.event-info{padding:12px 16px;background:#e3f2fd;border-radius:8px;border-left:4px solid #2196f3}.event-info strong{color:#1976d2}.profile-image{flex-shrink:0}.profile-image img{width:120px;height:120px;border-radius:12px;object-fit:cover;border:3px solid #fff;box-shadow:0 4px 12px #0000001a}.profile-actions{text-align:center}.profile-actions .btn{padding:16px 32px;font-size:16px;font-weight:600;border-radius:12px;border:none;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:8px}.profile-actions .btn-primary{background:#007bff;color:#fff}.profile-actions .btn-primary:hover{background:#0056b3;transform:translateY(-2px);box-shadow:0 4px 12px #007bff4d}@media (max-width: 768px){.profile-summary{grid-template-columns:1fr;text-align:center}.profile-image{order:-1;justify-self:center}.profile-preview{padding:16px}.profile-header{margin-bottom:24px;padding-bottom:16px}.profile-header h2{font-size:24px}}.privacy-settings{max-width:800px;margin:0 auto;padding:2rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f8f9fa;min-height:100vh}.privacy-header{text-align:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #e5e7eb}.privacy-header h2{margin:0 0 .5rem;color:#1f2937;font-size:2rem}.privacy-header p{margin:0;color:#6b7280;font-size:1.1rem}.privacy-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:2rem;margin-bottom:1.5rem;box-shadow:0 1px 3px #0000001a}.privacy-section h3{margin:0 0 1.5rem;color:#1f2937;font-size:1.3rem;font-weight:600}.privacy-section h4{margin:1rem 0 .5rem;color:#374151;font-size:1.1rem;font-weight:600}.device-info{display:flex;flex-direction:column;gap:1rem}.info-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f9fafb;border-radius:8px}.info-item strong{color:#374151;min-width:120px}.info-item code{background:#e5e7eb;padding:.25rem .5rem;border-radius:4px;font-family:Monaco,Menlo,monospace;font-size:.9rem}.status{padding:.25rem .75rem;border-radius:20px;font-size:.9rem;font-weight:600}.status.enabled{background:#dcfce7;color:#166534}.status.disabled{background:#fee2e2;color:#991b1b}.consent-option{margin-bottom:1rem}.consent-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;font-size:1rem}.consent-label input[type=checkbox]{margin-top:.25rem;width:18px;height:18px;cursor:pointer}.consent-text{font-weight:600;color:#1f2937}.consent-description{margin:.5rem 0 0 2rem;color:#6b7280;font-size:.9rem;line-height:1.5}.data-controls{display:flex;gap:1rem;flex-wrap:wrap}.view-history-btn,.delete-data-btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease}.view-history-btn{background:#3b82f6;color:#fff}.view-history-btn:hover:not(:disabled){background:#2563eb}.delete-data-btn{background:#ef4444;color:#fff}.delete-data-btn:hover:not(:disabled){background:#dc2626}.view-history-btn:disabled,.delete-data-btn:disabled{background:#9ca3af;cursor:not-allowed}.session-summary{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;margin-bottom:2rem}.summary-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.stat-item{font-size:.9rem;color:#374151}.stat-item strong{color:#1f2937}.no-interactions,.no-history{text-align:center;color:#6b7280;padding:2rem;font-style:italic}.timeline-items{display:flex;flex-direction:column;gap:1rem}.timeline-item{display:flex;gap:1rem;padding:1rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;transition:all .2s ease}.timeline-item:hover{border-color:#3b82f6;box-shadow:0 2px 8px #3b82f61a}.timeline-icon{font-size:1.5rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#fff;border:2px solid #e5e7eb;border-radius:50%;flex-shrink:0}.timeline-content{flex:1}.timeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.interaction-type{font-weight:600;color:#1f2937;font-size:.9rem}.interaction-time{color:#6b7280;font-size:.8rem}.timeline-details{color:#4b5563;font-size:.9rem;line-height:1.4}.timeline-details div{margin-bottom:.25rem}.privacy-info ul{margin:.5rem 0 1rem 1.5rem;color:#4b5563}.privacy-info li{margin-bottom:.5rem;line-height:1.4}.privacy-settings .loading-spinner{text-align:center;padding:2rem}.privacy-settings .error-message{margin-bottom:1rem}@media (max-width: 768px){.privacy-settings{padding:1rem}.privacy-section{padding:1.5rem}.data-controls{flex-direction:column}.view-history-btn,.delete-data-btn{width:100%;justify-content:center}.summary-stats{grid-template-columns:1fr}.timeline-header{flex-direction:column;align-items:flex-start;gap:.25rem}.info-item{flex-direction:column;align-items:flex-start;gap:.5rem}.info-item strong{min-width:auto}}@media (max-width: 480px){.privacy-header h2{font-size:1.5rem}.timeline-item{padding:.75rem}.timeline-icon{width:35px;height:35px;font-size:1.2rem}}.consent-banner{position:fixed;bottom:0;left:0;right:0;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1rem;box-shadow:0 -4px 12px #00000026;z-index:1000;animation:slideUp .3s ease-out}.consent-banner.privacy-notice{background:#1f2937;padding:.75rem 1rem;border-top:2px solid #3b82f6}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.consent-banner-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:2rem}.consent-banner-text{flex:1}.consent-banner-text h4{margin:0 0 .5rem;font-size:1.1rem;font-weight:600}.consent-banner-text p{margin:0;font-size:.9rem;line-height:1.4;opacity:.9}.privacy-notice .consent-banner-text p{font-size:.85rem;opacity:.95}.consent-banner-actions{display:flex;gap:.75rem;flex-shrink:0}.consent-btn{padding:.5rem 1rem;border:none;border-radius:.5rem;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.consent-btn:disabled{opacity:.6;cursor:not-allowed}.learn-more-btn{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3)}.learn-more-btn:hover:not(:disabled){background:#ffffff4d}.decline-btn{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2)}.decline-btn:hover:not(:disabled){background:#fff3}.accept-btn{background:#10b981;color:#fff;border:1px solid #059669}.accept-btn:hover:not(:disabled){background:#059669;transform:translateY(-1px);box-shadow:0 2px 8px #10b9814d}@media (max-width: 768px){.consent-banner{padding:1rem .75rem}.consent-banner-content{flex-direction:column;gap:1rem;text-align:center}.consent-banner-actions{width:100%;justify-content:center;flex-wrap:wrap}.consent-btn{flex:1;min-width:100px}.consent-banner-text h4{font-size:1rem}.consent-banner-text p{font-size:.85rem}}@media (max-width: 480px){.consent-banner-actions{flex-direction:column}.consent-btn{width:100%}}
