*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}.ominis-assistant{bottom:24px;cursor:pointer;height:48px;position:fixed;right:24px;user-select:none;width:48px;z-index:999999}.ominis-assistant svg{filter:drop-shadow(0 4px 12px rgba(232,28,35,.2));height:100%;opacity:.85;pointer-events:none;transition:all .3s ease;width:100%}.ominis-assistant:hover svg{filter:drop-shadow(0 6px 20px rgba(232,28,35,.4));opacity:1;transform:scale(1.1) rotate(5deg)}.ominis-assistant.pulse svg{animation:float-bounce 3s ease-in-out infinite}@keyframes float-bounce{0%,to{opacity:.85;transform:translateY(0) rotate(0deg) scale(1)}25%{opacity:1;transform:translateY(-8px) rotate(3deg) scale(1.05)}50%{opacity:.85;transform:translateY(0) rotate(-3deg) scale(1)}75%{opacity:.95;transform:translateY(-4px) rotate(2deg) scale(1.02)}}.ominis-assistant:after{background:linear-gradient(135deg,#ff3745,#e81c23);border-radius:12px;box-shadow:0 4px 16px rgba(232,28,35,.25),0 2px 8px rgba(0,0,0,.1);color:#fff;content:"¿Necesitas ayuda?";font-size:13px;font-weight:500;letter-spacing:.3px;padding:10px 16px;right:62px;white-space:nowrap}.ominis-assistant:after,.ominis-assistant:before{opacity:0;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);transition:opacity .3s ease}.ominis-assistant:before{border-bottom:7px solid transparent;border-left:10px solid #e81c23;border-top:7px solid transparent;content:"";filter:drop-shadow(2px 0 4px rgba(232,28,35,.15));height:0;right:54px;width:0}.ominis-assistant.show-tooltip:after,.ominis-assistant.show-tooltip:before,.ominis-assistant:hover:after,.ominis-assistant:hover:before{opacity:1}.ominis-assistant.pulse:after,.ominis-assistant.pulse:before{animation:tooltip-bounce 3s ease-in-out infinite}@keyframes tooltip-bounce{0%,to{transform:translateY(-50%)}25%{transform:translateY(calc(-50% - 8px))}50%{transform:translateY(-50%)}75%{transform:translateY(calc(-50% - 4px))}}.ominis-chat{animation:slideUp .3s ease-out;background:#fff;border-radius:12px;bottom:84px;box-shadow:0 8px 32px rgba(0,0,0,.12);display:none;flex-direction:column;height:600px;position:fixed;right:24px;width:380px;z-index:999998}.ominis-chat.open{display:flex}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.chat-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;gap:12px;padding:16px 20px}.chat-header svg{height:28px;width:28px}.chat-header-text{color:#1a1a1a;flex:1;font-size:15px;font-weight:500}.chat-close,.chat-download{align-items:center;background:none;border:none;color:#555;cursor:pointer;display:flex;justify-content:center;min-height:44px;min-width:44px;padding:12px;transition:color .2s,transform .2s ease}.chat-close{font-size:20px}.chat-download{font-size:18px}.chat-close:hover,.chat-download:hover{color:#ff8c00;transform:scale(1.1)}.chat-messages{background:#fafafa;flex:1;overflow-y:auto;padding:20px 20px 8px}.message{border-radius:8px;font-size:14px;line-height:1.5;margin-bottom:12px;max-width:80%;padding:10px 14px;white-space:pre-wrap;word-wrap:break-word;background:#fff;color:#1a1a1a;position:relative}.message.user{background:#f5f5f5;margin-left:auto;text-align:right}.message.ai{background:#fff}.message a.auto-link{color:#2563eb;text-decoration:underline;word-break:break-all}.message a.auto-link:hover{color:#1d4ed8}.message.system{background:#fff3e0;border-left:3px solid #e65100;color:#e65100;font-size:12px}.message.success{background:#e8f5e9;border-left:3px solid #2e7d32;color:#2e7d32;font-size:12px;max-width:100%;text-align:center}.message-block{position:relative}.message-timestamp{background:rgba(0,0,0,.75);border-radius:4px;bottom:100%;color:#fff;display:none;font-size:11px;left:50%;margin-bottom:4px;padding:4px 8px;position:absolute;transform:translateX(-50%);white-space:nowrap;z-index:10}.message:hover .message-timestamp{display:block}.message.user .message-timestamp{left:auto;right:0;transform:none}.message.ai .message-timestamp{left:0;transform:none}.message-block.late-arrival:before{animation:late-arrival-pulse 2s ease-out;background:linear-gradient(180deg,#e81c23,transparent);border-radius:3px 0 0 3px;content:"";height:100%;left:0;position:absolute;top:0;width:3px}@keyframes late-arrival-pulse{0%{box-shadow:0 0 8px #e81c23;opacity:1}to{box-shadow:none;opacity:.3}}.message-block.reordered{animation:slideInPlace .3s ease-out}@keyframes slideInPlace{0%{opacity:.5;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.message.typing{align-items:center;background:transparent;border-left:none;display:flex;gap:4px;margin:12px 0;padding:10px 14px}.typing-dot{animation:typing-bounce 1.4s ease-in-out infinite;background:#e81c23;border-radius:50%;height:8px;width:8px}.typing-dot:first-child{animation-delay:0s}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,60%,to{opacity:.7;transform:translateY(0)}30%{opacity:1;transform:translateY(-10px)}}.chat-input{background:#fff;border-top:1px solid #f0f0f0;display:flex;gap:8px;padding:16px}.mic-button{background:#f0f0f0;border:none;border-radius:50%;color:#666;cursor:pointer;flex-shrink:0;font-size:20px;height:48px;transition:all .2s ease;width:48px}.mic-button:hover{background:#e0e0e0;transform:scale(1.05)}.mic-button.recording{animation:pulse 1.5s infinite;background:#ef4444}@keyframes pulse{0%,to{box-shadow:0 0 0 0 rgba(239,68,68,.7);opacity:1}50%{box-shadow:0 0 0 10px rgba(239,68,68,0);opacity:.9}}.text-input{border:1px solid #e0e0e0;border-radius:24px;flex:1;font-family:inherit;font-size:14px;outline:none;padding:12px 16px;transition:border-color .2s ease}.text-input:focus{border-color:#ff8c00}.attach-button{align-items:center;background:#f0f0f0;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;flex-shrink:0;font-size:20px;height:48px;justify-content:center;transition:all .2s ease;width:48px}.attach-button:hover{background:#e0e0e0;transform:scale(1.05)}@media (max-width:480px){.ominis-chat{bottom:76px;height:calc(100vh - 100px);right:16px;width:calc(100vw - 32px)}}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0;white-space:nowrap}.attach-button:focus,.ominis-assistant:focus,.text-input:focus,button:focus{outline:3px solid #ff8c00;outline-offset:2px}button:focus:not(:focus-visible){outline:none}button:focus-visible{outline:3px solid #ff8c00;outline-offset:2px}.options-wrapper{margin-top:12px}.menu-options{display:flex;flex-wrap:wrap;gap:8px;padding:0 4px}.menu-option{align-items:center;animation:optionFadeIn .25s ease-out forwards;background:linear-gradient(180deg,#fff,#f8f8f8);border:2px solid #e0e0e0;border-radius:24px;box-shadow:0 2px 4px rgba(0,0,0,.04),0 1px 2px rgba(0,0,0,.06);color:#1d1f20;cursor:pointer;display:flex;font-family:inherit;font-size:14px;font-weight:500;min-width:fit-content;opacity:0;overflow:hidden;padding:12px 20px;position:relative;transform:translateY(8px);transition:all .15s ease}.menu-icon{align-items:center;display:inline-flex;flex-shrink:0;justify-content:center;margin-right:8px}.menu-icon svg{vertical-align:middle}.menu-text{flex:1;overflow:visible;white-space:normal;word-wrap:break-word}.menu-option .menu-text{font-weight:600}.menu-icon+.menu-text:where([style*=""],:not([style])){align-items:center;background:rgba(232,28,35,.08);border:1px solid rgba(232,28,35,.3);border-radius:6px;color:#e81c23;display:inline-flex;flex:0 0 auto;font-size:15px;font-weight:700;height:28px;justify-content:center;margin-left:0;min-width:28px;padding:0 8px}.menu-option.positive .menu-icon+.menu-text:where([style*=""],:not([style])){background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.4);color:#10b981}.menu-option:before{background:#ed8488;border-radius:24px 0 0 24px;bottom:0;content:"";left:0;opacity:0;position:absolute;top:0;transition:opacity .15s ease;width:4px}.menu-option:hover{background:linear-gradient(180deg,#fff5f5,#ffecec);border-color:#ed8488;box-shadow:0 4px 8px rgba(232,28,35,.1),0 2px 4px rgba(0,0,0,.06);transform:translateY(-1px)}.menu-option:hover:before{opacity:1}.menu-option:focus{outline:2px solid #e81c23;outline-offset:2px}.menu-option:active{background:#e81c23;border-color:#e81c23;box-shadow:0 1px 2px rgba(0,0,0,.1);color:#fff;transform:scale(.98) translateY(0)}.menu-option:active:before{opacity:0}.menu-option.primary{background:linear-gradient(180deg,#e81c23,#c91920);border:2px solid #e81c23;border-radius:16px;box-shadow:0 4px 12px rgba(232,28,35,.25),0 2px 4px rgba(0,0,0,.1);color:#fff;font-size:15px;font-weight:600;letter-spacing:.3px;margin-bottom:8px;padding:16px 24px;width:100%}.menu-option.primary:before{display:none}.menu-option.primary:hover{background:linear-gradient(180deg,#f02028,#d41d24);border-color:#f02028;box-shadow:0 6px 16px rgba(232,28,35,.35),0 3px 6px rgba(0,0,0,.1);transform:translateY(-2px)}.menu-option.primary:active{box-shadow:0 2px 6px rgba(232,28,35,.2);transform:scale(.98)}.menu-option.primary:focus{outline:2px solid #1d1f20;outline-offset:2px}.menu-options.has-primary{display:grid;gap:10px;grid-template-columns:repeat(2,1fr)}.menu-options.has-primary .menu-option.primary{grid-column:1/-1}@keyframes optionFadeIn{to{opacity:1;transform:translateY(0)}}@keyframes optionPop{50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes optionsFadeOut{to{opacity:0;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.menu-option{opacity:1;transform:none}.menu-option,.menu-option.selected,.menu-options.removing{animation:none}}.menu-options.binary-choice{display:grid;gap:12px;grid-template-columns:1fr 1fr}.menu-options.binary-choice .menu-option{align-items:center;border-radius:12px;display:flex;gap:10px;justify-content:center;padding:14px 20px;width:100%}.menu-options.binary-choice .menu-option .menu-icon{align-items:center;display:inline-flex;flex-shrink:0;height:16px;justify-content:center;width:16px}.menu-option.positive{background:linear-gradient(180deg,#f0fdf4,#dcfce7);border-color:#22c55e}.menu-option.positive:before{display:none}.menu-option.positive:hover{background:linear-gradient(180deg,#dcfce7,#bbf7d0);border-color:#16a34a}.menu-option.positive.selected{background:#10b981!important;border-color:#10b981!important;color:#fff!important}.menu-option.negative{background:linear-gradient(180deg,#fef2f2,#fee2e2);border-color:#ef4444}.menu-option.negative:before{display:none}.menu-option.negative:hover{background:linear-gradient(180deg,#fee2e2,#fecaca);border-color:#dc2626}.menu-options.small-choice{display:flex;flex-direction:column;gap:8px}.menu-options.small-choice .menu-option{justify-content:flex-start;text-align:left;width:100%}.menu-options.grid-choice{display:flex;flex-wrap:wrap;gap:8px}.menu-options.grid-choice .menu-option{align-items:center;background:#fff;border:1.5px solid #e0e0e0;border-radius:10px;box-shadow:0 1px 2px rgba(0,0,0,.04);display:inline-flex;flex:0 0 auto;flex-direction:row;font-size:14px;gap:8px;justify-content:flex-start;max-width:100%;min-height:44px;padding:10px 14px;text-align:left;width:auto}.menu-options.grid-choice .menu-option:hover{background:#fafafa;border-color:#ccc;box-shadow:0 2px 4px rgba(0,0,0,.08);transform:translateY(-1px)}.menu-options.grid-choice .menu-option:active{background:#e81c23;border-color:#e81c23;color:#fff;transform:scale(.98)}.menu-options.grid-choice .menu-option .menu-icon{align-items:center;display:inline-flex;font-size:18px;justify-content:center}.menu-options.grid-choice .menu-option .menu-text{align-items:center;display:inline-flex;line-height:1.2}.menu-options.grid-choice .menu-option.primary{background:linear-gradient(180deg,#e81c23,#c41820);border-color:#e81c23;color:#fff;flex-direction:row;font-weight:600;grid-column:1/-1;padding:14px 20px}.menu-options.grid-choice .menu-option.primary .menu-icon{display:inline;margin-bottom:0;margin-right:8px}.menu-options.grid-choice .menu-option.primary .menu-text{display:inline}.menu-options.grid-choice .menu-option.primary:hover{background:linear-gradient(180deg,#f02028,#d41c24);border-color:#f02028;color:#fff}.menu-options.custom-menu{display:grid;gap:10px}.menu-options.custom-menu.grid-5,.menu-options.custom-menu.grid-6{grid-template-columns:repeat(3,1fr)}.menu-options.custom-menu.grid-4{grid-template-columns:repeat(2,1fr)}.menu-options.custom-menu.grid-3{grid-template-columns:repeat(3,1fr)}.menu-options.custom-menu.grid-2{grid-template-columns:repeat(2,1fr)}.menu-options.custom-menu.binary{gap:12px;grid-template-columns:1fr 1fr}.custom-menu .menu-option{align-items:center;animation:menuFadeIn .2s ease-out both;background:#fff;border:1.5px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 4px rgba(0,0,0,.04);cursor:pointer;display:flex;flex-direction:column;font-family:inherit;justify-content:center;min-height:72px;padding:16px 10px;transition:all .15s ease}@keyframes menuFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.custom-menu .menu-option:hover{border-color:#ccc;box-shadow:0 4px 12px rgba(0,0,0,.1);transform:translateY(-2px)}.custom-menu .menu-option:active{transform:scale(.97)}.custom-menu .menu-option:disabled{cursor:not-allowed;opacity:.6;pointer-events:none}.custom-menu .menu-option:disabled:hover{border-color:#e0e0e0;box-shadow:0 2px 4px rgba(0,0,0,.04);transform:none}.custom-menu .menu-icon{color:#e81c23;font-size:22px;margin-bottom:6px}.custom-menu .menu-icon svg{height:24px;stroke:#e81c23;width:24px}.custom-menu .menu-label{font-size:12px;font-weight:600;line-height:1.2;text-align:center}.custom-menu .menu-sublabel{color:#888;font-size:10px;margin-top:2px;text-align:center}.custom-menu.binary .menu-option{flex-direction:row;justify-content:center;min-height:56px;padding:14px 20px}.custom-menu.binary .menu-option.positive{background:linear-gradient(135deg,#10b981,#059669);border-color:#10b981;color:#fff}.custom-menu.binary .menu-option.positive .menu-label{color:#fff}.custom-menu.binary .menu-option.negative{background:linear-gradient(135deg,#ef4444,#dc2626);border-color:#ef4444;color:#fff}.custom-menu.binary .menu-option.negative .menu-label{color:#fff}.custom-menu .menu-option.selected{background:#e81c23!important;border-color:#e81c23!important;color:#fff!important;transform:scale(.98)}.custom-menu .menu-option .menu-icon{transition:transform .15s ease-out}.custom-menu .menu-option.selected .menu-icon{animation:icon-pop .2s ease-out forwards}@keyframes icon-pop{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1.05)}}.custom-menu .menu-option.selected .menu-icon svg{stroke:#fff!important}.custom-menu .menu-option.selected .menu-label,.custom-menu .menu-option.selected .menu-sublabel{color:#fff!important}.menu-options.multi-option{display:flex;flex-direction:column;gap:0}.menu-expand-trigger{align-items:center;background:linear-gradient(180deg,#fff,#f8f8f8);border:2px solid #e0e0e0;border-radius:12px;color:#1d1f20;cursor:pointer;display:flex;font-family:inherit;font-size:14px;font-weight:500;justify-content:space-between;padding:14px 20px;transition:all .2s ease;width:100%}.menu-expand-trigger:hover{background:linear-gradient(180deg,#f5f5f5,#eee);border-color:#ccc}.menu-expand-trigger .expand-icon{align-items:center;display:flex;transition:transform .2s ease}.menu-options.multi-option .menu-list{background:#fff;border:1px solid #e0e0e0;border-radius:12px;display:flex;flex-direction:column;margin-top:8px;overflow:hidden}.menu-options.multi-option.collapsed .menu-list{display:none}.menu-list-item{align-items:center;background:#fff;border:none;border-bottom:1px solid #f0f0f0;color:#1d1f20;cursor:pointer;display:flex;font-family:inherit;font-size:14px;gap:12px;padding:14px 20px;text-align:left;transition:background .15s ease;width:100%}.menu-list-item:last-child{border-bottom:none}.menu-list-item:hover{background:#f8f8f8}.menu-list-item:active{background:#e81c23;color:#fff}.menu-list-item:active .item-number{background:#fff;color:#e81c23}.menu-list-item .item-number{align-items:center;background:#f0f0f0;border-radius:50%;color:#666;display:flex;flex-shrink:0;font-size:12px;font-weight:600;height:24px;justify-content:center;width:24px}.menu-list-item:hover .item-number{background:#e81c23;color:#fff}.menu-list-item.primary-item{background:#fff5f5}.menu-list-item.primary-item .item-number,.menu-list-item.selected{background:#e81c23;color:#fff}.menu-list-item.selected .item-number{background:#fff;color:#e81c23}.menu-list-item.fading{opacity:.3;pointer-events:none}.menu-options.scrollable-grid{padding:0}.menu-scroll-grid{display:flex;flex-direction:column;gap:8px;max-height:280px;overflow-y:auto;padding:4px 2px;scrollbar-color:#e81c23 #f0f0f0;scrollbar-width:thin}.menu-scroll-grid::-webkit-scrollbar{width:6px}.menu-scroll-grid::-webkit-scrollbar-track{background:#f0f0f0;border-radius:3px}.menu-scroll-grid::-webkit-scrollbar-thumb{background:#e81c23;border-radius:3px}.menu-grid-item{align-items:center;animation:menuFadeIn .2s ease-out both;background:transparent;border:1px solid rgba(0,0,0,.12);border-radius:12px;color:#1d1f20;cursor:pointer;display:flex;font-family:inherit;font-size:13px;gap:10px;min-height:48px;padding:14px 16px;text-align:left;transition:all .2s ease;width:100%}.menu-grid-item:hover{background:rgba(232,28,35,.04);border-color:rgba(232,28,35,.3);box-shadow:0 2px 4px rgba(0,0,0,.08)}.menu-grid-item:active{transform:scale(.98)}.menu-grid-item .grid-icon{align-items:center;color:#e81c23;display:flex;flex-shrink:0;height:24px;justify-content:center;width:24px}.menu-grid-item .grid-icon svg{height:20px;width:20px}.menu-grid-item .grid-number{color:rgba(0,0,0,.5);font-size:12px;font-weight:500;margin-left:auto}.menu-grid-item .grid-text{color:#2d2d2d;flex:1;font-size:13px;font-weight:500;line-height:1.4}.menu-grid-item.selected{background:rgba(232,28,35,.08);border-color:#e81c23;pointer-events:none}.menu-grid-item.selected .grid-icon{color:#e81c23}.menu-grid-item.selected .grid-text{color:#1d1f20}.menu-grid-item.selected .grid-number{color:#e81c23;font-weight:600}.menu-grid-item.fading{opacity:.35;pointer-events:none}.prechat-form{background:#fff;display:none;flex:1;flex-direction:column;overflow-y:auto;padding:24px}.prechat-form.visible{display:flex}.prechat-form h2{color:#1d1f20;font-size:24px;font-weight:700;margin:0 0 24px}.prechat-field{margin-bottom:16px}.prechat-field label{color:#1d1f20;display:block;font-size:14px;font-weight:500;margin-bottom:6px}.prechat-field label .required{color:#e81c23;margin-left:2px}.prechat-field input{border:1px solid #e0e0e0;border-radius:8px;box-sizing:border-box;color:#1d1f20;font-family:inherit;font-size:14px;padding:12px 14px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.prechat-field input:focus{border-color:#1d1f20;box-shadow:0 0 0 2px rgba(29,31,32,.1);outline:none}.prechat-field input::placeholder{color:#999}.prechat-field input.error{border-color:#e81c23}.prechat-submit{background:#1d1f20;border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:inherit;font-size:15px;font-weight:600;margin-top:8px;padding:14px 20px;transition:background .2s ease;width:100%}.prechat-submit:hover{background:#333}.prechat-submit:disabled{background:#ccc;cursor:not-allowed}.location-card{animation:locationCardSlideIn .4s cubic-bezier(.4,0,.2,1);background:#fff;border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.08);margin:12px 0;padding:16px;transition:box-shadow .2s ease,transform .2s ease}.location-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.15),0 2px 6px rgba(0,0,0,.1);transform:translateY(-1px)}@keyframes locationCardSlideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.location-card-header{border-bottom:1px solid #f0f0f0;color:#1a1a1a;font-size:16px;font-weight:600;margin-bottom:14px;padding-bottom:12px}.location-card-row{align-items:flex-start;border-radius:8px;display:flex;gap:12px;padding:10px 0;transition:background-color .2s ease}.location-card-row:hover{background-color:#f8f8f8}.location-card-icon{flex-shrink:0;font-size:18px;text-align:center;width:24px}.location-card-text{color:#444;flex:1;font-size:14px;line-height:1.5}.location-card-actions{border-top:1px solid #f0f0f0;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));margin-top:16px;padding-top:14px}.location-card-action-btn{align-items:center;background:linear-gradient(180deg,#fff,#f8f8f8);border:1px solid #e0e0e0;border-radius:10px;color:#333;cursor:pointer;display:flex;flex-direction:column;font-size:13px;font-weight:500;gap:6px;justify-content:center;padding:12px 8px;transition:all .2s ease;-webkit-tap-highlight-color:transparent}.location-card-action-btn:active{background:linear-gradient(180deg,#f0f0f0,#e8e8e8);transform:scale(.96)}.location-card-action-btn:hover{border-color:#e81c23;box-shadow:0 2px 8px rgba(232,28,35,.15);color:#e81c23}.location-card-btn-icon{font-size:20px}@media (max-width:480px){.location-card{border-radius:10px;margin:8px -4px}.location-card-actions{grid-template-columns:repeat(3,1fr)}.location-card-action-btn{font-size:12px;padding:10px 6px}}@media (prefers-reduced-motion:reduce){.location-card{animation:none}.location-card-action-btn:active,.location-card:hover{transform:none}}