:root{--bg-base: #f8fafc;--bg-light: #f1f5f9;--card-bg: rgba(255, 255, 255, .88);--border-color: rgba(15, 23, 42, .06);--border-hover: rgba(14, 165, 233, .3);--text-primary: #0f172a;--text-secondary: #475569;--text-light: #94a3b8;--accent-teal: #0d9488;--accent-sky: #0ea5e9;--gradient-primary: linear-gradient(135deg, #0ea5e9 0%, #0d9488 100%);--gradient-primary-hover: linear-gradient(135deg, #0284c7 0%, #0f766e 100%);--gradient-glow: rgba(14, 165, 233, .1);--accent-red: #f43f5e;--accent-red-hover: #e11d48;--gradient-savings: linear-gradient(135deg, #f43f5e 0%, #be123c 100%);--accent-red-glow: rgba(244, 63, 94, .08);--accent-amber: #d97706;--accent-amber-glow: rgba(217, 119, 6, .06);--success: #10b981;--success-glow: rgba(16, 185, 129, .06);--font-heading: "Outfit", "Inter", sans-serif;--font-body: "Inter", sans-serif;--shadow-premium: 0 20px 40px -15px rgba(15, 23, 42, .05), 0 0 0 1px rgba(15, 23, 42, .03);--shadow-hover: 0 30px 60px -20px rgba(14, 165, 233, .15), 0 0 0 1px rgba(14, 165, 233, .1);--transition-smooth: all .4s cubic-bezier(.16, 1, .3, 1);--glass-blur: blur(16px)}*{margin:0;padding:0;box-sizing:border-box;-webkit-font-smoothing:antialiased}body{background-color:var(--bg-base);color:var(--text-primary);font-family:var(--font-body);line-height:1.6;min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden;position:relative}.bg-grid{position:fixed;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(rgba(14,165,233,.008) 1px,transparent 1px),linear-gradient(90deg,rgba(14,165,233,.008) 1px,transparent 1px);background-size:50px 50px;z-index:-2;pointer-events:none}.ambient-glow{position:fixed;width:500px;height:500px;border-radius:50%;filter:blur(100px);opacity:.18;z-index:-1;pointer-events:none;animation:pulse-glow 15s infinite alternate ease-in-out}.glow-1{top:-150px;right:-100px;background:radial-gradient(circle,#0ea5e9,#0d948833)}.glow-2{bottom:-200px;left:-150px;background:radial-gradient(circle,#f43f5e,#0d94881a);animation-delay:-5s}@keyframes pulse-glow{0%{transform:scale(1) translate(0);opacity:.15}to{transform:scale(1.15) translate(30px,40px);opacity:.22}}.app-container{max-width:560px;width:100%;margin:40px auto;padding:0 16px;display:flex;flex-direction:column;flex:1;z-index:1}.app-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:20px;margin-bottom:30px;border-bottom:1px solid rgba(15,23,42,.04)}.brand-area{display:flex;align-items:center;gap:12px}.brand-icon{width:38px;height:38px;background:var(--gradient-primary);color:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-weight:800;font-size:22px;box-shadow:0 8px 16px -4px #0ea5e94d}.brand-text{display:flex;flex-direction:column}.brand-name{font-family:var(--font-heading);font-size:22px;font-weight:800;letter-spacing:-.03em;color:var(--text-primary);line-height:1.1}.brand-name span{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.brand-sub{font-size:9px;color:var(--text-secondary);font-weight:700;letter-spacing:.08em;margin-top:2px;opacity:.8}.tag-beta{background:#0ea5e90f;color:var(--accent-sky);font-size:10px;font-weight:700;padding:4px 10px;border-radius:9999px;border:1px solid rgba(14,165,233,.12)}.workspace-card{background:var(--card-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-color);border-radius:24px;padding:28px 24px;box-shadow:var(--shadow-premium);margin-bottom:24px;transition:var(--transition-smooth);position:relative;overflow:hidden}.workspace-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-hover)}.card-title{font-family:var(--font-heading);font-size:18px;font-weight:700;margin-bottom:6px;color:var(--text-primary);display:flex;align-items:center;gap:8px;letter-spacing:-.01em}.card-subtitle{font-size:13px;color:var(--text-secondary);margin-bottom:24px;line-height:1.5}.drop-zone{border:2px dashed rgba(14,165,233,.2);border-radius:16px;padding:38px 20px;text-align:center;background:#0ea5e905;cursor:pointer;transition:var(--transition-smooth);position:relative}.drop-zone:hover,.drop-zone.dragover{border-color:var(--accent-sky);background:#0ea5e90d;transform:scale(1.01)}.drop-zone-content{display:flex;flex-direction:column;align-items:center;pointer-events:none}.upload-icon{width:46px;height:46px;color:var(--accent-sky);margin-bottom:14px;transition:var(--transition-smooth);opacity:.85}.drop-zone:hover .upload-icon{transform:translateY(-4px);opacity:1}.main-upload-text{font-size:14px;font-weight:600;color:var(--text-primary);line-height:1.4}.main-upload-text span{color:var(--accent-sky);text-decoration:none;border-bottom:2px solid rgba(14,165,233,.2);padding-bottom:1px}.sub-upload-text{font-size:11.5px;color:var(--text-light);margin-top:6px}.file-input{display:none}.supported-badge-row{display:flex;gap:8px;margin-top:18px;justify-content:center;flex-wrap:wrap}.store-badge{font-size:9.5px;font-weight:700;padding:4px 12px;border-radius:9999px;background:#ffffffe6;border:1px solid rgba(15,23,42,.05);color:var(--text-secondary);box-shadow:0 2px 4px #00000005}.store-badge.memed{color:#4f46e5;background:#4f46e50d;border-color:#4f46e51f}.or-divider{display:flex;align-items:center;width:100%;margin:22px 0;color:var(--text-light);font-size:11px;font-weight:700;letter-spacing:.05em}.or-divider:before,.or-divider:after{content:"";flex:1;height:1px;background:#0f172a0d}.or-divider span{padding:0 14px}.form-grid{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:8px;text-align:left}.form-group label{font-size:12px;font-weight:700;color:var(--text-secondary);letter-spacing:.01em}.select-input,.text-input{width:100%;padding:13px 16px;border:1px solid rgba(15,23,42,.08);border-radius:12px;font-size:14px;font-family:inherit;color:var(--text-primary);background:#fff;outline:none;box-shadow:inset 0 2px 4px #00000003;transition:var(--transition-smooth)}.select-input:focus,.text-input:focus{border-color:var(--accent-sky);box-shadow:0 0 0 4px #0ea5e914,inset 0 2px 4px #00000003}.row-inputs{display:grid;grid-template-columns:1fr 1fr;gap:16px}.control-slider-group{display:flex;flex-direction:column;gap:8px}.slider-header{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:700;color:var(--text-secondary)}.slider-value{color:#fff;background:var(--gradient-primary);padding:2px 10px;border-radius:50px;font-size:10.5px;font-weight:700;box-shadow:0 4px 10px -2px #0ea5e94d}.slider-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:8px;border-radius:99px;background:#0f172a0a;outline:none;cursor:pointer;margin:8px 0}.slider-input::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:#fff;border:4px solid var(--accent-teal);box-shadow:0 4px 10px #0000001a;transition:transform .2s cubic-bezier(.175,.885,.32,1.275)}.slider-input::-webkit-slider-thumb:hover{transform:scale(1.2)}.slider-label-row{display:flex;justify-content:space-between;font-size:9.5px;font-weight:700;color:var(--text-light);letter-spacing:.02em;margin-top:2px}.shimmer-container{padding:40px 20px;display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center}.shimmer-line{width:75%;height:16px;border-radius:6px;background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0,#f1f5f9 75%);background-size:200% 100%;animation:shimmer-pulse 1.4s infinite linear}.shimmer-line.short{width:45%}.shimmer-line.large{width:90%;height:48px;border-radius:14px}@keyframes shimmer-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.shimmer-text{font-size:14px;font-weight:700;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:text-pulse 1.2s infinite alternate ease-in-out}@keyframes text-pulse{0%{opacity:.6}to{opacity:1}}.results-header{border-bottom:1px solid rgba(15,23,42,.05);padding-bottom:18px;margin-bottom:22px}.results-meta{display:flex;justify-content:space-between;align-items:center}.results-badge-name{font-family:var(--font-heading);font-weight:700;font-size:16px;color:var(--text-primary)}.results-badge-count{font-weight:700;font-size:11px;background:#0ea5e90f;color:var(--accent-sky);padding:4px 12px;border-radius:50px;border:1px solid rgba(14,165,233,.1)}.options-grid{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.option-card{border:1px solid rgba(15,23,42,.05);border-radius:18px;padding:20px;background:#ffffffb3;transition:var(--transition-smooth);position:relative;box-shadow:0 4px 20px #00000003}.option-card.cheapest{border-color:#0d948840;background:linear-gradient(180deg,#fffffff2,#ccfbf126);box-shadow:0 10px 30px -10px #0d94881a,0 0 0 1px #0d94880d}.option-card.brand-baseline{background:#0f172a05;border-color:#0f172a0a}.option-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.option-title{font-family:var(--font-heading);font-size:12px;font-weight:800;color:var(--text-primary);letter-spacing:.04em}.option-card.cheapest .option-title{color:var(--accent-teal)}.option-badge{font-size:9px;font-weight:800;padding:3px 10px;border-radius:50px;letter-spacing:.02em;text-transform:uppercase}.option-card.cheapest .option-badge{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 8px -2px #0ea5e940}.option-card.brand-baseline .option-badge{background:var(--text-light);color:#fff}.option-price-row{display:flex;justify-content:space-between;align-items:baseline}.option-price{font-family:var(--font-heading);font-size:24px;font-weight:800;color:var(--text-primary);letter-spacing:-.02em}.option-card.cheapest .option-price{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.option-price-desc{font-size:11.5px;color:var(--text-secondary);font-weight:500}.option-desc{font-size:12px;color:var(--text-secondary);line-height:1.6;margin-top:14px;border-top:1px solid rgba(15,23,42,.04);padding-top:12px}.option-desc strong{color:var(--text-primary);font-weight:700}.savings-banner{background:var(--gradient-savings);border:none;border-radius:20px;padding:22px;text-align:center;color:#fff;margin-bottom:24px;box-shadow:0 12px 30px -8px #f43f5e59;animation:scale-up-glow .5s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.savings-banner:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.15) 0%,transparent 60%);pointer-events:none}@keyframes scale-up-glow{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}.savings-label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#ffffffe6;margin-bottom:6px}.savings-value{font-family:var(--font-heading);font-size:32px;font-weight:800;line-height:1.1;letter-spacing:-.03em;text-shadow:0 2px 10px rgba(0,0,0,.1)}.savings-desc{font-size:12px;color:#ffffffd9;margin-top:6px;font-weight:500}.savings-desc strong{color:#fff;text-decoration:underline}.btn-cta-group{display:flex;flex-direction:column;gap:12px}.btn-main-red{width:100%;background:var(--gradient-savings);color:#fff;border:none;padding:15px;border-radius:14px;font-size:14px;font-family:var(--font-heading);font-weight:700;cursor:pointer;box-shadow:0 10px 25px -5px #f43f5e4d;transition:var(--transition-smooth);text-align:center;text-decoration:none;display:inline-block}.btn-main-red:hover{background:linear-gradient(135deg,#e11d48,#9f1239);box-shadow:0 15px 30px -5px #f43f5e66;transform:translateY(-2px)}.btn-main-red:active{transform:translateY(0)}.btn-share-whatsapp{width:100%;background:#fff;border:1px solid rgba(15,23,42,.08);color:var(--accent-teal);padding:15px;border-radius:14px;font-size:14px;font-family:var(--font-heading);font-weight:700;cursor:pointer;transition:var(--transition-smooth);text-align:center;display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;box-shadow:0 4px 12px #00000003}.btn-share-whatsapp:hover{background:#0d94880a;border-color:#0d948826;color:var(--accent-teal-hover);transform:translateY(-2px)}.btn-share-whatsapp:active{transform:translateY(0)}.btn-reset{background:transparent;border:none;color:var(--text-light);font-size:12px;font-weight:700;cursor:pointer;margin-top:18px;text-decoration:underline;text-underline-offset:3px;transition:color .2s ease;align-self:center}.btn-reset:hover{color:var(--text-primary)}.warning-box{background:var(--accent-amber-glow);border:1px solid rgba(217,119,6,.12);border-radius:16px;padding:14px 18px;font-size:12px;color:#b45309;line-height:1.6;text-align:left;display:flex;gap:12px;margin-bottom:24px}.warning-box strong{color:#92400e;font-weight:700}.app-footer{margin-top:auto;padding:40px 0 20px;border-top:1px solid rgba(15,23,42,.04);text-align:center;display:flex;flex-direction:column;gap:12px}.privacy-guarantee{font-size:12px;color:var(--text-secondary);line-height:1.6;max-width:440px;margin:0 auto}.privacy-guarantee strong{color:var(--accent-teal)}.copyright{font-size:10.5px;color:var(--text-light);font-weight:500}.store-row-card{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-radius:12px;border:1px solid rgba(15,23,42,.05);background:#fff;cursor:pointer;transition:var(--transition-smooth);text-align:left}.store-row-card:hover{border-color:var(--accent-sky);transform:translateY(-1px);box-shadow:0 4px 12px #0ea5e90a}.store-row-card.selected{border-color:var(--accent-teal);background:#0d948808;box-shadow:0 4px 15px #0d94880f,inset 0 0 0 1px #0d94880d}.store-info-col{display:flex;flex-direction:column;gap:2px}.store-name-line{font-size:13px;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:6px}.store-dist-line{font-size:11px;color:var(--text-secondary)}.partner-tag{font-size:8px;font-weight:800;background:linear-gradient(135deg,#d97706,#b45309);color:#fff;padding:1px 6px;border-radius:4px;letter-spacing:.03em;text-transform:uppercase;box-shadow:0 2px 5px #d9770633}.store-price-col{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.store-price-value{font-size:14.5px;font-weight:800;color:var(--text-primary)}.store-row-card.selected .store-price-value{color:var(--accent-teal)}.store-price-badge{font-size:8px;font-weight:800;padding:1px 5px;border-radius:30px}.store-price-badge.cheapest{background:#10b98114;color:var(--success)}.store-price-badge.standard{background:#0f172a0a;color:var(--text-secondary)}.leaflet-div-icon{background:transparent!important;border:none!important}.centered-input-group{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:240px;margin:0 auto;width:100%}.text-input-center{text-align:center}.or-divider-mini{display:flex;align-items:center;width:100%;margin:14px 0;color:var(--text-light);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.or-divider-mini:before,.or-divider-mini:after{content:"";flex:1;height:1px;background:#0f172a0d}.or-divider-mini span{padding:0 10px}.integrated-dose-section{display:flex;flex-direction:column;gap:16px;background:#0f172a05;border:1px solid rgba(15,23,42,.04);padding:18px;border-radius:16px}.distribution-row-updated{display:flex;gap:12px;align-items:center;width:100%}.distribution-num-input-updated{width:80px!important;text-align:center;padding:13px 8px!important;flex-shrink:0}.distribution-unit-selector-updated{display:flex;flex-direction:column;gap:4px;flex-shrink:0}.distribution-text-card{flex:1;display:flex;align-items:center;justify-content:center;background:#0ea5e90a;border:1px solid rgba(14,165,233,.1);padding:10px 14px;border-radius:12px;height:48px;min-width:160px;box-shadow:0 2px 8px #0ea5e905}.distribution-text-updated{font-size:13px;font-weight:700;color:var(--accent-teal);white-space:nowrap;text-align:center}.radio-label{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;color:var(--text-secondary);cursor:pointer;position:relative;-webkit-user-select:none;user-select:none}.radio-label input[type=radio]{position:absolute;opacity:0;cursor:pointer;width:0;height:0}.custom-radio{width:18px;height:18px;border:2px solid rgba(15,23,42,.2);border-radius:50%;display:inline-block;position:relative;background:#fff;transition:var(--transition-smooth)}.radio-label:hover .custom-radio{border-color:var(--accent-teal)}.radio-label input[type=radio]:checked~.custom-radio{border-color:#10b981;background:#10b981}.custom-radio:after{content:"";position:absolute;display:none;top:4px;left:4px;width:6px;height:6px;border-radius:50%;background:#fff}.radio-label input[type=radio]:checked~.custom-radio:after{display:block}.radio-label .label-text{font-family:var(--font-body)}
