.voice-input-container{display:flex;flex-direction:column;width:100%;max-width:600px;margin:0 auto;padding:20px;border-radius:12px;background-color:#f8f9fa;box-shadow:0 4px 12px rgba(0,0,0,.1)}.voice-input-header{text-align:center;margin-bottom:20px}.voice-input-header h2{color:#333;margin-bottom:8px}.voice-input-header p{color:#666;margin-bottom:16px}.toggle-input-mode{background-color:#f0f0f0;border:1px solid #ddd;color:#555;border-radius:20px;padding:6px 12px;font-size:14px;cursor:pointer;transition:all .2s ease}.toggle-input-mode:hover{background-color:#e5e5e5}.voice-controls{flex-direction:column;margin-bottom:20px}.record-button,.voice-controls{display:flex;align-items:center}.record-button{width:120px;height:120px;border-radius:50%;background-color:#2563eb;color:white;border:none;box-shadow:0 4px 12px rgba(37,99,235,.3);font-size:16px;font-weight:500;cursor:pointer;transition:all .2s ease;justify-content:center}.record-button:hover{background-color:#1d4ed8;transform:scale(1.05)}.record-button:active{transform:scale(.95)}.record-button.recording{background-color:#dc2626;animation:pulse 1.5s infinite}.processing-indicator{margin-top:16px;color:#666;font-size:14px;font-style:italic}.text-input-form{display:flex;margin-bottom:20px}.text-input{flex:1;padding:12px 16px;border:1px solid #ddd;border-radius:24px 0 0 24px;font-size:16px;outline:none;transition:border-color .2s ease}.text-input:focus{border-color:#2563eb}.send-button{background-color:#2563eb;color:white;border:none;border-radius:0 24px 24px 0;padding:0 20px;font-size:16px;cursor:pointer;transition:background-color .2s ease}.send-button:hover{background-color:#1d4ed8}.send-button:disabled{background-color:#93c5fd;cursor:not-allowed}.conversation-container{display:flex;flex-direction:column;margin-top:20px;max-height:400px;overflow-y:auto;padding-right:10px}.query-bubble,.response-bubble{max-width:80%;padding:12px 16px;border-radius:18px;margin-bottom:12px;box-shadow:0 1px 2px rgba(0,0,0,.1)}.query-bubble{background-color:#e5e7eb;color:#1f2937;align-self:flex-end;border-bottom-right-radius:4px}.response-bubble{background-color:#2563eb;color:white;align-self:flex-start;border-bottom-left-radius:4px}.error-message{background-color:#fee2e2;color:#b91c1c;padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px;display:flex;align-items:center}.error-message:before{content:"⚠️";margin-right:8px;font-size:16px}@media (max-width:640px){.voice-input-container{max-width:100%;padding:16px;border-radius:8px}.record-button{width:100px;height:100px;font-size:14px}.query-bubble,.response-bubble{max-width:90%;padding:10px 14px}}.typing-indicator{display:flex;align-items:center;padding:12px 16px;background-color:#2563eb;color:white;border-radius:18px;border-bottom-left-radius:4px;align-self:flex-start;margin-bottom:12px;width:fit-content}.typing-indicator span{display:inline-block;width:8px;height:8px;background-color:white;border-radius:50%;margin-right:5px;animation:bounce 1.2s infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s;margin-right:0}.auth-status{display:flex;align-items:center;justify-content:center;font-size:12px;color:#666;margin-top:16px}.auth-status.authenticated{color:#059669}.auth-status.anonymous{color:#9ca3af}.auth-status .icon{margin-right:6px;font-size:14px}.history-button{align-self:flex-end;margin-top:16px;background-color:#f0f0f0;border:1px solid #ddd;color:#555;border-radius:20px;padding:6px 12px;font-size:14px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center}.history-button:hover{background-color:#e5e5e5}.history-button .icon{margin-right:6px}.history-modal{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background-color:white;border-radius:12px;padding:24px;width:90%;max-width:600px;max-height:80vh;overflow-y:auto;box-shadow:0 4px 20px rgba(0,0,0,.2)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #e5e7eb}.modal-header h3{color:#111;margin:0}.close-button{background:none;border:none;font-size:24px;color:#666;cursor:pointer}.close-button:hover{color:#333}.history-list{display:flex;flex-direction:column}.history-item{padding:12px;border-bottom:1px solid #e5e7eb;cursor:pointer;transition:background-color .2s ease}.history-item:hover{background-color:#f9fafb}.history-item:last-child{border-bottom:none}.history-item-query{font-weight:500;color:#333;margin-bottom:6px}.history-item-response{color:#666;font-size:14px;line-height:1.5}.history-item-time{color:#9ca3af;font-size:12px;margin-top:6px}.language-selector{margin-bottom:16px;display:flex;justify-content:flex-end}.language-selector select{padding:6px 10px;border-radius:6px;border:1px solid #ddd;background-color:white;font-size:14px;outline:none}.language-selector select:focus{border-color:#2563eb}.listening{animation:pulse 1s infinite}.speaking{animation:wave .5s infinite}@keyframes wave{0%{transform:translateY(0)}50%{transform:translateY(-5px)}to{transform:translateY(0)}}.dashboard-page{display:flex;flex-direction:column;min-height:100vh;background:linear-gradient(135deg,#f0f4ff,#ffffff);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.dashboard-content{flex:1;padding:32px;max-width:1280px;margin:0 auto;width:100%}.dashboard-header{background:#ffffff;padding:16px 32px;box-shadow:0 4px 12px rgba(0,0,0,.05);border-radius:12px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin:16px}.logo-container{gap:12px}.logo-container a{display:flex;align-items:center;gap:12px;text-decoration:none}.logo{height:40px;transition:transform .3s ease}.logo:hover{transform:scale(1.05)}.app-name{font-size:1.5rem;font-weight:700;color:#1e40af;letter-spacing:-.02em}.business-info{flex-grow:1;display:flex;flex-direction:column;gap:4px}.business-name{font-size:1.75rem;font-weight:600;color:#1f2a44;margin:0}.custom-url-container{display:flex;align-items:center;gap:12px;font-size:.9rem}.custom-url-label{color:#6b7280;font-weight:500}.custom-url{color:#3b82f6;text-decoration:none;transition:color .2s ease}.custom-url:hover{color:#2563eb}.copy-button{background:#eff6ff;border:1px solid #dbeafe;padding:6px 12px;border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:500;color:#3b82f6;transition:all .2s ease}.copy-button:hover{background:#dbeafe;transform:translateY(-1px)}.dashboard-nav{flex-basis:100%;margin-top:16px}.nav-tabs{display:flex;list-style:none;padding:0;margin:0;border-bottom:1px solid #e5e7eb}.nav-tabs li{margin-right:32px}.nav-tabs li a{display:block;padding:12px 0;color:#6b7280;text-decoration:none;font-weight:600;font-size:.95rem;position:relative;transition:color .2s ease}.nav-tabs li a:hover,.nav-tabs li.active a{color:#1e40af}.nav-tabs li.active a:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:3px;background:linear-gradient(90deg,#3b82f6,#1e40af);border-radius:2px}.user-controls{display:flex;align-items:center;gap:16px}.user-email{font-size:.9rem;color:#6b7280;font-weight:500}.logout-button{background:#ffffff;border:1px solid #e5e7eb;padding:8px 20px;border-radius:8px;cursor:pointer;font-weight:600;font-size:.9rem;color:#dc2626;transition:all .2s ease}.logout-button:hover{background:#fef2f2;border-color:#dc2626;transform:translateY(-1px)}.overview-container{display:flex;flex-direction:column;gap:24px}.welcome-section{background:#ffffff;padding:24px;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.05)}.welcome-section h1{margin:0 0 8px;font-size:2rem;font-weight:700;color:#1f2a44}.welcome-section p{margin:0;color:#6b7280;line-height:1.6;font-size:1rem}.quick-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.stat-card{background:#ffffff;padding:24px;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.05);text-align:center;transition:transform .3s ease,box-shadow .3s ease}.stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.1)}.stat-card h3{margin:0 0 12px;color:#6b7280;font-size:1rem;font-weight:600}.stat-value{margin:0;font-size:2.25rem;font-weight:700;color:#1e40af}.recent-uploads{background:#ffffff;padding:24px;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.05)}.recent-uploads h2{margin:0 0 16px;font-size:1.5rem;font-weight:600;color:#1f2a44}.uploads-table{width:100%;border-collapse:initial;border-spacing:0}.uploads-table th{text-align:left;padding:12px 16px;color:#6b7280;font-weight:600}.uploads-table td,.uploads-table th{border-bottom:1px solid #e5e7eb;font-size:.9rem}.uploads-table td{padding:16px}.status-badge{display:inline-block;padding:6px 12px;border-radius:12px;font-size:.8rem;font-weight:600}.status-badge.completed{background:#ecfdf5;color:#059669}.status-badge.processing{background:#e0f2fe;color:#0284c7}.status-badge.failed{background:#fef2f2;color:#dc2626}.no-uploads{text-align:center;padding:40px;color:#6b7280;font-size:1rem}.upload-now-button{background:linear-gradient(90deg,#3b82f6,#1e40af);color:#ffffff;border:none;padding:10px 24px;border-radius:8px;cursor:pointer;font-weight:600;font-size:.9rem;transition:all .3s ease}.upload-now-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(59,130,246,.3)}.quick-links{background:#ffffff;padding:24px;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.05)}.quick-links h2{margin:0 0 16px;font-size:1.5rem;font-weight:600;color:#1f2a44}.link-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.link-cards a{text-decoration:none;color:inherit}.link-card{border:1px solid #e5e7eb;border-radius:12px;padding:20px;transition:all .3s ease}.link-card:hover{border-color:#3b82f6;box-shadow:0 8px 24px rgba(59,130,246,.2);transform:translateY(-4px)}.link-card h3{margin:0 0 8px;font-size:1.1rem;font-weight:600;color:#1e40af}.link-card p{margin:0;color:#6b7280;font-size:.9rem}.uploads-container{background:#ffffff;padding:24px;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.05)}.analytics-container{display:flex;flex-direction:column;gap:24px}.date-range-selector{background:#ffffff;padding:24px;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.05)}.date-range-selector h2{margin:0 0 16px;font-size:1.5rem;font-weight:600;color:#1f2a44}.date-inputs{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.date-inputs label{display:flex;flex-direction:column;gap:6px;font-size:.9rem;font-weight:500;color:#6b7280}.date-inputs input{padding:10px;border:1px solid #e5e7eb;border-radius:8px;font-size:.9rem;transition:border-color .2s ease}.date-inputs input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.apply-date-range{background:linear-gradient(90deg,#3b82f6,#1e40af);color:#ffffff;border:none;padding:10px 24px;border-radius:8px;cursor:pointer;font-weight:600;font-size:.9rem;transition:all .3s ease}.apply-date-range:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(59,130,246,.3)}.error-container,.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:32px;text-align:center}.spinner{border:4px solid #f3f4f6;border-top-color:#3b82f6;border-radius:50%;width:48px;height:48px;animation:spin 1s linear infinite;margin-bottom:16px}.error-container h1{color:#dc2626;font-size:2rem;margin-bottom:8px}.error-container p{color:#6b7280;font-size:1rem}.error-container button{background:linear-gradient(90deg,#3b82f6,#1e40af);color:#ffffff;border:none;padding:10px 24px;border-radius:8px;cursor:pointer;font-weight:600;font-size:.9rem;transition:all .3s ease;margin-top:16px}.error-container button:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(59,130,246,.3)}@media (max-width:768px){.dashboard-header{flex-direction:column;align-items:flex-start;padding:16px;margin:8px}.business-info{margin:16px 0}.user-controls{align-self:flex-end}.link-cards,.quick-stats{grid-template-columns:1fr}.date-inputs{flex-direction:column;align-items:flex-start}.apply-date-range{margin-left:0;margin-top:12px}}@media (max-width:480px){.dashboard-content{padding:16px}.welcome-section h1{font-size:1.5rem}.stat-card h3{font-size:.9rem}.stat-value{font-size:1.75rem}.uploads-table td,.uploads-table th{font-size:.8rem;padding:12px}}.login-page,.register-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background-color:var(--background-secondary)}.login-container,.register-container{background-color:white;padding:32px;border-radius:8px;box-shadow:0 4px 12px var(--shadow-color);width:100%;max-width:400px}.logo-container{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:24px}.logo{height:48px;width:auto}.app-name{font-size:1.75rem;font-weight:600;color:var(--primary-color)}.form-title{font-size:1.5rem}.form-description,.form-title{margin-bottom:16px;text-align:center}.form-description{color:var(--text-secondary)}.auth-form{gap:16px}.auth-form,.form-group{display:flex;flex-direction:column}.form-group{gap:4px}.form-group label{font-weight:500}.form-group input{padding:10px 12px}.password-hint{font-size:.75rem;color:var(--text-secondary);margin-top:4px}.error-message{color:var(--error-color);font-size:.875rem;background-color:rgba(234,67,53,.1);padding:8px 12px;border-radius:4px}.success-message{color:var(--secondary-color);background-color:rgba(52,168,83,.1);padding:16px;border-radius:4px;text-align:center;gap:16px}.form-buttons,.success-message{display:flex;flex-direction:column}.form-buttons{gap:8px;margin-top:8px}.submit-button{padding:12px;font-size:1rem}.secondary-button{background-color:var(--background-secondary);color:var(--text-color)}.form-links{display:flex;justify-content:space-between;margin-top:8px;font-size:.875rem}.text-button{background-color:initial;color:var(--primary-color);padding:0;font-size:.875rem}.text-button:hover{background-color:initial;text-decoration:underline}.registration-success{text-align:center;display:flex;flex-direction:column;gap:16px}.login-button{margin-top:16px}.back-to-login-button{margin-top:8px}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-4px)}20%,40%,60%,80%{transform:translateX(4px)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px);max-height:0}to{opacity:1;transform:translateY(0);max-height:100px}}@keyframes slideUp{0%{opacity:1;transform:translateY(0);max-height:100px}to{opacity:0;transform:translateY(-10px);max-height:0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes bounce{0%,20%,53%,80%,to{transform:translateY(0)}40%,43%{transform:translateY(-8px)}70%{transform:translateY(-4px)}90%{transform:translateY(-2px)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.error-shake{animation:shake .5s ease-in-out}.error-slide-down{animation:slideDown .3s ease-out forwards}.error-slide-up{animation:slideUp .3s ease-in forwards}.error-fade-in{animation:fadeIn .3s ease-out}.error-fade-out{animation:fadeOut .3s ease-in}.retry-pulse{animation:pulse 2s infinite}.success-bounce{animation:bounce .6s ease-out}.field-error{border-color:#ef4444!important;box-shadow:0 0 0 3px rgba(239,68,68,.1)!important;background-color:#fef2f2!important}.field-error:focus{border-color:#ef4444!important;box-shadow:0 0 0 3px rgba(239,68,68,.2)!important}.field-warning{border-color:#f59e0b!important;box-shadow:0 0 0 3px rgba(245,158,11,.1)!important;background-color:#fffbeb!important}.field-warning:focus{border-color:#f59e0b!important;box-shadow:0 0 0 3px rgba(245,158,11,.2)!important}.field-success{border-color:#10b981!important;box-shadow:0 0 0 3px rgba(16,185,129,.1)!important;background-color:#f0fdf4!important}.field-success:focus{border-color:#10b981!important;box-shadow:0 0 0 3px rgba(16,185,129,.2)!important}.retry-countdown{position:relative;overflow:hidden}.retry-countdown:before{content:"";position:absolute;top:0;left:0;height:2px;background:linear-gradient(90deg,#3b82f6,#60a5fa);animation:countdownBar var(--countdown-duration,3s) linear}@keyframes countdownBar{0%{width:100%}to{width:0}}.loading-shimmer{background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb 50%,#f3f4f6 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.error-icon-spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-icon-bounce{animation:iconBounce .5s ease-out}@keyframes iconBounce{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.transition-error{transition:all .3s ease}.transition-error-colors{transition:border-color .3s ease,background-color .3s ease,box-shadow .3s ease}@media (prefers-reduced-motion:reduce){.error-icon-bounce,.error-icon-spin,.error-shake,.error-slide-down,.error-slide-up,.loading-shimmer,.retry-pulse,.success-bounce{animation:none}.transition-error,.transition-error-colors{transition:none}}@media (prefers-color-scheme:dark){.field-error{background-color:rgba(239,68,68,.1)!important}.field-warning{background-color:rgba(245,158,11,.1)!important}.field-success{background-color:rgba(16,185,129,.1)!important}}