*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--primary: #00897b;--primary-dark: #00695c;--bg: #f5f5f5;--card-bg: #ffffff;--text: #212121;--muted: #757575;--border: #e0e0e0;--radius: 8px;--shadow: 0 2px 8px rgba(0,0,0,.08)}body{font-family:system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);min-height:100vh}header{background:var(--primary);color:#fff;padding:1.5rem 1rem;text-align:center}header h1{font-size:2rem;font-weight:700}.subtitle{margin-top:.25rem;opacity:.85;font-size:.95rem}.btn-logout{position:absolute;top:1.25rem;right:1.25rem;background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.4);border-radius:var(--radius);padding:.35rem .8rem;font-size:.8rem;cursor:pointer}.btn-logout:hover{background:#ffffff40}header{position:relative}main{max-width:960px;margin:0 auto;padding:1.5rem 1rem 3rem}.tabs{display:flex;gap:.5rem;margin-bottom:1.25rem}.tab{padding:.55rem 1.1rem;border:2px solid var(--border);background:var(--card-bg);border-radius:var(--radius);cursor:pointer;font-size:.9rem;font-weight:500;transition:all .15s}.tab.active,.tab:hover{border-color:var(--primary);color:var(--primary)}.tab-content{display:none}.tab-content.active{display:block}.search-box{display:flex;gap:.5rem;margin-bottom:.75rem}.search-box input{flex:1;padding:.7rem 1rem;border:2px solid var(--border);border-radius:var(--radius);font-size:1rem;outline:none;transition:border-color .15s}.search-box input:focus{border-color:var(--primary)}button[type=submit],#btn-batch,#btn-browse{padding:.7rem 1.4rem;background:var(--primary);color:#fff;border:none;border-radius:var(--radius);font-size:1rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s}button:hover:not(:disabled){background:var(--primary-dark)}button:disabled{opacity:.5;cursor:not-allowed}.store-filters{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}.filter-label{font-weight:600;font-size:.9rem}.store-filters label{display:flex;align-items:center;gap:.3rem;font-size:.9rem;cursor:pointer}.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.results-header h2{font-size:1rem;color:var(--muted)}.btn-export{padding:.4rem .9rem;font-size:.85rem;background:#fff;color:var(--primary);border:2px solid var(--primary);border-radius:var(--radius);cursor:pointer;font-weight:600}.btn-export:hover{background:var(--primary);color:#fff}.results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem}.results-table{width:100%;border-collapse:collapse;background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;font-size:.9rem}.results-table thead{background:#f0f0f0}.results-table th{padding:.6rem 1rem;text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600;border-bottom:1px solid var(--border)}.results-table td{padding:.65rem 1rem;border-bottom:1px solid var(--border);vertical-align:middle}.results-table tbody tr:last-child td{border-bottom:none}.results-table tbody tr:hover{background:#fafafa}.col-name a{color:var(--text);text-decoration:none;line-height:1.35}.col-name a:hover{color:var(--primary);text-decoration:underline}.col-price{font-weight:700;color:var(--primary);white-space:nowrap}.col-dev{white-space:nowrap}.dev-above,.dev-below,.dev-avg{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.8rem;font-weight:700}.dev-above{background:#fdecea;color:#c62828}.dev-below{background:#e8f5e9;color:#2e7d32}.dev-avg{background:#f5f5f5;color:var(--muted);font-weight:600}.dev-na{color:var(--muted);font-size:.85rem}.promo-badge{display:inline-block;background:#fdecea;color:#c62828;font-size:.72rem;font-weight:700;padding:.1rem .45rem;border-radius:999px;margin-bottom:.25rem}.price-original{display:block;font-size:.78rem;font-weight:400;color:var(--muted);text-decoration:line-through}.product-card{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s}.product-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.product-img{width:100%;aspect-ratio:1;object-fit:contain;background:#fafafa;padding:.5rem}.product-img-placeholder{width:100%;aspect-ratio:1;background:#f0f0f0;display:flex;align-items:center;justify-content:center;font-size:2.5rem}.product-body{padding:.75rem;flex:1;display:flex;flex-direction:column;gap:.4rem}.product-name{font-size:.875rem;font-weight:600;line-height:1.35;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.product-price{font-size:1.3rem;font-weight:700;color:var(--primary)}.product-store{font-size:.78rem;color:var(--muted);font-weight:500}.product-link{margin-top:auto;padding:.45rem;text-align:center;background:var(--primary);color:#fff;text-decoration:none;border-radius:calc(var(--radius) - 2px);font-size:.82rem;font-weight:600;transition:background .15s}.product-link:hover{background:var(--primary-dark)}.badge{display:inline-block;padding:.15rem .45rem;border-radius:999px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.badge-salcobrand{background:#fde8e8;color:#b91c1c}.badge-cruzverde{background:#d4edda;color:#155724}.badge-ahumada{background:#cce5ff;color:#004085}.badge-drsimi{background:#fff3cd;color:#856404}.store-label-disabled{opacity:.45;cursor:not-allowed}.store-label-disabled input{cursor:not-allowed}.store-label-disabled .store-note{font-size:.7rem;color:#00897b;margin-left:.2rem}.spinner{display:flex;justify-content:center;padding:3rem 0}.spinner:after{content:"";width:2.5rem;height:2.5rem;border:4px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.spinner-inline{display:inline-block;width:.8rem;height:.8rem;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite;vertical-align:middle;margin-right:.4rem}.pending-banner{background:#e0f2f1;border:1px solid var(--primary);border-radius:var(--radius);padding:.6rem 1rem;margin-bottom:1rem;font-size:.875rem;color:var(--primary-dark)}.empty-state{text-align:center;padding:3rem 0;color:var(--muted)}.empty-state p{margin-top:.5rem;font-size:.9rem}.error-banner{background:#fff3cd;border:1px solid #ffc107;border-radius:var(--radius);padding:.75rem 1rem;margin-bottom:1rem;font-size:.875rem}.search-history{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.75rem;min-height:0}.history-chip{background:var(--card-bg);border:1px solid var(--border);border-radius:999px;padding:.2rem .75rem;font-size:.8rem;cursor:pointer;transition:border-color .15s,color .15s;white-space:nowrap}.history-chip:hover{border-color:var(--primary);color:var(--primary);background:var(--card-bg)}.batch-options{margin-bottom:.5rem}.batch-option-row{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}select{padding:.3rem .5rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.9rem;background:var(--card-bg);cursor:pointer}.batch-progress{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem 1.25rem;margin-bottom:1rem}.progress-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.5rem;font-size:.875rem;font-weight:600}.progress-query{color:var(--muted);font-weight:400;font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:55%}.progress-track{background:var(--border);border-radius:999px;height:6px;overflow:hidden}.progress-fill{background:var(--primary);height:100%;border-radius:999px;width:0%;transition:width .35s ease}.batch-box{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem;margin-bottom:1.5rem}.batch-box p{margin-bottom:.5rem;font-size:.9rem}.example-csv{background:#f8f8f8;border:1px solid var(--border);border-radius:4px;padding:.5rem .75rem;font-size:.8rem;margin-bottom:1rem;color:var(--muted)}.upload-area{border:2px dashed var(--border);border-radius:var(--radius);padding:1.5rem;text-align:center;margin-bottom:1rem;transition:border-color .15s}.upload-area.drag-over{border-color:var(--primary);background:#e0f2f1}.file-name{margin-top:.5rem;font-size:.85rem;color:var(--primary);font-weight:600}#btn-batch{width:100%;margin-top:.5rem}.batch-query-block{margin-bottom:2rem}.batch-query-block h3{font-size:1rem;padding:.5rem .75rem;background:#f5f5f5;border-left:4px solid var(--primary);margin-bottom:.75rem;border-radius:0 4px 4px 0}
