:root{--oxxo-red:#e20613;--oxxo-yellow:#ffb612;--andatti-brown:#5c3c21;--andatti-light:#f4ece3;--bg-color:#f8f9fa;--text-dark:#2b2b2b;--text-light:#fff;--card-bg:#fff;--shadow-sm:0 2px 8px #00000014;--shadow-md:0 4px 16px #0000001f;--radius-sm:8px;--radius-md:16px;--radius-lg:24px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-dark);font-family:Outfit,sans-serif;line-height:1.6}.header{background:linear-gradient(135deg, var(--oxxo-red) 0%, #b00000 100%);color:var(--text-light);text-align:center;box-shadow:var(--shadow-md);z-index:1000;padding:1.5rem 1rem;position:sticky;top:0}.header h1{justify-content:center;align-items:center;gap:.5rem;margin-bottom:.2rem;font-size:2rem;font-weight:700;display:flex}.brand-andatti{color:var(--oxxo-yellow);font-style:italic;font-weight:800}.header p{opacity:.9;font-size:1rem}.main-content{flex-direction:column;gap:1.5rem;max-width:800px;margin:0 auto;padding:1rem;display:flex}.controls-panel{background:var(--card-bg);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex-direction:column;gap:1.5rem;padding:1.5rem;display:flex}.radius-control{flex-direction:column;gap:.5rem;display:flex}.radius-control label{color:var(--text-dark);justify-content:space-between;font-weight:600;display:flex}#radius-value{color:var(--oxxo-red);font-weight:700}input[type=range]{width:100%;accent-color:var(--oxxo-red)}.btn-primary{background-color:var(--andatti-brown);color:var(--text-light);border-radius:var(--radius-sm);cursor:pointer;box-shadow:var(--shadow-sm);border:none;justify-content:center;align-items:center;gap:.5rem;padding:1rem;font-size:1.1rem;font-weight:600;transition:all .3s;display:flex}.btn-primary:hover{box-shadow:var(--shadow-md);background-color:#4a301a;transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.map-container{border-radius:var(--radius-md);height:60vh;min-height:400px;box-shadow:var(--shadow-md);border:4px solid var(--card-bg);position:relative;overflow:hidden}#map{z-index:1;width:100%;height:100%}#loading-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fffc;flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex;position:absolute;inset:0}#loading-overlay.hidden{display:none}.spinner{border:4px solid var(--andatti-light);border-top:4px solid var(--oxxo-red);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.legend{background:var(--card-bg);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);justify-content:center;gap:1.5rem;padding:1rem;display:flex}.legend-item{align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;display:flex}.legend-icon{border-radius:50%;width:16px;height:16px;display:inline-block}.active-icon{background-color:var(--andatti-brown);border:2px solid var(--oxxo-yellow)}.inactive-icon{background-color:#a0a0a0;border:2px solid #fff}.custom-marker{background:var(--card-bg);box-shadow:var(--shadow-sm);border-radius:50%;justify-content:center;align-items:center;display:flex}.custom-marker.frio-marker{background-color:var(--andatti-brown);border:3px solid var(--oxxo-yellow);color:var(--text-light);font-weight:700}.custom-marker.nofrio-marker{opacity:.8;background-color:#a0a0a0;border:3px solid #fff}.results-panel{background:var(--card-bg);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:1.5rem}.results-panel h2{color:var(--andatti-brown);border-bottom:2px solid var(--andatti-light);margin-bottom:1rem;padding-bottom:.5rem;font-size:1.25rem}#results-list{flex-direction:column;gap:.8rem;list-style:none;display:flex}.empty-state{text-align:center;color:#666;padding:1rem 0;font-style:italic}.store-card{border-radius:var(--radius-sm);background:var(--bg-color);border-left:4px solid var(--oxxo-red);justify-content:space-between;align-items:center;padding:1rem;transition:transform .2s;display:flex}.store-card.has-frio{border-left-color:var(--andatti-brown);background:var(--andatti-light)}.store-card:hover{transform:translate(4px)}.store-info h3{margin-bottom:.2rem;font-size:1rem}.store-dist{color:#666;font-size:.85rem;font-weight:600}.frio-badge{background:var(--andatti-brown);color:var(--oxxo-yellow);text-transform:uppercase;border-radius:12px;padding:.2rem .5rem;font-size:.75rem;font-weight:700}.header{position:relative}.btn-admin{color:#fff;cursor:pointer;z-index:10000;background:0 0;border:1px solid #ffffff80;border-radius:20px;padding:.75rem 1.25rem;font-weight:600;transition:all .2s;position:absolute;top:1.5rem;right:1rem}.btn-admin:hover{background:#ffffff1a}.modal{z-index:2000;background:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal.hidden{display:none}.modal-content{background:var(--bg-color);border-radius:var(--radius-md);width:100%;max-width:800px;max-height:90vh;box-shadow:var(--shadow-md);flex-direction:column;display:flex;overflow:hidden}.modal-header{background:var(--card-bg);border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.btn-close{cursor:pointer;color:#666;background:0 0;border:none;font-size:1.5rem}.admin-actions{background:var(--card-bg);border-bottom:1px solid #e0e0e0;padding:1.5rem}.add-store-form{flex-direction:column;gap:1rem;display:flex}.form-row{gap:1rem;display:flex}.form-row input[type=text],.form-row input[type=number]{border-radius:var(--radius-sm);border:1px solid #ccc;flex:1;padding:.5rem;font-family:inherit}.checkbox-row{justify-content:space-between;align-items:center}.btn-secondary{color:#fff;border-radius:var(--radius-sm);cursor:pointer;background:#666;border:none;padding:.5rem 1rem;font-weight:700}.table-container{flex:1;padding:1rem;overflow-y:auto}#admin-table{border-collapse:collapse;background:#fff;width:100%}#admin-table th,#admin-table td{text-align:left;border-bottom:1px solid #eee;padding:.75rem}#admin-table th{background:#f4f4f4;font-weight:700;position:sticky;top:0}.toggle-btn{cursor:pointer;border:none;border-radius:12px;padding:.25rem .75rem;font-size:.8rem;font-weight:700}.toggle-btn.on{background:var(--oxxo-yellow);color:var(--andatti-brown)}.toggle-btn.off{color:#666;background:#ddd}.modal-footer{background:var(--card-bg);border-top:1px solid #e0e0e0;justify-content:flex-end;padding:1rem;display:flex}
